Package: libvpx / 1.12.0-1+deb12u3

Metadata

Package Version Patches format
libvpx 1.12.0-1+deb12u3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Relax ABI check.patch | (download)

vpx/src/vpx_decoder.c | 2 1 + 1 - 0 !
vpx/src/vpx_encoder.c | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 relax abi check

We have symbol files and version dependencies to properly track this.

0002 encode_api_test add ConfigResizeChangeThreadCount.patch | (download)

test/encode_api_test.cc | 50 49 + 1 - 0 !
1 file changed, 49 insertions(+), 1 deletion(-)

 encode_api_test: add configresizechangethreadcount
0003 VP8 disallow thread count changes.patch | (download)

test/encode_api_test.cc | 4 0 + 4 - 0 !
vp8/encoder/onyx_if.c | 5 5 + 0 - 0 !
2 files changed, 5 insertions(+), 4 deletions(-)

 vp8: disallow thread count changes
0004 Fix bug with smaller width bigger size.patch | (download)

vp9/common/vp9_alloccommon.c | 13 6 + 7 - 0 !
vp9/encoder/vp9_encoder.c | 27 25 + 2 - 0 !
2 files changed, 31 insertions(+), 9 deletions(-)

 fix bug with smaller width bigger size
0001 Add test vpx_image_test.cc.patch | (download)

test/test.mk | 1 1 + 0 - 0 !
test/vpx_image_test.cc | 45 45 + 0 - 0 !
2 files changed, 46 insertions(+)

 add test/vpx_image_test.cc

Ported from test/aom_image_test.cc in libaom commit 04d6253.

0002 Fix integer overflows in calc of stride_in_bytes.patch | (download)

test/vpx_image_test.cc | 36 36 + 0 - 0 !
vpx/src/vpx_image.c | 31 19 + 12 - 0 !
2 files changed, 55 insertions(+), 12 deletions(-)

 fix integer overflows in calc of stride_in_bytes

A port of the libaom CL
https://aomedia-review.googlesource.com/c/aom/+/188761.

Fix unsigned integer overflows in the calculation of stride_in_bytes in
img_alloc_helper() when d_w is huge.

Change the type of stride_in_bytes from unsigned int to int because it
will be assigned to img->stride[VPX_PLANE_Y], which is of the int type.

Test:
. ../libvpx/tools/set_analyzer_env.sh integer
../libvpx/configure --enable-debug --disable-optimizations
make -j
./test_libvpx --gtest_filter=VpxImageTest.VpxImgAllocHugeWidth

Bug: chromium:332382766
0003 Avoid integer overflows in arithmetic operations.patch | (download)

test/vpx_image_test.cc | 19 19 + 0 - 0 !
vpx/src/vpx_image.c | 11 11 + 0 - 0 !
vpx/vpx_image.h | 16 11 + 5 - 0 !
3 files changed, 41 insertions(+), 5 deletions(-)

 avoid integer overflows in arithmetic operations

A port of the libaom CL
https://aomedia-review.googlesource.com/c/aom/+/188823.

Impose maximum values on the input parameters so that we can perform
arithmetic operations without worrying about overflows.

Also change the VpxImageTest.VpxImgAllocHugeWidth test to write to the
first and last samples in the first row of the Y plane, so that the test
will crash if there is unsigned integer overflow in the calculation of
stride_in_bytes.

Bug: chromium:332382766
0004 Fix a bug in alloc_size for high bit depths.patch | (download)

vpx/src/vpx_image.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 fix a bug in alloc_size for high bit depths

I introduced this bug in commit 2e32276:
https://chromium-review.googlesource.com/c/webm/libvpx/+/5446333

I changed the line

  stride_in_bytes = (fmt & VPX_IMG_FMT_HIGHBITDEPTH) ? s * 2 : s;

to three lines:

  s = (fmt & VPX_IMG_FMT_HIGHBITDEPTH) ? s * 2 : s;
  if (s > INT_MAX) goto fail;
  stride_in_bytes = (int)s;

But I didn't realize that `s` is used later in the calculation of
alloc_size.

As a quick fix, undo the effect of s * 2 for high bit depths after `s`
has been assigned to stride_in_bytes.

Bug: chromium:332382766