summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* dxva2_hevc: don't use frames as reference if they are not marked as suchSteve Lhomme2022-03-27
| | | | | | | | | | | Similar to how a frame is considered for referencing for the RefPicList array. This will do the same for RefPicSetStCurrBefore, RefPicSetStCurrAfter and RefPicSetLtCurr. Fixes playback of http://www.gbbsoft.pl/!download/!/Film1.mp4 Ref. VLC issue https://code.videolan.org/videolan/vlc/-/issues/26738 Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
* rtpenc_vp8: Use 15-bit PictureIDsKevin Wang2022-03-26
| | | | | | | | | | 7-bit PictureIDs are not supported by WebRTC: https://groups.google.com/g/discuss-webrtc/c/333-L02vuWA In practice, 15-bit PictureIDs offer better compatibility. Signed-off-by: Kevin Wang <kevin@muxable.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/vf_subtitles: add additional font mime typesSomeRGuy2022-03-25
| | | | | | Since mkvmerge 19 has fonts types from RFC 8081 and mkvmerge 58 on windows use new file/magic library. Signed-off-by: SomeRGuy <wwakabot@gmail.com>
* avutil/channel_layout: return earlier on UNSPEC layouts in ↵James Almer2022-03-25
| | | | | | | | | av_channel_layout_subset() No point running all 64 iterations in the loop to never write anything to ret. Also make ambisonic layouts check its mask too while at it. Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: also test ambisonic layouts in ↵James Almer2022-03-25
| | | | | | av_channel_layout_subset() Signed-off-by: James Almer <jamrial@gmail.com>
* doc/examples/muxing: Remove outdated commentAndreas Rheinhardt2022-03-25
| | | | | | | | | | This comment only applies to the scenario in which one uses the AVCodecContexts embedded in AVStreams. Yet this code sample stopped doing so in 9897d9f4e074cdc6c7f2409885ddefe300f18dc7; and the last major version bump even removed the public AVCodecContexts in AVStreams. So just remove this comment. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/error_resilience: Remove write only ERContext.ref_countAndreas Rheinhardt2022-03-25
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264dec: Constify slices' pointer to the parent contextAndreas Rheinhardt2022-03-25
| | | | | | | | | Modifying the main context by a slice thread is racy; so constify the pointer to it in H264SliceContext. The code itself was already compatible with this change. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264dec: Move ERContext to H264ContextAndreas Rheinhardt2022-03-25
| | | | | | | | | | | | | | | | Since 7be2d2a70cd20d88fd826a83f87037d14681a579 only one context is used. Moving it to H264Context from H264SliceContext is natural. One could access the ERContext from H264SliceContext via H264SliceContext.h264->er; yet H264SliceContext.h264 should naturally be const-qualified, because slice threads should not modify the main context. The ERContext is an exception to this, as ff_er_add_slice() is intended to be called simultaneously by multiple threads. And for this one needs a pointer whose pointed-to-type is not const-qualified. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_slice: Fix decoding undamaged input with slicesAndreas Rheinhardt2022-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ff_er_frame_start() initializes ERContext.error_count to three times the number of macroblocks to decode. Later ff_er_add_slice() reduces this number by the amount of macroblocks whose AC resp. DC resp. MV have been finished (so every correctly decoded MB counts three times). So the frame has been decoded correctly if error_count is zero at the end. The H.264 decoder uses multiple ERContexts when using slice threading and therefore combines these error counts: The first slice's ERContext is intended to be initialized by ff_er_frame_start(), error_count of all the other slice contexts is intended to be zeroed initially and all afterwards all the error_counts are summed. Yet commit 43b434210e597d484aef57c4139c3126d22b7e2b (probably unintentionally) changed the code to set the first slice's error_count to zero as well. This leads to bogus error messages in case one decodes an input video using multiple slices with slice threading with error concealment enabled (which is not the default) ("concealing 0 DC, 0 AC, 0 MV errors in [IPB] frame"); furthermore the returned frame is marked as corrupt as well (ffmpeg reports "corrupt decoded frame in stream %d" for this). This can be fixed easily given that only the first ERContext is really used since 7be2d2a70cd20d88fd826a83f87037d14681a579: Don't reset the error_count; and don't sum the error counts as well. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vsrc_life: set outlink frame_ratePaul B Mahol2022-03-25
|
* avfilter/vsrc_cellauto: set outlink frame_ratePaul B Mahol2022-03-25
|
* avfilter/vsrc_mandelbrot: set outlink frame_ratePaul B Mahol2022-03-25
|
* avfilter/vsrc_mandelbrot: rename misleading variablePaul B Mahol2022-03-25
|
* avfilter/vsrc_mptestsrc: set outlink frame_ratePaul B Mahol2022-03-25
|
* avfilter/vsrc_gradients: set outlink frame_ratePaul B Mahol2022-03-25
|
* avfilter/vsrc_gradients: rename misleading variablePaul B Mahol2022-03-25
|
* avfilter/vsrc_sierpinski: set frame_rate to outlinkPaul B Mahol2022-03-25
|
* avfilter/vsrc_sierpinski: rename misleading variablePaul B Mahol2022-03-25
|
* fate: add crystalizer testPaul B Mahol2022-03-25
|
* avutil/tests/channel_layout: test av_channel_layout_check()James Almer2022-03-25
| | | | | | Should increase test coverage Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: test the output of av_channel_layout_subset()James Almer2022-03-25
| | | | | | Should increase test coverage a bit Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: test the output of av_channel_layout_standard()James Almer2022-03-25
| | | | | | Should increase test coverage. Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/tests/channel_layout: test generating a custom layout using ambisonic ↵James Almer2022-03-25
| | | | | | | | channels and a non diegetic channel with a custom name Should increase test coverage a bit Signed-off-by: James Almer <jamrial@gmail.com>
* doc/utils: add missing 22.2 layout entryJames Almer2022-03-25
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/channel_layout: add missing check for AV_CHAN_NONE in ↵James Almer2022-03-25
| | | | | | | | av_channel_description Prevents printing "user -1" on invalid channel ids. Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/opt_cmdutils: fix printing known channel layoutsJames Almer2022-03-25
| | | | | | | Look for the generic "USR" labels instead of "?" to skip channels with no known names, and actually print the decomposition of standard channel layouts. Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/channel_layout: don't try to print NULL string pointers in ↵James Almer2022-03-25
| | | | | | | | av_channel_{name,description} Instead fallback to print USR%d for channels id < 64 without a known name. Signed-off-by: James Almer <jamrial@gmail.com>
* doc/encoders: update libwebpenc quality optionGyan Doshi2022-03-24
| | | | | A private encoder option 'quality' was added in 716674b151, making the doc entry obsolete.
* avfilter/x86/vf_limiter: use movu, dst may not be always alignedPaul B Mahol2022-03-24
| | | | Happens with pad filter after limiter.
* avcodec/bsf: Add FFBitStreamFilter, hide internals of BSFsAndreas Rheinhardt2022-03-23
| | | | | | | | | | This patch is analogous to 20f972701806be20a77f808db332d9489343bb78: It hides the internal part of AVBitStreamFilter by adding a new internal structure FFBitStreamFilter (declared in bsf_internal.h) that has an AVBitStreamFilter as its first member; the internal part of AVBitStreamFilter is moved to this new structure. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: Remove unnecessary inclusions from libavcodecAndreas Rheinhardt2022-03-23
| | | | | | Also improve the other headers a bit while at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec, avformat: Remove unnecessary inclusions of lavc/internal.hAndreas Rheinhardt2022-03-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_vpp_qsv: Remove unnecessary lavc and lavf headersAndreas Rheinhardt2022-03-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/internal: Move FF_QSCALE_TYPE_* to mpegvideodec.hAndreas Rheinhardt2022-03-23
| | | | | | These values are only used by mpegvideo-based decoders. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/qp_table: Stop using FF_QSCALE_TYPE_*Andreas Rheinhardt2022-03-23
| | | | | | | | | | | | | | All FF_QSCALE_TYPE values used by libavfilter originate from libavfilter (namely from ff_qp_table_extract()); no value is exchanged between libavcodec and libavutil. The values that are exchanged (and used in libavfilter) are of type enum AVVideoEncParamsType. Therefore this patch stops using said FF_QSCALE_TYPE_* in libavfilter and uses enum AVVideoEncParamsType directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/internal, avfilter/qp_table: Remove unused FF_QSCALE_TYPEsAndreas Rheinhardt2022-03-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* ffmpeg: add packet duration to AVPacket loggingJaakko Perttilä2022-03-23
| | | | | | | | | Especially useful when debugging subtitle output, but also shows if values are set or not for demux and encoding. Co-authored-by: Jan Ekström <jan.ekstrom@24i.com> Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* Revert "avcodec/av1dec: Check tile_cols"James Almer2022-03-23
| | | | | | | | This reverts commit 4fdfe430c12225e819f68993474bd2f473c7e8b1. The previous commit ensures this field will never be zero. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1: only set the private context pix_fmt field if ↵James Almer2022-03-23
| | | | | | | | | | | | | | | | | get_pixel_format() succeeds Otherwise get_pixel_format() will not be called when parsing a subsequent Sequence Header in non hwaccel enabled scenarios, allowing frame parsing when it shouldn't. This prevents the scenario seqhdr -> frame_hdr/redundant_frame_hdr -> seqhdr -> redundant_frame_hdr from having the latter redundant frame header parsed as if it was a frame header by the decoder because the former was discarded. Since CBS did not discard it, the latter redundant frame header is output with a zeroed AV1RawFrameHeader struct, which can have undesired results, like division by zero with fields normally guaranteed to be anything else. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libsvtav1: pass color description infoChristopher Degawa2022-03-23
| | | | Signed-off-by: Christopher Degawa <ccom@randomderp.com>
* avfilter/vf_subtitles: pass storage size to libassOneric2022-03-23
| | | | | | | | Due to a quirk of the ASS format some tags depend on the exact storage resolution of the video, so tell libass via ass_set_storage_size. Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* fftools/cmdutils: drop redundant codeAnton Khirnov2022-03-22
| | | | | | | It allocates a dummy sws/swr context and tries setting options on it, apparently to check if they are valid. This is redundant, since the options will be checked if/when they are later applied on a context that is actually used for conversion.
* fftools: drop the fake "default" option from ffplay/ffprobeAnton Khirnov2022-03-22
| | | | | | It tries to process any unhandled options as AVOptions. Handle this directly in cmdutils.c, without resorting to a confusing fake option definition (which is currently visible to the users in -help output).
* fftools/ffprobe: drop -show_format_entryAnton Khirnov2022-03-22
| | | | Deprecated since 2012.
* fftools/ffplay: drop options deprecated since 2011Anton Khirnov2022-03-22
|
* fftools/ffmpeg: drop mistakenly added empty lineAnton Khirnov2022-03-22
|
* fftools: move opt_timelimit from cmdutils to ffmpegAnton Khirnov2022-03-22
| | | | This option is only supported by ffmpeg.
* fftools/cmdutils: split common option handlers into their own fileAnton Khirnov2022-03-22
|
* fftools: drop useless indirectionAnton Khirnov2022-03-22
|