- 25 Mar, 2022 22 commits
-
-
Andreas Rheinhardt authored
Reviewed-by:
Michael Niedermayer <michael@niedermayer.cc> Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
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>
-
Andreas Rheinhardt authored
Since 7be2d2a7 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>
-
Andreas Rheinhardt authored
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 43b43421 (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 7be2d2a7: 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>
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
Paul B Mahol authored
-
James Almer authored
Should increase test coverage Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
Should increase test coverage a bit Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
Should increase test coverage. Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
avutil/tests/channel_layout: test generating a custom layout using ambisonic channels and a non diegetic channel with a custom name Should increase test coverage a bit Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
Prevents printing "user -1" on invalid channel ids. Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
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>
-
James Almer authored
Instead fallback to print USR%d for channels id < 64 without a known name. Signed-off-by:
James Almer <jamrial@gmail.com>
-
- 24 Mar, 2022 2 commits
-
-
Gyan Doshi authored
A private encoder option 'quality' was added in 716674b1, making the doc entry obsolete.
-
Paul B Mahol authored
Happens with pad filter after limiter.
-
- 23 Mar, 2022 12 commits
-
-
Andreas Rheinhardt authored
This patch is analogous to 20f97270: 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>
-
Andreas Rheinhardt authored
Also improve the other headers a bit while at it. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
These values are only used by mpegvideo-based decoders. Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
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>
-
Andreas Rheinhardt authored
Signed-off-by:
Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Jaakko Perttilä authored
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>
-
James Almer authored
This reverts commit 4fdfe430. The previous commit ensures this field will never be zero. Signed-off-by:
James Almer <jamrial@gmail.com>
-
James Almer authored
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>
-
Christopher Degawa authored
Signed-off-by:
Christopher Degawa <ccom@randomderp.com>
-
Oneric authored
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>
-
- 22 Mar, 2022 4 commits
-
-
Anton Khirnov authored
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.
-
Anton Khirnov authored
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).
-
Anton Khirnov authored
Deprecated since 2012.
-
Anton Khirnov authored
-