James Almer
3f31726994
avcodec/options: remove dead test code
...
It's been unused since 5d48e4eafa6c4559683892b8638d10508125f3cf.
Signed-off-by: James Almer <jamrial@gmail.com>
2019-05-17 12:48:24 -03:00
Derek Buitenhuis
500a9bb5ba
lavc/options: Remove unneeded header
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-01-03 13:00:06 -05:00
James Almer
cac8de2da5
avcodec/options: do a more thorough clean up in avcodec_copy_context()
...
Free coded_frame, coded_side_data and unref hw_device_ctx to prevent
potential leaks.
Reviewed-by: Aaron Levinson <alevinsn@aracnet.com>
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 23:18:05 -03:00
James Almer
54a4c9b4e9
avcodec/options: factorize avcodec_copy_context() cleanup code
...
Reviewed-by: Aaron Levinson <alevinsn@aracnet.com>
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-30 23:18:04 -03:00
Clément Bœsch
8d2d817098
Merge commit 'd59641abfd25a1007bdf4723d952887b1e3619c6'
...
* commit 'd59641abfd25a1007bdf4723d952887b1e3619c6':
lavc: initialize AVCodecContext.sw_pix_fmt properly
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-12 13:20:57 +01:00
Anton Khirnov
d59641abfd
lavc: initialize AVCodecContext.sw_pix_fmt properly
...
Currently it's memset to 0, which is YUV420P. It should be initialized
to none.
2016-07-22 19:08:13 +02:00
Hendrik Leppkes
2c1d0f871f
Merge commit '24b5cff01bbac4e08acfd6d19c499e880988f520'
...
* commit '24b5cff01bbac4e08acfd6d19c499e880988f520':
lavc: handle hw_frames_ctx where necessary
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-26 15:20:43 +02:00
Hendrik Leppkes
69c38d64d7
Merge commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f'
...
* commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f':
lavc: deprecate avcodec_get_context_defaults3()
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-26 14:34:53 +02:00
Hendrik Leppkes
6988cf2969
Merge commit '5f30ac27795f9f98043e8582ccaad8813104adc4'
...
* commit '5f30ac27795f9f98043e8582ccaad8813104adc4':
lavc: deprecate avcodec_copy_context()
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-26 14:34:02 +02:00
Andrey Turkin
24b5cff01b
lavc: handle hw_frames_ctx where necessary
...
avcodec_copy_context() didn't handle hw_frames_ctx references correctly
which could cause crashes.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-26 15:40:05 +02:00
Anton Khirnov
04fc8e24a0
lavc: deprecate avcodec_get_context_defaults3()
...
This function is supposed to "reset" a codec context to a clean state so
that it can be opened again. The only reason it exists is to allow using
AVStream.codec as a decoding context (after it was already
opened/used/closed by avformat_find_stream_info()). Since that behaviour
is now deprecated, there is no reason for this function to exist
anymore.
2016-05-23 06:46:17 +02:00
Anton Khirnov
5f30ac2779
lavc: deprecate avcodec_copy_context()
...
Since AVCodecContext contains a lot of complex state, copying a codec
context is not a well-defined operation. The purpose for which it is
typically used (which is well-defined) is copying the stream parameters
from one codec context to another. That is now possible with through the
AVCodecParameters API. Therefore, there is no reason for
avcodec_copy_context() to exist.
2016-05-23 06:46:17 +02:00
Michael Niedermayer
845fb3d4a5
avcodec/options: Make dummy_v?_encoder static
...
It does not need to be non static
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 12:02:07 +02:00
Michael Niedermayer
a368920eef
avcodec/options: Silence deprecated warning about coded_frame
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-06 12:39:37 +02:00
Michael Niedermayer
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 23:15:19 +02:00
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
James Almer
3e46c7dbbe
avcodec/options-test: don't alloc avctx->coded_frame
...
It's done automatically by avcodec_open2() now.
Fixes memleaks in fate-libavcodec-options.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-07-21 13:03:25 -03:00
Vittorio Giovara
f046c3b5ac
lavc: Move deprecation warning disabling to files including the table
...
Unbreak build from 7a5902c556d84a367dd64a003a4e7244fc3a73d1.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-03 21:02:50 +02:00
Michael Niedermayer
3b03186d56
Merge commit 'f046c3b5ac36848cce824b008e0347c621523041'
...
* commit 'f046c3b5ac36848cce824b008e0347c621523041':
lavc: Move deprecation warning disabling to files including the table
lavc: Disable deprectation warnings coming from options table
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 21:40:47 +02:00
Lukasz Marek
72732307d9
lavc/options: add test for avcodec_copy_context
...
This test doesn't cover every possible issue with this function.
It covers options management only.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-08 23:14:29 +01:00
Lukasz Marek
8616c5b75a
lavc/options: fix leaks in avcodec_copy_context
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 01:01:15 +01:00
Lukasz Marek
53b2809f2c
lavc/options: don't copy priv context when it is not AVOption object
...
This prevents potential crash when opt API is used without a class.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 00:05:18 +01:00
Lukasz Marek
345cfd04d0
lavc/options: fix leaks in avcodec_free_context
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-26 23:32:33 +01:00
Lukasz Marek
7d75a399a4
lavc/options: fix rc_eq leak
...
rc_eq is an option, so it is copied by av_opt_copy(dest, src); above.
2014-11-21 01:19:53 +01:00
Vadim Kalinsky
d1d3904273
avcodec/options: Set AVCodecContext->codec upon initialization.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 18:46:30 +01:00
Lukasz Marek
01974a58df
lavc/options: initialize pkt_timebase
...
It's default in option_table.h is 0, but without this fix it is represented as 0/0.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
4a30277a59
lavc/options: set timecode_frame_start to -1 as option default
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
db2caf0a80
lavc/options: fix shallow copy context
...
avcodec_copy_context leaves shallow copy of string/binary/dict options.
Double free/accessing freed memory may occur.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-09 17:56:08 +01:00
Michael Niedermayer
ec8f56efad
Merge commit 'a75c2eb25a62105c09b48521aef429dc8a231637'
...
* commit 'a75c2eb25a62105c09b48521aef429dc8a231637':
lavc: make rc_eq into private options of mpegvideo encoders
Conflicts:
libavcodec/options_table.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:06:15 +02:00
Anton Khirnov
a75c2eb25a
lavc: make rc_eq into private options of mpegvideo encoders
2014-10-18 05:23:51 +02:00
Michael Niedermayer
17085a0251
Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'
...
* commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41':
lavc: deprecate the use of AVCodecContext.time_base for decoding
Conflicts:
libavcodec/avcodec.h
libavcodec/h264.c
libavcodec/mpegvideo_parser.c
libavcodec/utils.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:49:31 +02:00
Anton Khirnov
7ea1b3472a
lavc: deprecate the use of AVCodecContext.time_base for decoding
...
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Michael Niedermayer
fb33bff990
Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
...
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
cosmetics: Write NULL pointer equality checks more compactly
Conflicts:
cmdutils.c
ffmpeg_opt.c
ffplay.c
libavcodec/dvbsub.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/dxa.c
libavcodec/libxvid_rc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/vc1dec.c
libavcodec/zmbv.c
libavdevice/v4l2.c
libavformat/matroskadec.c
libavformat/movenc.c
libavformat/sdp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Michael Niedermayer
8b686c886c
avcodec/options: use av_opt_copy() in avcodec_copy_context() to copy priv_data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:50:08 +02:00
Michael Niedermayer
e0d0745560
avcodec/options: leave priv_data in avcodec_copy_context() intact
...
previously it was freed but the pointer not cleared
Found-by: ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 21:24:55 +02:00
Michael Niedermayer
68c05185e2
Merge commit 'fd056029f45a9f6d213d9fce8165632042511d4f'
...
* commit 'fd056029f45a9f6d213d9fce8165632042511d4f':
lavc: add avcodec_free_context().
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 13:00:50 +02:00
Anton Khirnov
fd056029f4
lavc: add avcodec_free_context().
...
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.
The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
2014-05-18 10:17:41 +02:00
Michael Niedermayer
97f856a4c2
avcodec/options: avcodec_copy_context() Check subtitle_header_size instead of setting it
...
The value is already copied in the generic code so it should always match
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:41:38 +02:00
Michael Niedermayer
098a699867
Merge commit '3b2fbe67bd63b00331db2a9b213f6d420418a312'
...
* commit '3b2fbe67bd63b00331db2a9b213f6d420418a312':
lavc: properly handle subtitle_header in avcodec_copy_context()
Conflicts:
libavcodec/options.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:39:06 +02:00
Michael Niedermayer
9b7cb02319
Merge commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973'
...
* commit 'efc7df6c1f11b20a48e60c3f743ce2331b661973':
lavc: preserve the original private data in avcodec_copy_context()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:32:44 +02:00
Anton Khirnov
3b2fbe67bd
lavc: properly handle subtitle_header in avcodec_copy_context()
2014-05-15 07:51:39 +02:00
Anton Khirnov
efc7df6c1f
lavc: preserve the original private data in avcodec_copy_context()
...
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
2014-05-15 07:51:16 +02:00
Michael Niedermayer
3fc26d8073
Merge commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12'
...
* commit '38ecc3702dabbea09230f6d6333f59e74f5d1c12':
pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
Conflicts:
libavcodec/internal.h
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-04 11:14:38 +01:00
Anton Khirnov
38ecc3702d
pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
...
It's a private field, it should not be visible to callers.
Deprecate AVCodecContext.thread_opaque
2013-11-04 08:51:26 +01:00
Stefano Sabatini
d3397c3e82
lavc: remove dead FF_API_ALLOC_CONTEXT API
2013-11-03 17:58:44 +01:00
Michael Niedermayer
cba9a40d47
avcodec: free priv_data in avcodec_copy_context()
...
Fixes memleak
Fixes Ticket2216
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
a8e963835a
Merge commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e'
...
* commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e':
Give less generic names to global library option arrays
Conflicts:
libavcodec/options_table.h
libavfilter/avfilter.c
libavformat/options_table.h
libswscale/options.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:16:36 +02:00
Diego Biurrun
b5a138652f
Give less generic names to global library option arrays
2013-08-02 19:19:02 +02:00
Nicolas George
ceb33f3aee
lavc: copy subtitle_header when copying context.
...
Fix trac ticket #2489 .
2013-05-01 11:56:34 +02:00