aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/nutenc: use av_dict_iterateMarvin Scholz2022-12-011-6/+6
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/id3v2enc: use av_dict_iterateMarvin Scholz2022-12-011-5/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/ffmetaenc: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/wtvenc: use av_dict_iterateMarvin Scholz2022-12-011-4/+4
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/dump: use av_dict_iterateMarvin Scholz2022-12-011-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/lrcenc: use av_dict_iterateMarvin Scholz2022-12-011-2/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/hls: use av_dict_iterateMarvin Scholz2022-12-011-3/+3
| | | | | | And constify oldentry too while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/flvenc: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/metadata: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/movenc: use av_dict_iterateMarvin Scholz2022-12-011-4/+4
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/examples/metadata: use av_dict_iterateMarvin Scholz2022-12-011-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/cafenc: use av_dict_iterateMarvin Scholz2022-12-011-3/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/f_metadata: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_libvmaf: use av_dict_iterateMarvin Scholz2022-12-011-5/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/vorbiscomment: use av_dict_iterateMarvin Scholz2022-12-011-7/+7
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/avpacket: use av_dict_iterateMarvin Scholz2022-12-011-1/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libxavs2: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_coreimage: use av_dict_iterateMarvin Scholz2022-12-011-8/+8
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/smjpegenc: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libvpxenc: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/librav1e: remove unnecessary variableMarvin Scholz2022-12-011-2/+1
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/librav1e: use av_dict_iterateMarvin Scholz2022-12-011-2/+2
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools: use av_dict_get_stringMarvin Scholz2022-12-011-19/+14
| | | | | | | | Instead of manually assembling the string, use av_dict_get_string which handles things like proper escaping too (even though it is not yet needed here). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fftools: use av_dict_iterateMarvin Scholz2022-12-017-13/+11
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Factor attaching film grain side-data to frame outAndreas Rheinhardt2022-12-014-114/+77
| | | | | | | This unfortunately involved adding some parameters to ff_h2645_sei_to_frame() that will be mostly unused. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/(h264|hevc)_ps: Factor common VUI code outAndreas Rheinhardt2022-12-019-170/+196
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_ps: Don't output invalid chroma locationAndreas Rheinhardt2022-12-011-1/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264data: Deduplicate H.26[45] aspect ratio tableAndreas Rheinhardt2022-12-0110-96/+103
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_ps: Don't error out on unknown aspect ratioAndreas Rheinhardt2022-12-011-2/+2
| | | | | | Values 17..254 are actually only reserved and not invalid. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Also support Active Format Descriptor for HEVCAndreas Rheinhardt2022-12-015-17/+221
| | | | | | | | | | | | | | | It is valid for HEVC; in fact, the ATSC-HEVC spec [1] simply refers to the relevant H.264 spec. It is also trivial to implement now: Just move applying AFD to ff_h2645_sei_to_frame() and stop ignoring AFD when parsing a HEVC SEI containing it. A FATE-test for this has been added. [1]: https://www.atsc.org/atsc-documents/a3412017-video-hevc/ Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Attach AVStereo3D side data genericallyAndreas Rheinhardt2022-12-013-83/+64
| | | | | | | There are only slight differences between H.264 and HEVC for this side data, so it makes sense to share the code. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_sei, sei: Make H264_SEI_FpaType genericAndreas Rheinhardt2022-12-015-29/+33
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Factor out applying SEIs to framesAndreas Rheinhardt2022-12-014-97/+68
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Factor out freeing common SEI partsAndreas Rheinhardt2022-12-015-19/+20
| | | | | | | | | | | This commit only factors out freeing the common SEI parts, not whether the fields indicating whether an SEI is present shall be reset. H.264 and HEVC differ in this regard (ff_h264_sei_uninit() really resets, whereas ff_hevc_reset_sei() only uninits.) and neither actually honours the persistency as prescribed by the relevant specs. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Factor updating H.2645 SEIs outAndreas Rheinhardt2022-12-016-41/+44
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h2645_sei: Factor parsing common SEI messages outAndreas Rheinhardt2022-12-0111-752/+665
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/sei: Add tag to SEI enumerationAndreas Rheinhardt2022-12-011-1/+1
| | | | | | This makes it a usable type. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* configure: Add (h264|hevc)_sei subsystemsAndreas Rheinhardt2022-12-013-9/+17
| | | | | | | | | | | | | | | | | | Currently, several components select atsc_a53, despite not using anything from it themselves. They only select it because parsing SEI messages adds an indirect dependency. But using direct dependencies is more natural, so add dedicated subsystems for them. It already allows to remove a superfluous dependency of the HEVC QSV encoder on hevc_sei and atsc_a53. Adding new subsystems only becomes effective after a reconfiguration. In order to force this, some needed headers (which are only included implicitly before this commit) were included explicitly in libavformat/allformats.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_sei: Don't use GetBit-API for byte-aligned readsAndreas Rheinhardt2022-12-012-77/+70
| | | | | | | SEI NALUs and several SEI messages are naturally byte-aligned, so reading them via the bytestream-API is more natural. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi/vf_vpp_qsv: scale_mode can be applied to color conversionHaihao Xiang2022-12-011-4/+4
| | | | | Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavfi/qsvvpp: provide a default framerate if neededHaihao Xiang2022-12-011-0/+8
| | | | | | | | | VPP in the SDK requires the frame rate to be set to a valid value, otherwise init will fail, so always set a default framerate when the input link doesn't have a valid framerate. Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavfi/qsvvpp: avoid overriding the returned valueHaihao Xiang2022-12-011-3/+8
| | | | | | | | | | | | | It means more than one output is ready when MFXVideoVPP_RunFrameVPPAsync() returns MFX_ERR_MORE_SURFACE [1]. Currently the returned value from MFXVideoVPP_RunFrameVPPAsync() might be overridden, so the check of 'ret == MFX_ERR_MORE_SURFACE' is always false when MFX_ERR_MORE_SURFACE is returned from MFXVideoVPP_RunFrameVPPAsync() [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#video-processing-procedures Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavfi/qsvvpp: change the output frame's width and heightChen,Wenbin2022-12-011-3/+2
| | | | | | | Make sure the size of the output frame always matches the agreed upon image size. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* lavc/qsvenc_h264: don't support P010 formatHaihao Xiang2022-12-011-1/+0
| | | | | | | | | | | | | | | The SDK will return error if feeding h264_qsv encoder p010 input. $ ffmpeg -f lavfi -i testsrc -vf "format=p010" -c:v h264_qsv -f null - [...] [h264_qsv @ 0x55584888b080] Current pixel format is unsupported [h264_qsv @ 0x55584888b080] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters. Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* libavcodec/qsvenc.c: Enable MFX_GOP_STRICT when adpative gop is disabledWenbin Chen2022-12-011-1/+8
| | | | | | | adaptive_i and adaptive_b cannot work with MFX_GOP_STRICT, so only enable MFX_GOP_STRICT when these features are disabled. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
* lavc/qsvdec: update HDR side data on output AVFrameHaihao Xiang2022-12-012-0/+79
| | | | | | | The SDK may provides HDR metadata for HDR streams via mfxExtBuffer attached on output mfxFrameSurface1 Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avcodec/cfhdenc: readjust packet allocationPaul B Mahol2022-12-011-1/+1
|
* avcodec/smcenc: fix encoding of width not multiple of 4Paul B Mahol2022-11-301-18/+36
|
* avfilter/af_astats: do not give output for 0 samplesPaul B Mahol2022-11-301-0/+6
|