lavc/hevcdec: decode tiles in parallel under slice threading

4 October 20:45 - FFmpeg - Charly Morgand-Poyac

Each tile of a whole-frame single-slice picture is an independent substream; decode them concurrently, then filter the frame serially.

Linux 7.3-rc6

4 October 20:45 - Linux Kernel - Linus Torvalds

avformat/version: properly bump version for Gain Map stream group

4 October 16:59 - FFmpeg - James Almer

The version was mistakenly reverted from 63.

avcodec/aacenc: add support for 5.1.6 and 7.1.6 layouts using PCE

4 October 13:46 - FFmpeg - James Almer

avcodec/aaccoder_nmr, aacenc, aacpsy: nd-target VBR

4 October 08:51 - FFmpeg - Lynne

-q:a with the NMR coder becomes a quality-domain VBR: bisect the pooled lambda until the mean log2 dist/real-mask over coded bands (floored at-4/band, so a flat sf-chain over-coding quiet bands cannot let a coarser lambda read as a finer statistic) meets a target.

avcodec/aaccoder_nmr, aacenc, aacpsy: -aac_rc abr

4 October 08:51 - FFmpeg - Lynne

-aac_rc cbr|abr (default cbr).

avcodec/aacpsy: gap-onset attacks, HF-novelty veto, level-homogeneous short grouping

4 October 08:51 - FFmpeg - Lynne

Three changes to the LAME-style window switch and short-window grouping. Gap-onset detection.

avcodec/aacpsy: stronger PE demand shaping, signal-relative mask floor

4 October 08:51 - FFmpeg - Lynne

PE demand shaping.

avcodec/aaccoder_nmr, aacenc: allocation law retune, HF taper, PNS rework, bandwidth ladder

4 October 08:51 - FFmpeg - Lynne

Allocation and band-selection changes to the NMR coder. Allocation law.

avcodec/aacenc: M/S balance gate, perceptual intensity stereo

4 October 08:51 - FFmpeg - Lynne

M/S balance gate.

lavu/tx: add AArch64 NEON fft15 codelet

4 October 08:38 - FFmpeg - Lynne

Based on the C code in doc/transforms.

lavu/tx: add AArch64 NEON fft_pfa_15xM

4 October 08:38 - FFmpeg - Lynne

Same as the x86 version.

lavu/tx: add AArch64 NEON inverse MDCT

4 October 08:38 - FFmpeg - Lynne

Same as the x86 version.

lavu/tx: contiguous fast path for the AArch64 inverse MDCT pre-rotation

4 October 08:38 - FFmpeg - Lynne

An optimization that gives 20% speedup in return for a dozen more tail complete instructions.


  • Most Popular This Week

avformat/dump: add some indentation to IAMF Audio Element stream lines

3 October 20:52 - FFmpeg - James Almer

Cosmetic change.

avfilter/vf_fps: preserve first output frame at EOF

3 October 15:53 - FFmpeg - Skanda Vyas

When the input duration rounds to zero in the output timebase, the rounded EOF timestamp can equal next_pts before any frame has been output.

[truetype] Compare VARC condition values before rounding

3 October 07:41 - FreeType - Behdad Esfahbod

Condition format 2 tests whether default plus interpolated delta is positive.


avfilter/dnn: add dnn_classify support to ONNX Runtime backend

2 October 15:00 - FFmpeg - Minh Anh Nguyen

Add dnn_classify filter support to the ONNX Runtime DNN backend so classification inference can run with ONNX models. Classifier outputs of rank 2 [N,C] and rank 1 [C] are promoted to [N,C,1,1], since common classification models produce these shapes.

avformat/shared: add -metadata_dir option

2 October 12:35 - FFmpeg - Niklas Haas

This allows storing metadata in a separate directory, e.g.

[truetype] Support extended VARC coverage

2 October 08:01 - FreeType - Behdad Esfahbod

Handle Coverage formats 3 and 4 when looking up VARC base glyphs.

[sfnt] Support COLR PaintGlyph2.

2 October 07:51 - FreeType - Behdad Esfahbod

Decode PaintGlyph2's 24-bit glyph ID and expose it through the existing FT_PaintGlyph API.

avcodec/mips/h264dsp_msa: Fix edge cases for bi-weight on MSA

2 October 00:49 - FFmpeg - Zuxy Meng

S16 saturating sum must be computed dot-product-first.


avformat/rtsp: send TEARDOWN on close despite a pending user interrupt

1 October 22:38 - FFmpeg - Thomas Devoogdt

Closing an RTSP session while the AVFormatContext interrupt callback is already asserted - e.g.

swscale: do not use the unscaled converters across a chroma position change

1 October 14:31 - FFmpeg - Kacper Michajłow

The unscaled special converters copy the chroma samples as they are, or average or interpolate them when the subsampling changes, so the samples keep their offset from the center of the luma area they cover and a change of chroma sample position was silently dropped.

swscale: pass the chroma positions to the cascaded contexts

1 October 14:31 - FFmpeg - Kacper Michajłow

The alpha blending, gamma, Bayer, YUV matrix and large downscale cascades set up their contexts without the chroma positions, so both ends of the conversion fell back to the default siting.

swscale: infer an unspecified chroma location from the other side

1 October 14:31 - FFmpeg - Kacper Michajłow

A frame without a chroma location was taken as center sited, so a conversion with the location set on one side only moved the chroma to or from center.

avfilter: add link negotiation for AVChromaLocation

1 October 14:31 - FFmpeg - Kacper Michajłow

Chroma sample location is the last of the video colorimetry properties without a negotiated link value, so nothing downstream can ask a filter for a particular siting and no encoder can constrain the graph.

avfilter/vf_scale_vulkan: convert to the negotiated chroma location

1 October 14:31 - FFmpeg - Kacper Michajłow

The output link accepts any location and the frames are converted to the negotiated one.

avfilter/buffersink: add support for chroma locations

1 October 14:31 - FFmpeg - Kacper Michajłow

Lets the caller read back the negotiated chroma location and constrain the sink to a list of accepted ones.

fftools/ffmpeg: add chroma location support

1 October 14:31 - FFmpeg - Kacper Michajłow

Carry the chroma location through the filter graph the way the other video color properties already are.

tests/fate/vcodec: declare the chroma location of the vsynth sources

1 October 14:31 - FFmpeg - Kacper Michajłow

The raw vsynth files are center sited, tag the input and output for randtrip comparision. DV is top-left sited, MPEG-2 is left in 4:2:0 and top-left in 4:2:2, MPEG-4 is left, all three encoders report that and the conversion into it is negotiated.


swresample: skip the rematrix stage when there are no samples

30 September 14:40 - FFmpeg - Kacper Michajłow

When resampling first, a call that produced no output passed midbuf to swri_rematrix() before it was ever allocated, and copied channels did a memcpy() of zero bytes from NULL.

avfilter/vf_gainmap: add filter to compute a gain map

30 September 12:37 - FFmpeg - Niklas Haas

This is a mostly straightforward translation of the logic from ISO 21496. Implementation notes: - Slice threading is used to vastly speed up processing - We quantize the EOTF to a LUT if possible; this doesn't work for HLG becaus HLG embeds a channel-dependent OOTF.

avcodec/mjpegenc: add support for writing ISO 21496-1 gain map metadata

30 September 12:37 - FFmpeg - Niklas Haas

This is automatically emitted as an APP2 blob following the ISO 21496-1 specification.

avformat/jpegmpfenc: add JPEG-MPF muxer

30 September 12:37 - FFmpeg - Niklas Haas

This can be used to store two (or more, in principle) JPEG images in a single Multiple Picture Format (MPF) file.

avcodec/gain_map: add support for serializing XMP metadata

30 September 12:37 - FFmpeg - Niklas Haas

This is strictly worse than the ISO21496 blob, but apparently Google tools refuse to identify Jpeg Ultra HDR images as such without this stupid XML blob.

avcodec/mjpegenc: add -xmp_gain_map option

30 September 12:37 - FFmpeg - Niklas Haas

Controls whether or not to serialize the gain map as an XMP blob in addition to an ISO blob.

avformat/jpegmpfenc: serialize GContainer XMP APP1 if needed

30 September 12:37 - FFmpeg - Niklas Haas

If the gain map image contains an hdrgm XMP blob, we need to serialize the corresponding GContainer in the base image.

avutil/gain_map: add AVGainMapParams and side data type

30 September 12:37 - FFmpeg - Niklas Haas

This commit just adds the public facing struct definitions and side data.

swscale/rational64: use 64-bit math whenever possible

30 September 11:51 - FFmpeg - Niklas Haas

The runtime of av_q64() ops are dominated by reduce128()'s 128-bit divisions.


avutil/tests/lls: make the printed values platform independent

29 September 20:39 - FFmpeg - Kacper Michajłow

The residual variance of an exact fit ends up a few ulp below zero, so the square root printed for it is NaN.

avformat/libcurl: add delay before subsequent retries

29 September 19:36 - FFmpeg - Niklas Haas

Note that unlike

swscale/tests/swscale: don't skip same-size conversions by default

29 September 18:54 - FFmpeg - Ramiro Polla

This fixes a regression from fcaafd2c11, when the -scaler/-scaler_sub options were added.

swscale/tests/swscale: don't skip same-format conversions with -hw

29 September 18:54 - FFmpeg - Ramiro Polla

It's the library that should report ENOTSUP on unsupported conversions, and not the test tool that should silently skip it.

avfilter/deinterlace_vaapi: keep previous PTS in 64 bits

29 September 14:07 - FFmpeg - yusuke iijima

prev_pts stores an AVFrame timestamp but is declared as int.