summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* lavfi/avfilter: add an "auto" constant to the threads optionAnton Khirnov2024-04-09
| | | | | Analogous to the same constant in avfiltergraph and avcodec. Cf. f599ae88c25.
* lavfi/vf_scale: fix AVOption flags for "size"/"s"Anton Khirnov2024-04-09
|
* x86/ac3dsp: clear the upper 32 bits for input arguments where neededJames Almer2024-04-08
| | | | | | Fixes checkasm on win64. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpegvideo_dec, h264_slice: Return proper error codesAndreas Rheinhardt2024-04-08
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg12dec: Remove redundant mpeg_enc_ctx_allocatedAndreas Rheinhardt2024-04-08
| | | | | | | | Use context_initialized from the underlying MpegEncContext instead. Also don't check before ff_mpv_common_end() in mpeg_decode_end(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo: Remove pointless checkAndreas Rheinhardt2024-04-08
| | | | | | Possible since 315c956cbd14f021e49dac7fc0b906fad1672aad. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec: Move getting Picture slot into alloc_picture()Andreas Rheinhardt2024-04-08
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec: Factor allocating dummy frame outAndreas Rheinhardt2024-04-08
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec: Remove redundant code to reset keyframe flagAndreas Rheinhardt2024-04-08
| | | | | | These AVFrames are blank and therefore the flag is already unset. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec: Remove obsolete current_picture_ptr reuse codeAndreas Rheinhardt2024-04-08
| | | | | | Obsolete since at least 74d623914f02aa79447df43a742efd0929dded04. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg12dec: Remove unnecessary FFCodec.closeAndreas Rheinhardt2024-04-08
| | | | | | | The ipu decoder never calls ff_mpv_common_init() or allocates anything else that would need to be freed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec: Don't emit non-keyframe warning for H.261Andreas Rheinhardt2024-04-08
| | | | | | | | | H.261 does not have keyframes (or indeed frame types) at all, so this warning is not warranted. Also remove an always-true check while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg12dec: Don't pretend MPEG-1/2 to support alphaAndreas Rheinhardt2024-04-08
| | | | | | | | (FF_PTR_ADD has to be kept although MPEG-1/2 only supports YUV pixel formats because our decoder also supports decoding to AV_PIX_FMT_GRAY8 depending upon CONFIG_GRAY.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg12dec: Remove redundant checkAndreas Rheinhardt2024-04-08
| | | | | | This code only gets executed for the first field. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_dec, mpeg12dec: Move MPEG1/2 code to mpeg12dec.cAndreas Rheinhardt2024-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, ff_mpv_frame_start() offsets the data of the current picture and doubles the linesizes of all pictures if the current picture is field-based so that data and linesize allow to address the current field only. This is done based upon the current picture_structure value. Only two mpegvideo-based decoders ever set this field: mpeg1/2 and VC-1; but the latter only does it after ff_mpv_frame_start() (when using hardware-acceleration and in order to signal it to the DXVA2 hwaccel) in which case no offset is applied in ff_mpv_frame_start(). So only one decoder actually wants this offset*; therefore move the code performing it to mpeg12dec.c. *: VC-1 doubles linesize when using field_mode (not only the picture's linesize, but also uvlinesize and linesize), yet it does not offset anything. This is further proof that this should not be performed generically. Also move MPEG-1/2 specific setting of the top-field-first flag. (The change here implies that the AVFrame in current_picture may have different top-field-first flags than the AVFrame from current_picture_ptr, but this doesn't matter as only the latter's are used.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpeg12: Remove always-false checkAndreas Rheinhardt2024-04-08
| | | | | | Forgotten in 7800cc6e82068c6dfb5af53817f03dfda794c568. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegutils: Move definitions to better placesAndreas Rheinhardt2024-04-08
| | | | | | | | | FRAME_SKIPPED -> h263dec.h CANDIDATE_MB_TYPE_* -> mpegvideoenc.h INPLACE_OFFSET -> mpegvideoenc.h enum OutputFormat -> mpegvideo.h Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideo_enc: Don't update current_picture unnecessarilyAndreas Rheinhardt2024-04-08
| | | | | | | | current_picture is not changed after frame_start() at all and it therefore does not need to be updated (i.e. copied to the slice thread contexts) a second time. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/vvc/dec: fix typoJames Almer2024-04-08
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/vvc/ps: reset sps_id_used on flushJames Almer2024-04-08
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/ac3: Implement sum_square_butterfly_float for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement sum_square_butterfly_int32 for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement ac3_extract_exponents for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement ac3_exponent_min for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/ac3: Implement float_to_fixed24 for aarch64 NEONGeoff Hill2024-04-08
| | | | | Signed-off-by: Geoff Hill <geoff@geoffhill.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/dv: Don't pretend initializing work chunks can failAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Use assert to check for things that can't failAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Use bytestream API for byte-aligned readsAndreas Rheinhardt2024-04-07
| | | | | | This also allows to remove the padding from these buffers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Deduplicate optionsAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Avoid code duplicationAndreas Rheinhardt2024-04-07
| | | | | | This also fixes misindentated code. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvenc: Avoid duplicate variablesAndreas Rheinhardt2024-04-07
| | | | | | Also simplify assigningfake strides. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv: Return proper error codeAndreas Rheinhardt2024-04-07
| | | | | | Also forward said error code in the encoder. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv(dec|enc): Use union for temp/temp16Andreas Rheinhardt2024-04-07
| | | | | | | | These pointers already point to the same buffers, so using a union is possible and avoids the overhead of syncing the pointers (and saves some memory). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuv: Inline common alloc/free functions in their callersAndreas Rheinhardt2024-04-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/huffyuvdec: Don't zero unnecessarilyAndreas Rheinhardt2024-04-07
| | | | | | | A decoder's private data has already been zeroed (apart from options) before init is called. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavc/vvc: Error if SPS ID is duplicated within CVSFrank Plowman2024-04-07
| | | | | | | | | | | | | | | | | | | | Key line from the spec is: "All SPS NAL units with a particular value of sps_seq_parameter_set_id in a CVS shall have the same content." Prior to this patch, the VVC decoder's behaviour on encountering a duplicated SPS ID (within the entire bitstream, not restricted to a CVS) was simply to replace the entry in the SPS lookup table with the new data. Illegal bitstreams with multiple SPSs in the same CVS sharing an ID but differing elsewhere could cause all manner of issues. The patch tracks which SPS IDs have been used in the given CVS using the new sps_id_used field of VVCParamSets. If it encounters an SPS with an ID already in use and whose content differs from the previous SPS, it throws an AVERROR_INVALIDDATA. Signed-off-by: Frank Plowman <post@frankplowman.com>
* avcodec/libdav1d: Don't cast const away unnecessarilyAndreas Rheinhardt2024-04-06
| | | | | | Possible since c89f6ae6899e0f3ffb4f51da1f1776ab16f5b3a0. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf/lrc: fix comments in headersStefano Sabatini2024-04-06
|
* avcodec/liblc3dec: retrieve duration of the last packet from the demuxerAntoine SOULIER2024-04-06
| | | | Use the packet duration field to invalid last samples of the last frame.
* avcodec/liblc3dec: fix extradata sizeAntoine SOULIER2024-04-06
|
* avcodec/liblc3dec: fix typo in macro name, fix compilationAntoine SOULIER2024-04-06
|
* avocdec/ass: simplify linebreaksOneric2024-04-06
| | | | | | ff_ass_subtitle_header_* still used explicit CRLF linebreaks eventhough they will get normalised to LF later since commit 7bf1b9b35769b37684dd2f18a54f01d852a540c8. Just directly use LF.
* avcodec/ass,webvttdec: implement more portable curly brace escapesOneric2024-04-06
| | | | | | | | | | | | | Unlike what the old comment suggested, standard ASS has no character escape mechanism, but a closing curly bracket doesn't even need one. For manual authored sub files using a full-width variant of an appropriate font and with scaling and spacing modifiers is a common workaround. This is not an option here, but we can still make things much less bad. Now the desired opening bracket still shows up in libass, and standard renders will merely display a backslash in its place instead of stripping the following text like before.
* avcodec/ass,webvttdec: fix handling of backslashesOneric2024-04-06
| | | | | | | Backslashes cannot be escaped by a backslash in any ASS renderer, but unless followed by specific characters it is just printed out. Insert a word-joiner character after a backslash to break up active sequences without changing the visual output.
* avcodec/webvttdec: honour bidi marksOneric2024-04-06
|
* doc/encoders: add missing libxvid optionJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/encoders: remove non-existent flagJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomenc: remove variable redefinitionJames Almer2024-04-05
| | | | | | | Missed in 5e0eac3d4566839598f6d6fe5d77770023d6713a. Reported-by: Niklas Haas <ffmpeg@haasn.xyz> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libaomenc: bump the minimum required version to 2.0.0James Almer2024-04-05
| | | | | | | | v2.0.0 is already four years old and even newer versions are available on stable distro releases. With this we stop setting codec capabilities during static data initialization. Signed-off-by: James Almer <jamrial@gmail.com>
* fate/ffmpeg: Avoid dependency on samplesAndreas Rheinhardt2024-04-05
| | | | | | | | | | | | | | | Creating vsynth_lena.yuv needs the FATE suite, yet several tests in ffmpeg.mak without a dependency on samples used it as input file. Fix this by using vsynth1.yuv (which does not have such a dependency) instead. Also use vsynth1.yuv in fate-shortest to avoid the samples dependency in this test, too. Fixes ticket #10947. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>