James Almer
0bf3a7361d
avutil: remove deprecated AVClass.child_class_next
...
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 11:48:04 -03:00
Andreas Rheinhardt
bc9dca5c95
avcodec/options: Remove deprecated avcodec_copy_context
...
Deprecated in 5f30ac2779
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 10:43:04 -03:00
Andreas Rheinhardt
ff8f9fcbe5
avcodec: Remove deprecated avcodec_get_context_defaults3
...
Deprecated in 04fc8e24a0
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-04-27 10:43:04 -03:00
Andreas Rheinhardt
9b6ffcf0fd
avcodec/options: Remove always-true check
...
Every codec has a name.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-04-05 18:36:51 +02:00
Andreas Rheinhardt
f21b47f38c
avcodec/options: Reindent after previous commit
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-03-20 02:56:31 +01:00
Andreas Rheinhardt
784c3c0d85
avcodec/options: Remove always-true check
...
Added in dc51a72ba4
, yet even back then
the check was always true as the AVCodecContext has already been memset
to zero before that.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-03-20 02:45:17 +01:00
James Almer
6e7e3a3820
avcodec: add a get_encode_buffer() callback to AVCodecContext
...
This callback is functionally the same as get_buffer2() is for decoders, and
implements for the new encode API the functionality of the old encode API had
where the user could provide their own buffers.
Reviewed-by: Lynne <dev@lynne.ee>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-03-12 19:49:08 -03:00
James Almer
dd9227e48f
avcodec/options: deprecate avcodec_get_frame_class()
...
AVFrame hasn't been a struct defined in libavcodec for a decade now, when
it was moved to libavutil.
Found-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-02-27 11:23:42 -03:00
James Almer
7addddd49e
Revert "avcodec/options: add missing FF_API_COPY_CONTEXT checks"
...
This reverts commit 0191f2d29c
.
These functions were never deprecated. The merge from commit 6988cf2969
included them by mistake.
Found-by: mkver
Signed-off-by: James Almer <jamrial@gmail.com>
2021-02-25 17:34:44 -03:00
James Almer
0191f2d29c
avcodec/options: add missing FF_API_COPY_CONTEXT checks
...
Signed-off-by: James Almer <jamrial@gmail.com>
2020-10-01 22:43:03 -03:00
Anton Khirnov
851e0dfe29
AVCodecContext: switch to child_class_iterate()
2020-06-10 12:36:44 +02:00
Josh de Kock
bd2e7b74e1
lavc: stop using deprecated av_codec_next()
...
Signed-off-by: Josh de Kock <josh@itanimul.li>
2020-04-20 15:08:20 +00:00
James Almer
3f31726994
avcodec/options: remove dead test code
...
It's been unused since 5d48e4eafa
.
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 7a5902c556
.
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