Linux 7.3

18 October 23:14 - Linux Kernel - Linus Torvalds

avcodec/tiff: clear the separated intermediate buffer

18 October 22:45 - FFmpeg - Ayoub Nabil Boubagrat

Strip decoding errors are tolerated unless AV_EF_EXPLODE is set.

avcodec/amrwbdata: add the comfort noise ISF codebooks

18 October 22:26 - FFmpeg - Jun Zhao

Add the five noise ISF codebooks and their mean vector from 3GPP TS 26.173 (qisf_ns.tab) for the SID decoder.

avcodec/amrwbdec: generate comfort noise for SID frames

18 October 22:26 - FFmpeg - Jun Zhao

A SID frame (frame type 9) returned AVERROR_PATCHWELCOME and was dropped, so a DTX stream lost 20 ms per SID frame. Decode the 40-bit SID and follow the TS 26.173 DTX state machine in floating point: interpolate and mute between updates, then synthesize noise at the decoded energy.

avcodec/amrnbdata: add the comfort noise tables

18 October 22:26 - FFmpeg - Jun Zhao

Add the TS 26.092 comfort-noise tables used by the following commit: initial prediction residuals and LSP vector, LSF deviation scales, the mode-dependent level adjustment, and the DTX and excitation constants.

avcodec/amrnbdec: generate comfort noise for SID frames

18 October 22:26 - FFmpeg - Jun Zhao

SID frames returned AVERROR_PATCHWELCOME and NO_DATA frames were rejected, so a DTX stream decoded short. Decode the 39-bit SID and follow TS 26.073 in floating point.

avcodec/amrnbdata: add the error concealment tables

18 October 22:26 - FFmpeg - Jun Zhao

Add the window build_CN_param() in 3GPP TS 26.073 uses as the pseudo-random source when substituting a lost speech frame.

avcodec/amrnbdec: conceal lost speech frames

18 October 22:26 - FFmpeg - Jun Zhao

During speech, NO_DATA frames were emitted as digital silence, while speech frames marked bad were decoded without concealment.

libavcodec: Add Infinity IMM6 Decoder

18 October 20:57 - FFmpeg - Tom Needham

ffplay: move the chapter list into its own file

18 October 03:19 - FFmpeg - Michael Niedermayer

The list becomes a ListView in ffplay_list.c, which shows entries with title, artist, length and metadata and reports the entry the user chooses; ffplay builds the entries from the chapters and seeks to the chosen one.

avfilter/vf_opencolorio: negotiate the output format properly

18 October 00:45 - FFmpeg - Sam.Richards@taurich.org

The filter picked its output format in config_props(), after format negotiation had already settled the output link.


avcodec/mips: fix MSA vector type mismatches

17 October 01:59 - FFmpeg - Michael Niedermayer


avformat/hls: associate renditions with variants through rendition groups

16 October 21:17 - FFmpeg - Kacper Michajłow

Keep the renditions of each TYPE and GROUP-ID in a rendition group found through an AVTree, so a variant adds the playlists of its groups without scanning all renditions, and the in-stream renditions of a group are added to a main Media Playlist once rather than once per variant that shares it.

avformat/mpegtsenc: add support for muxing LCEVC streams

16 October 17:39 - FFmpeg - James Almer

ffbuild/library.mak: add the devprogs target

16 October 16:36 - FFmpeg - lusoris

Commit a8968b1425 made the build and check targets depend on devprogs, but no rule defines devprogs, so make build and make check stop with "No rule to make target 'devprogs'".

avfilter/vf_scale_cuda: add YUV to RGB color space conversion

16 October 13:13 - FFmpeg - Zhao Zhili

When the input colorspace is unspecified, BT.601 (SMPTE 170M) is used as the default, matching swscale behavior.

avfilter/vf_scale_cuda: add RGB to YUV color space conversion

16 October 13:13 - FFmpeg - Zhao Zhili

The output YCbCr matrix and range are negotiated, and selectable via the new out_color_matrix and out_range options.

avfilter/vf_scale_cuda: support resizing during YUV<->RGB conversion

16 October 13:13 - FFmpeg - Timo Rothenpieler

Resizing is done on the RGB side: YUV to RGB conversion converts at the visible input size before scaling, RGB to YUV conversion converts after scaling at the output size.

avformat/mxfenc: Fail on invalid FFV1 versions instead of asserting

16 October 11:39 - FFmpeg - Michael Niedermayer

avfilter/dnn: zero-initialize the output-probe task

16 October 01:43 - FFmpeg - Jake Fineman

get_output_tf() (dnn_backend_tf.c) and get_output_ov() (dnn_backend_openvino.c) both declare `TaskItem task;` uninitialized and then unconditionally free task.in_frame/task.out_frame on their error path: ret = ff_dnn_fill_gettingoutput_task(&task, ...); if (ret != 0) goto err; err: av_frame_free(&task.out_frame); av_frame_free(&task.in_frame); ff_dnn_fill_gettingoutput_task() (dnn_backend_common.c) allocates in_frame first and, only if that succeeds, allocates out_frame and assigns both pointers into exec_params (and from there into the task via ff_dnn_fill_task()).


avcodec/bitpacked: refactor to support assembly optimizations

15 October 18:46 - FFmpeg - Devin Heitmueller

Move the packed YUV422P10 unpacking loop behind a function pointer and keep the existing C implementation as the default. Process multiples of eight through the DSP-style interface while retaining the C path for any remaining pixels.

avcodec/bitpacked: add AArch64 NEON unpacking

15 October 18:46 - FFmpeg - Devin Heitmueller

Unpack packed 10-bit YUV 4:2:2 in 16-pixel NEON blocks and unroll the main loop to 32 pixels.

avcodec/bitpacked: add x86 SIMD unpacking

15 October 18:46 - FFmpeg - Devin Heitmueller

Add runtime-dispatched SSSE3 and AVX2 implementations for packed 10-bit YUV 4:2:2.

avcodec/bitpacked: add AVX-512ICL unpacking

15 October 18:46 - FFmpeg - Devin Heitmueller

Use a masked exact-width load and VBMI byte permutations to expand each 40-byte group, then compact the planar Y, U, and V outputs.


avformat/aacdec: mark ADTS packets as keyframes

14 October 22:53 - FFmpeg - Wojciech Dzierżanowski

Since 40bd6d8355 ("avcodec/codec_desc: remove Intra Only prop for AAC") removed AV_CODEC_PROP_INTRA_ONLY from AAC, compute_pkt_fields() in libavformat/demux.c no longer sets AV_PKT_FLAG_KEY on packets produced by AAC demuxers. 64bb91fd3b ("avcodec/aac_parser: set key_frame and profile") restored this at the packet level for builds that use the AAC parser, and faea08b722 ("avcodec/aac/aacdec: set keyframe flag in output frames") together with 281b7fc02e ("avcodec/libfdk-aacdec: set keyframe flag and profile in output frames") did the same for decoder output frames.

avformat/rtpdec: fix dropped payload after reordering-queue delivery

14 October 22:15 - FFmpeg - Torbjörn Einarsson

ff_rtp_parse_packet() drains a depacketizer's internally buffered data on the follow-up buf==NULL call only while s->prev_ret > 0.

avcodec/mjpegenc: add intra_dc_precision option

14 October 22:08 - FFmpeg - Satvik Upadhyaya

avcodec/amfenc: make encoder statistics feedback opt-in

14 October 21:08 - FFmpeg - Marcin Krycki

Commit 87b7e578ec ("avcodec/amfenc: add encoder average QP stats") enables AMF_VIDEO_ENCODER_*_STATISTICS_FEEDBACK on every submitted surface.

avcodec/bsf: add jpegapp to inject JPEG APP segments

14 October 20:43 - FFmpeg - Reinhard Nißl

Inject APP0..APP15 segments from a length-prefixed sidecar into each MJPEG packet after SOI.

avformat/async: Make abort_request atomic

14 October 17:45 - FFmpeg - Michael Niedermayer

The inner protocol calls async_check_interrupt() from the worker thread without the mutex, while async_close() sets abort_request from the caller thread.

lavc/hevcdec: skip boundary strength computation for identical MvFields

14 October 13:35 - FFmpeg - Charly Morgand-Poyac

deblocking_boundary_strengths() runs on the full 8x8 grid without knowing the PU partitioning, so on inter content the two MvField entries it compares are identical most of the time.


ffplay: render only the chapter list strips that changed

13 October 22:12 - FFmpeg - Michael Niedermayer

The list is kept in one bitmap made of horizontal strips: the header, each row, the bottom padding and each line of the metadata popup.

apv_metadata: Add delete_filler option

13 October 20:16 - FFmpeg - Mark Thompson

Deletes all filler bytes in the stream: