500a9bb5ba
lavc/options: Remove unneeded header
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2018-01-03 13:00:06 -05:00
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
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
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
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
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
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
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
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
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
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
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
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
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
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:59 +01:00
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
f046c3b5ac
lavc: Move deprecation warning disabling to files including the table
...
Unbreak build from 7a5902c556
.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-07-03 21:02:50 +02:00
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
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
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
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
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
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
d1d3904273
avcodec/options: Set AVCodecContext->codec upon initialization.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-11-18 18:46:30 +01:00
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
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
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
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
a75c2eb25a
lavc: make rc_eq into private options of mpegvideo encoders
2014-10-18 05:23:51 +02:00
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
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
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
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
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
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
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
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
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
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
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
3b2fbe67bd
lavc: properly handle subtitle_header in avcodec_copy_context()
2014-05-15 07:51:39 +02:00
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
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
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
d3397c3e82
lavc: remove dead FF_API_ALLOC_CONTEXT API
2013-11-03 17:58:44 +01:00
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
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
b5a138652f
Give less generic names to global library option arrays
2013-08-02 19:19:02 +02:00
ceb33f3aee
lavc: copy subtitle_header when copying context.
...
Fix trac ticket #2489 .
2013-05-01 11:56:34 +02:00
2ae91c86f3
avcodec_get_context_defaults3: set codec_id
...
Fixes Ticket1996
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-04-22 21:44:05 +02:00