16:05
avcodec/dovi_rpuenc,dec: fix ms_weight handling The code as written was wrong. In the spec, these fields are treated merely as plain integers in the range 0 to 4095. The only difference between L2 and L8 is that L2.ms_weight also accepts an additional value of -1, hence the extra sign bit. While it's likely that these are still shifted integers in disguise, since all real-world samples seem to use a value of 2048 here, the offset used in the code was wrong. In addition, because the l8.ms_weight struct member is unsigned, these wrong shifting semantics ended up overflowing the field, (...)
11:18
avformat/fwse: Remove always false expression Fixes: CID1460758 Operands don't affect result Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer <michaelⓐniedermayer.cc> [DH] libavformat/fwse.c
01:33
channel_layout: add new channel positions supported by xHE-AAC apichanges will be updated upon merging, as well as a version bump. [DH] libavutil/channel_layout.c [DH] libavutil/channel_layout.h
18:09
lavc/sbrdsp: add support for 256-bit vectors hf_apply_noise_0_c: 35.7 hf_apply_noise_0_rvv_f32: 9.5 hf_apply_noise_1_c: 38.5 hf_apply_noise_1_rvv_f32: 10.0 hf_apply_noise_2_c: 35.5 hf_apply_noise_2_rvv_f32: 9.7 hf_apply_noise_3_c: 38.5 hf_apply_noise_3_rvv_f32: 10.0 Maybe extending the noise table manually is not such great idea, but I not quite sure how to deal with that otherwise? Allocating the table dynamically is possible but would require an ELF destructor to clean up. [DH] libavcodec/riscv/sbrdsp_init.c [DH] (...)
11:32
avcodec/h2645_sei: loosen up min luminance requirements The H.265 specification is quite clear on this case: > When min_display_mastering_luminance is not in the range of 1 to > 50000, the nominal maximum display luminance of the mastering display > is unknown or unspecified or specified by other means not specified in > this Specification. And so the current code is correct in marking luminance data as invalid if min luminance is set to 0. However, this breaks playback of at least several real-world Blu-ray releases, for example La La Land, Planet of the Apes, and quite (...)
17:48
lavc/sbrdsp: fold immediate offset into relocation This results in AUIPC; ADDI instead of AUIPC; ADDI; ... ADDI. [DH] libavcodec/riscv/sbrdsp_rvv.S
13:43
lavc/vp8dsp: save one R-V GPR This saves one instruction and frees up A5, which will be repurposed in later changes. Unfortunately, we need to add quite a lot of alternative code for this. [DH] libavcodec/riscv/vp8dsp_rvv.S
12:17
lavc/vp8dsp: factor R-V V bilin functions For a given type, only the first VSETVLI instruction varies depending on the size. [DH] libavcodec/riscv/vp8dsp_rvv.S
10:41
lavc/vp8dsp: avoid one multiplication on RISC-V Use shifts rather than multiply, and save one instruction. [DH] libavcodec/riscv/vp8dsp_init.c [DH] libavcodec/riscv/vp8dsp_rvv.S
00:52
avformat/hlsenc: Remove dead ret stores Fixes: CID1529222 Unused value Sponsored-by: Sovereign Tech Fund Reviewed-by: Steven Liu <lingjiujiankeⓐgmail.com> Signed-off-by: Michael Niedermayer <michaelⓐniedermayer.cc> [DH] libavformat/hlsenc.c
18:09
lavc/sbrdsp: fix potential overflow in noise table Since the SBR noise application optimisations are currently restricted to hardware with 128-bit vectors, and use a quadruple multipler, they can load up to 16 32-bit elements. But the "loads" are of 2 segments, or 16 pairs of single precision float. Thus we need to expand the dupiclated section of the noise table from 2x8 to 2x16 to avoid overflows. [DH] libavcodec/sbrdsp_template.c
17:51
lavc/sbrdsp: fix inverted boundary check 128-bit is the maximum, not the minimum here. Larger vector sizes can result in reads past the end of the noise value table. This partially reverts commit cdcb4b98b7f74d87a6274899ff70724795d551cb. [DH] libavcodec/riscv/sbrdsp_init.c