17:02
avformat/mov: add more sanity checks when reading clap boxes If the apperture window is bigger than the canvas, then the clap box is invalid and there's no point calculating cropping values. Fixes: libavformat/mov.c:1295:14: runtime error: -256 is outside the range of representable values of type 'unsigned long' Signed-off-by: James Almer <jamrialⓐgmail.com> [DH] libavformat/mov.c
13:54
avfilter/vf_overlay: Avoid converting stride to uint16_t and back Just keep the pointers for the beginning of a line uint8_t* and use uint16_t* to do the actual processing. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardtⓐoutlook.com> [DH] libavfilter/vf_overlay.c
01:20
avfilter/vf_overlay: Don't perform UB pointer arithmetic This happens when the pixel format of the output does not have an alpha channel. It leads to FATE failures with the ffmpeg-filter_colorkey, filter-overlay-dvdsub-2397 filter-overlay, filter-overlay_gbrp_gbrap,nv12,nv21,yuv420,yuv420_yuva420, yuv420p10,yuv422_yuva422,yuv422p10,yuv444_yuva444,yuv444p10 and sub2video tests when using Clang UBSan. Fix this by only performing the pointer arithmetic when it is going to be used. This can be checked via variables that compile-time constants due to inlining, so that the checks are free. (...)
14:28
avfilter/vf_overlay: Pass variable type directly in macro Improves readability. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardtⓐoutlook.com> [DH] libavfilter/vf_overlay.c
17:34
avfilter/vf_overlay: Use correct alpha when > 8 bits When chroma subsampling is in use, the filter averages the corresponding (non subsampled) alpha values to get the actual alpha value. When vertical subsampling is in use, the next line is accessed via a[src->linesize[3]], yet a is an uint16_t* for >8 bit formats and linesize is always in bytes, so that this actually uses the second line below the current one. This is fixed in this commit. No FATE test needed updates, because the filter-overlay-yuv420p10 and filter-overlay-yuv444p10 tests use a yuv420p test file that has (...)
18:27
avfilter/vf_overlay: Hoist calculations out of loop Also use const where appropriate. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardtⓐoutlook.com> [DH] libavfilter/vf_overlay.c
18:06
avfilter/vf_overlay: Keep dst_step in bytes Signed-off-by: Andreas Rheinhardt <andreas.rheinhardtⓐoutlook.com> [DH] libavfilter/vf_overlay.c
04:33
avutil/hwcontext_videotoolbox: fix color primaries check Fix incorrect enum value used in color primaries check by replacing AVCOL_SPC_UNSPECIFIED with AVCOL_PRI_UNSPECIFIED. Signed-off-by: Jun Zhao <barryjzhaoⓐtencent.com> [DH] libavutil/hwcontext_videotoolbox.c
15:52
hwcontext_vulkan: add a setting to limit queues If its a problem, you'll likely want to set it to 1 than more fine-grained control, which you can already do via the API. [DH] libavutil/hwcontext_vulkan.c
08:36
avcodec/d3d12va_encode: fix l0 reference count limit Prevents potential null pointer dereference when querying MaxL1ReferencesForB from codec-specific support structures during GOP structure initialization. Signed-off-by: Tong Wu <wutong1208ⓐoutlook.com> [DH] libavcodec/d3d12va_encode.c
05:38
lavc/dxvenc: fix big-endian issues in dxv_compress_dxt1 We were using a mix of pointers to local variables read via AV_RL32/64 and pointers directly to the texture buffer as keys to interact with the lookback hashtables. On big-endian systems, these produced different values. This change makes all hashtable interactions use direct pointers to the texture buffer and only invokves AV_RL32 in the event of a lookback hashtable miss. Signed-off-by: Emma Worley <emmaⓐemma.gg> [DH] (...)