summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fftools/ffmpeg_filter: pass autoscale through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | | Do not read it from OutputStream directly. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: pass sws/swr opts through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | | Do not read them from OutputStream directly. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: drop an unnecessary use of OutputStreamAnton Khirnov2024-04-09
| | | | OutputFilter.type contains the same information.
* fftools/ffmpeg_filter: add an AVClass to OutputFilterAnton Khirnov2024-04-09
| | | | | | | Use it for logging where appropriate, avoid logging to OutputStream as we do not own it. This is a step towards decoupling filtering from encoding.
* fftools/ffmpeg_filter: simplify retrieving filter typeAnton Khirnov2024-04-09
|
* fftools/ffmpeg_filter: drop a redundant checkAnton Khirnov2024-04-09
| | | | | fg_finalise_bindings() already checks that all filtergraph outputs are connected.
* fftools/ffmpeg_filter: accept a caller-provided output nameAnton Khirnov2024-04-09
| | | | | | Do not construct it from OutputStream manually. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg: drop OutputStream.is_cfrAnton Khirnov2024-04-09
| | | | | It is used in a single place in the filtering code, so it is better to inline it there.
* fftools/ffmpeg_filter: pass vsync method through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | | Do not read it from OutputStream directly. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: stop accessing encoder AVCodecContextAnton Khirnov2024-04-09
| | | | | | Pass all the necessary value through OutputFilterOptions. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: move the MJPEG format selection hack to muxer setupAnton Khirnov2024-04-09
| | | | That, if anywhere, is a more appropriate place for it.
* fftools/ffmpeg_filter: pass enc_timebase through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | Reduces the need to access OutputStream, which will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg: warn about ignored -enc_time_base for subtitles earlierAnton Khirnov2024-04-09
| | | | | Can do it as soon as that option is parsed, no need to postpone it until opening the encoder.
* fftools/ffmpeg_filter: pass keep_pix_fmt through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | Reduces the need to access OutputStream, which will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: pass ts offset through OutputFilterOptionsAnton Khirnov2024-04-09
| | | | | Reduces the need to access OutputFile, which will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: check that filter type matches output stream typeAnton Khirnov2024-04-09
| | | | For simple filtergraphs. For complex filtergraphs they always match.
* fftools/ffmpeg_filter: stop accessing AVCodecContext.codecAnton Khirnov2024-04-09
| | | | | | | Instead pass the encoder through a newly-added output options struct, analogous to previously added input options. Will allow decoupling filtering from encoding in future commits.
* fftools/ffmpeg_filter: do not pass OutputStream to set_channel_layout()Anton Khirnov2024-04-09
| | | | It only needs a list of allowed layouts and the requested layout.
* 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>