Robert Mader 9c10ea18c5 RFC: ConvertToI420: Add WithSrcStride variant
Some users - notably the libwebrtcs VideoCaptureImpl::IncomingFrame() -
are currently limited by the fact that the source stride is derived from
the format and buffer width, preventing it from supporting padded
buffers.
Padded buffers are useful if camera providers have hardware limitations
regarding the stride, sometimes requiring alignments to e.g. 64/128/256
bytes.

All the actual conversion implementations already support dedicated
source strides, thus let's add a variant of ConvertToI420() -
ConvertToI420WithSrcStride() - allowing users to pass through an
explicit stride.

Bug:538875176
Change-Id: I323729a315b26e96d7dbb93e68f04fbdd8120afe
2026-07-26 12:17:23 +02:00
..
compare_common.cc clang-tidy applied 2021-04-01 21:42:47 +00:00
compare_gcc.cc ARGBToJ444 use 256 for fixed point scale UV 2025-02-27 13:04:15 -08:00
compare_neon64.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
compare_neon.cc Apply format with no code changes 2025-02-24 23:57:01 -08:00
compare_win.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
compare.cc Don't coalesce rows if width*height would overflow 2026-05-29 11:57:47 -07:00
convert_argb.cc I420ToRAW and I420ToRGB24 1 pass AVX2 and AVX512VBMI 2026-07-20 18:15:10 -07:00
convert_from_argb.cc [libyuv] Fix NV21 chroma plane ordering in ARGBToNV21Matrix 2026-07-21 18:49:32 -07:00
convert_from.cc Fix integer overflow when flipping negative height 2026-06-03 16:17:37 -07:00
convert_jpeg.cc PlaneScale, UVScale and ARGBScale test 3x and 4x down sample. 2020-10-28 20:41:59 +00:00
convert_to_argb.cc Fix Coverity Control flow issues (DEADCODE) 2026-07-01 10:39:22 -07:00
convert_to_i420.cc RFC: ConvertToI420: Add WithSrcStride variant 2026-07-26 12:17:23 +02:00
convert.cc [libyuv] Fix color matrix constants in RAWToI420 2026-07-21 18:31:48 -07:00
cpu_id.cc add bmm detect and vdpphps in util/cpuid 2026-06-09 14:52:48 -07:00
mjpeg_decoder.cc Fix incorrect deletion. Should use delete[], not delete 2026-07-06 14:11:24 -07:00
mjpeg_validate.cc Update to r1732 for more robust jpeg 2019-07-01 22:32:36 +00:00
planar_functions.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
rotate_any.cc Deprecate MIPS and MSA support. 2025-10-16 12:20:40 -07:00
rotate_argb.cc ARGBRotate180: Check if width * 4 would overflow 2026-07-21 15:44:24 -07:00
rotate_common.cc Remove redundant #include <stddef.h> 2026-05-28 17:10:22 -07:00
rotate_gcc.cc Use ptrdiff_t for buffer offsets 2026-04-28 18:21:42 -07:00
rotate_lsx.cc [AArch64] Use full vectors in TransposeWx{8 => 16}_NEON 2024-05-21 07:46:42 +00:00
rotate_neon64.cc Fix integer overflow in multiplications of stride 2026-05-28 14:12:37 -07:00
rotate_neon.cc Fix integer overflow in multiplications of stride 2026-05-28 14:12:37 -07:00
rotate_sme.cc [AArch64] Re-enable SME only for Linux and new versions of Clang 2024-09-23 09:29:53 +00:00
rotate_win.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
rotate.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_any.cc I420ToRAW and I420ToRGB24 1 pass AVX2 and AVX512VBMI 2026-07-20 18:15:10 -07:00
row_common.cc Add more size_t and ptrdiff_t casts 2026-07-21 10:42:04 -07:00
row_gcc.cc [libyuv] Fix 32-bit x86 register constraint in I422ToRGB24Row_AVX2 2026-07-20 23:35:02 -07:00
row_lasx.cc loongarch: fix row_lsx.cc and row_lasx.cc 2026-07-01 13:06:09 -07:00
row_lsx.cc loongarch: fix row_lsx.cc and row_lasx.cc 2026-07-01 13:06:09 -07:00
row_neon64.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_neon.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_rvv.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_sme.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_sve.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
row_win.cc I420ToRAW and I420ToRGB24 1 pass AVX2 and AVX512VBMI 2026-07-20 18:15:10 -07:00
scale_any.cc Deprecate MIPS and MSA support. 2025-10-16 12:20:40 -07:00
scale_argb.cc Fix Coverity Control flow issues (DEADCODE) 2026-07-01 10:39:22 -07:00
scale_common.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
scale_gcc.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
scale_lsx.cc DetilePlane and unittest for NEON 2022-01-31 20:05:55 +00:00
scale_neon64.cc Apply format with no code changes 2025-02-24 23:57:01 -08:00
scale_neon.cc Apply format with no code changes 2025-02-24 23:57:01 -08:00
scale_rgb.cc Fix Coverity Control flow issues (DEADCODE) 2026-07-01 10:39:22 -07:00
scale_rvv.cc Replace RAWToY/RGB24ToY with RGBToYMatrix 2026-04-21 17:11:14 -07:00
scale_sme.cc Apply clang format 2025-01-02 13:31:20 -08:00
scale_uv.cc Validate int param is not INT_MIN before negating 2026-06-04 21:55:57 -07:00
scale_win.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
scale.cc BGRAToI420 use BgraConstants for a direct conversion using AVX512BW 2026-06-08 12:21:47 -07:00
test.sh Optimze ABGRToI420 for AVX2 2020-06-04 18:24:45 +00:00
video_common.cc Lint cleanup after C99 change CL 2018-01-24 19:16:03 +00:00