summaryrefslogtreecommitdiff
path: root/libavcodec/options_table.h
Commit message (Collapse)AuthorAge
* lavc: add a decoder option for configuring side data preferenceAnton Khirnov2024-03-04
| | | | This and the following commits fix #10857
* all: use designated initializers for AVOption.unitAnton Khirnov2024-02-14
| | | | | | | | | | | | | | | | | | | | | | | | Makes it robust against adding fields before it, which will be useful in following commits. Majority of the patch generated by the following Coccinelle script: @@ typedef AVOption; identifier arr_name; initializer list il; initializer list[8] il1; expression tail; @@ AVOption arr_name[] = { il, { il1, - tail + .unit = tail }, ... }; with some manual changes, as the script: * has trouble with options defined inside macros * sometimes does not handle options under an #else branch * sometimes swallows whitespace
* lavc: clarify meaning of avctx.level optionStefano Sabatini2023-10-06
|
* pixdesc: add limited|full aliases for -color_range parameterChema Gonzalez2023-09-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aliases are also used in scale and zscale filters. Tested: ``` $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range unknown /tmp/unknown.y4m ... $ md5sum /tmp/unknown.y4m 69aa7bf52bbd72444268a544c81d7643 /tmp/unknown.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range tv /tmp/tv.y4m ... $ md5sum /tmp/tv.y4m 5c1c8759708ff6b25dd8a660da5200e7 /tmp/tv.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range pc /tmp/pc.y4m ... $ md5sum /tmp/pc.y4m 1ccb85d14a3dfecb22e625711587ba97 /tmp/pc.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range limited /tmp/limited.y4m ... $ md5sum /tmp/limited.y4m 5c1c8759708ff6b25dd8a660da5200e7 /tmp/limited.y4m $ ./ffmpeg -hide_banner -y -i ~/src/media/images/y4m/lena.490x490.y4m -pix_fmt yuv420p -color_range full /tmp/full.y4m ... $ md5sum /tmp/full.y4m 1ccb85d14a3dfecb22e625711587ba97 /tmp/full.y4m ``` Also ran fate. ``` $ make fate -j ... TEST ffprobe_xsd TEST flv-add_keyframe_index ```
* avcodec/defs: Add AV_PROFILE_* defines, deprecate FF_PROFILE_* definesAndreas Rheinhardt2023-09-07
| | | | | | | | | These defines are also used in other contexts than just AVCodecContext ones, e.g. in libavformat. Furthermore, given that these defines are public, the AV-prefix is the right one, so deprecate (and not just move) the FF-macros. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc: deprecate AV_CODEC_FLAG_DROPCHANGEDAnton Khirnov2023-07-15
| | | | | | | | This decoding flag makes decoders drop all frames after a parameter change, but what exactly constitutes a parameter change is not well defined and will typically depend on the exact use case. This functionality then does not belong in libavcodec, but rather in user code
* avcodec/aacenc: add strict bit rate control optionJeremy Wu2023-06-04
| | | | | | | | | | | | | | In certain use cases, controlling the maximum frame size is critical. An example is when transmitting AAC packets over Bluetooth A2DP. While the spec allows the packets to be fragmented (but UNRECOMMENDED), in practice most headsets do not recognize nor reassemble such packets. In this patch, we allow setting `bit_rate_tolerance` to 0 to indicate that the specified bit rate should be treated as an upper bound up to frame level. Signed-off-by: Jeremy Wu <jrwu@chromium.org>
* lavc: deprecate AVCodecContext.ticks_per_frameAnton Khirnov2023-05-15
| | | | | | | | For encoding, this field is entirely redundant with AVCodecContext.framerate. For decoding, this field is entirely redundant with AV_CODEC_PROP_FIELDS.
* avcodec/options_table: reorder nokey after nointraZhao Zhili2023-05-04
| | | | | | So the values are in ascending order. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* lavc: disable an obsolete hack for real videoAnton Khirnov2023-03-02
| | | | | | AVCodecContext.slice_{count,offset} are unneeded since 2007, commit 383b123ed37df4ff99010646f1fa5911ff1428cc and following. Deprecate those fields.
* avcodec: add AVCodecContext.frame_num as 64 bit variant to frame_numberMarton Balint2023-02-13
| | | | | | | | | | Frame counters can overflow relatively easily (INT_MAX number of frames is slightly more than 1 year for 60 fps content), so make sure we use 64 bit values for them. Also deprecate the old 32 bit frame_number attribute. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec: remove FF_API_SUB_TEXT_FORMATJames Almer2023-02-09
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: remove FF_API_FLAG_TRUNCATEDJames Almer2023-02-09
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/encode: pass through frame durations to encoded packetsAnton Khirnov2023-01-29
| | | | | | The generic code can only handle the no-delay case. Encoders with delay need to be handled individually, which will be done in the following commits.
* lavc: add a codec flag for propagating opaque from frames to packetsAnton Khirnov2023-01-29
| | | | | | | | | This is intended to be a more convenient replacement for reordered_opaque. Add support for it in the two encoders that offer AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE: libx264 and libx265. Other encoders will be supported in future commits.
* lavc: add new unsafe_output hwaccel_flagTimo Rothenpieler2022-12-10
|
* lavc: add API for exporting reconstructed frames from encodersAnton Khirnov2022-08-02
|
* avcodec: add API for automatic handling of icc profilesNiklas Haas2022-07-30
| | | | | | | | | | | | | | | This functionally already exists, but as pointed out in #9672 and #9673, requiring users to manually include filters is clumsy, error-prone and hard to use together with tools like ffplay. To streamline ICC profile support, add a new AVCodecContext flag to globally enable reading and writing ICC profiles, automatically, for all appropriate media types. Note that this commit only includes the new API. The implementation is split off to separate commits for readability. Signed-off-by: Niklas Haas <git@haasn.dev>
* configure: Use a separate config_components.h header for $ALL_COMPONENTSMartin Storsjö2022-03-16
| | | | | | | | This avoids unnecessary rebuilds of most source files if only the list of enabled components has changed, but not the other properties of the build, set in config.h. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavcodec: Split version.hMartin Storsjö2022-03-16
| | | | | | | | | | | | | | This avoids including version.h in all source files, avoiding unnecessary rebuilds when the version number is bumped. Only version_major.h is included by the main header, which defines availability of e.g. FF_API_* macros, and which is bumped much less often. This isn't done for libavutil/version.h, because that header needs to be included essentially everywhere due to LIBAVUTIL_VERSION_INT being used wherever an AVClass is constructed. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: switch to the new channel layout APIVittorio Giovara2022-03-15
| | | | | | | | Since the request_channel_layout is used only by a handful of codecs, move the option to codec private contexts. Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/avcodec, options_table: Deprecate sub_text_formatAndreas Rheinhardt2021-09-20
| | | | | | | | Unused since 1f63665ca567fbc49fa80166d468a822c2999efa. Found-by: Soft Works <softworkz@hotmail.com> Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc: deprecate AV_CODEC_(FLAG|CAP)_TRUNCATEDAnton Khirnov2021-09-20
| | | | | | | | | | It is supported only by a few decoders (h263, h263p, mpeg(1|2|)video and mpeg4) and is entirely redundant with parsers. Furthermore, using it leads to missing frames, as flushing the decoder at the end does not work properly. Co-authored-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/options_table: Treat (request_)channel_layout as channel layoutAndreas Rheinhardt2021-08-15
| | | | | | | Also adapt some FATE tests to already cover this. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: Remove deprecated old encode/decode APIsAndreas Rheinhardt2021-04-27
| | | | | | | | Deprecated in commits 7fc329e2dd6226dfecaa4a1d7adf353bf2773726 and 31f6a4b4b83aca1d73f3cfc99ce2b39331970bf3. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove deprecated ASS with inline timingAndreas Rheinhardt2021-04-27
| | | | | | | Deprecated in 22ebbda637257a432c99330ca4c6024665418f0e. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove private options from AVCodecContextAndreas Rheinhardt2021-04-27
| | | | | | | | | Several options that were too codec-specific were deprecated between 0e6c8532215790bbe560a9eea4f3cc82bb55cf92 and 0e9c4fe254073b209970df3e3cb84531bc388e99. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove deprecated coder type optionsAndreas Rheinhardt2021-04-27
| | | | | | | Deprecated in be00ec832c519427cd92218abac77dafdc1d5487. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove deprecated stat-bits fieldsAndreas Rheinhardt2021-04-27
| | | | | | | Deprecated in 16216b713f9a21865cc07993961cf5d0ece24916. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: Remove sidedata-only-packet cruftAndreas Rheinhardt2021-04-27
| | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: enable usage of err_recognition for encodersJan Ekström2021-03-05
| | | | | | | | Enables the usage of such values as AV_EF_EXPLODE in encoders, which can be useful in cases such as subtitle encoders where they have the responsibility to validate the correctness of an incoming ASS dialog line. Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* lavc: shedule old encoding/decoding API for removalAnton Khirnov2021-01-26
| | | | | | | | It has been deprecated for 4 years and certain new codecs do not work with it. Also include AVCodecContext.refcounted_frames, as it has no effect with the new API.
* avcodec: remove long dead debug_mv codeJames Almer2021-01-25
| | | | | | FF_API_DEBUG_MV has been zero since ffmpeg 4.0 Signed-off-by: James Almer <jamrial@gmail.com>
* libavcodec: add a new AV_CODEC_EXPORT_DATA_FILM_GRAIN flag and optionLynne2020-11-25
| | | | | | This introduces a new field to allow decoders to export their film grain parameters. Will be used by the next patch.
* libavcodec/options_table: Add missing colorspace optionsHarry Mallon2020-09-10
| | | | | | | * chroma-derived-nc / chroma-derived-c and ictcp Signed-off-by: Harry Mallon <harry.mallon@codex.online> Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
* avcodec/options_table: make AVCodecContext->level search for child constantsJames Almer2020-07-29
| | | | | | | | | | This change makes it possible for child encoders to define custom level option names which can be used for setting the AVCodecContext->level. Based on 337fe4bcc2 Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: move mpeg4 profiles to profiles.hMarton Balint2020-05-22
| | | | | | Also bump micro version after the recent option changes. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec: move msbc profile to encoderMarton Balint2020-05-22
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/options_table: remove dts profilesMarton Balint2020-05-22
| | | | | | Our encoder (dcaenc) does not use any of these. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec: move aacenc profiles to profiles.hMarton Balint2020-05-22
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/options_table: make AVCodecContext->profile search for child constantsMarton Balint2020-05-22
| | | | | | | | | This change makes it possible for child encoders to define custom profile option names which can be used for setting the AVCodecContext->profile. Also rename unit name to something rather unique, so it won't be used elsewhere. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/option_table: mark venc_params as a video decoder flag opt typeJames Almer2020-05-14
| | | | | | | It's not meant for audio or subtitles, or for encoders of any kind. Reviewed-by: mypopy@gmail.com <mypopy@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* lavc: add a flag for exporting AVVideoEncParams from decodersAnton Khirnov2020-05-12
|
* remove CHAR_MIN/CHAR_MAX usagePaul B Mahol2020-03-17
| | | | It is not needed at all.
* avcodec: add an AVCodecContext flag to export PRFT side data on demandJames Almer2020-02-22
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add an AVCodecContext field to signal types of packet, frame, and ↵James Almer2020-02-22
| | | | | | | | coded stream side data to export Add an initial mvs flag to is, analog to the export_mvs flags2 one. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/options_table: err_detect compliant and aggressive should also ↵Michael Niedermayer2019-12-31
| | | | | | enable the weaker checks Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/options_table: Correct the flags for AVCodecContext.flags2Jun Zhao2019-10-06
| | | | | | | Correct the flags for AVCodecContext.flags2. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avcodec: add max_samplesMichael Niedermayer2019-09-25
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: Support EBU Tech. 3213-E primaries valuesRaphaël Zumer2019-09-01
| | | | | Signed-off-by: Raphaël Zumer <rzumer@tebako.net> Signed-off-by: James Almer <jamrial@gmail.com>