Harish Mahendrakar
b92a37e21e
[decoder] Use pixel_size_y and pixel_size_uv in ihevcd_check_out_buf_size
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
Account for luma and chroma pixel sizes when validating minimum output buffer sizes in ihevcd_check_out_buf_size to prevent output buffer overflows for high bit-depth streams. Also update DecHelper::decodeFrame to include pixelSize in u4_min_out_buf_size.
2026-10-05 06:56:59 -07:00
Harish Mahendrakar
dd866a72b3
hevc_dec_fuzzer: Update mBitDepth in decodeFrame
...
Check for changes in u4_bit_depth and update mBitDepth before reallocating frame buffers in Codec::decodeFrame.
2026-10-05 06:56:45 -07:00
Harish Mahendrakar
dccfadf8f5
[decoder] Reject bit_depth_minus8 values other than 0 and 2
...
The decoder only supports 8-bit and 10-bit streams. Return IHEVCD_UNSUPPORTED_BIT_DEPTH if bit_depth_luma_minus8 or bit_depth_chroma_minus8 is not 0 or 2.
2026-10-05 06:56:31 -07:00
Harish Mahendrakar
a74d8b03cb
Validate tests in Android
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
2026-10-01 17:34:04 -07:00
Harish Mahendrakar
2887504d35
Add u4_enable_hbd to control 10-bit decoding support
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
- Add u4_enable_hbd member to ihevcd_cxa_create_ip_t and codec_t.
- Return error in ihevcd_parse_sps if u4_enable_hbd is 0 and bit_depth_luma_minus8 or bit_depth_chroma_minus8 are non-zero.
- Initialize u4_enable_hbd to 1 by default in main.c, DecHelper/DecTests, and hevc_dec_fuzzer.cpp.
- Add --enable_hbd command line option in main.c.
- Add test in DecTests.cpp to ensure decoder returns an error when decoding 10b clip with u4_enable_hbd set to 0.
2026-09-29 08:29:55 +05:30
Harish Mahendrakar
2954873b8f
[decoder] Use ihevc_memset_16bit_fptr to initialize reference picture buffers
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
Dispatch via ihevc_memset_16bit_fptr instead of calling ihevc_memset_16bit
directly when initializing reference picture buffers for the first frame.
2026-09-28 07:15:04 -07:00
Harish Mahendrakar
8b9315b93e
[decoder] Remove unused function pointer members from func_selector_t
...
Remove 8 function pointer members from func_selector_t that are never
invoked anywhere in the decoder:
- ihevc_itrans_4x4_ttype1_fptr
- ihevc_itrans_4x4_fptr
- ihevc_itrans_8x8_fptr
- ihevc_itrans_16x16_fptr
- ihevc_itrans_32x32_fptr
- ihevc_memset_16bit_mul_8_fptr
- ihevc_weighted_pred_chroma_bi_default_fptr
- ihevc_hbd_weighted_pred_chroma_bi_default_fptr
2026-09-28 07:14:43 -07:00
Harish Mahendrakar
89da890161
Added benchmark tests for ihevc modules
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
2026-09-26 11:04:34 -07:00
Harish Mahendrakar
e5a13d1dd1
tests: Decouple gtest headers from common test utilities
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
Remove unused <gtest/gtest.h> includes from TestCommon.cc, func_selector.h,
and func_selector.cc. Wrap compare_output in TestCommon.h with
#if __has_include(<gtest/gtest.h>) so that common test utilities can be
reused by targets that do not depend on gtest (such as benchmarks).
2026-09-24 19:09:32 -07:00
Harish Mahendrakar
bd84669497
correct input bufsize in get_bufinfo call for 422/444
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
2026-09-24 07:52:16 -07:00
Harish Mahendrakar
ed39d22ba1
[DecTests] Enable 10-bit decoder tests
2026-09-24 07:15:54 -07:00
Harish Mahendrakar
ba236e2168
Enable HBD support in SPS parsing modules
2026-09-24 06:55:40 -07:00
Harish Mahendrakar
4fc1fef4bf
[decoder]: Add 10-bit SAO support
2026-09-24 06:55:25 -07:00
Harish Mahendrakar
cf50937101
[decoder]: Use pixel_size_y and pixel_size_uv to compute SAO address offsets
2026-09-24 06:55:25 -07:00
Harish Mahendrakar
f06c6adac7
Consolidate sao_10bd_t into sao_t
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
2026-09-23 21:49:38 -07:00
Harish Mahendrakar
b7bb9836ff
Invoke HBD iq it recon functions
2026-09-23 21:49:25 -07:00
Harish Mahendrakar
cd3ba3e0b4
Update SAO scratch allocations for HBD
2026-09-23 21:49:03 -07:00
Harish Mahendrakar
f6e0db2aa3
Invoke HBD format conversion functions
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
2026-09-23 07:03:49 -07:00
Harish Mahendrakar
3505dee824
Fix indentation in ihevcd_iquant_itrans_recon_ctb.c
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
This has no functional changes. This is done to make it easier to review
the updates for HBD support that will be done in the subsequent commits.
2026-09-22 07:16:34 -07:00
Harish Mahendrakar
65d2584a81
Invoke HBD inter pred functions
2026-09-22 07:16:18 -07:00
Harish Mahendrakar
38322d5ce4
Allow QP to be negative for HBD
2026-09-22 07:16:02 -07:00
Harish Mahendrakar
b4c9c51f29
[decoder] Detect dynamic change in bit-depth and chroma format
...
bit-depth is still not allowed to be greater than 8, but this adds support to
detect dynamic changes in bit-depth which will not be supported.
2026-09-22 07:15:41 -07:00
Harish Mahendrakar
0f30d73943
Add support for parsing PCM for HBD
2026-09-22 07:15:24 -07:00
Harish Mahendrakar
d16a0a0f4c
[decoder] Add support to set output chroma to 128 or 512 based on bit-depth for monochrome
2026-09-22 07:15:10 -07:00
Harish Mahendrakar
d92b1ed2e3
invoke hbd padding functions
2026-09-22 07:14:50 -07:00
Harish Mahendrakar
30b9f67578
invoke hdb deblocking functions
2026-09-22 07:14:36 -07:00
Harish Mahendrakar
6ea3de6e18
[decoder]: Add i4_qp_bd_offset_y and i4_qp_bd_offset_uv support
...
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
- Declare i4_qp_bd_offset_y and i4_qp_bd_offset_uv in codec_t
- Initialize i4_qp_bd_offset_y and i4_qp_bd_offset_uv in ihevcd_parse_sps()
- Use i4_qp_bd_offset_y in slice_qp clipping and CU QP calculation
- Use i4_qp_bd_offset_y in luma dequantization (qp_div and qp_rem)
2026-09-21 06:53:55 -07:00
Harish Mahendrakar
8ffe80c8bd
Update weighted pred parsing module to support HBD
2026-09-21 06:53:39 -07:00
Harish Mahendrakar
ed63d991e9
[decoder]: Add and initialize HBD leaf-level function pointers
...
- Add HBD typedefs and function pointer arrays to codec_t in ihevcd_structs.h
- Add HBD function pointers to func_selector_t in ihevcd_function_selector.h
- Initialize generic HBD function pointers in ihevcd_function_selector_generic.c
- Invoke ihevcd_init_function_ptr_generic in ARM and x86 function selectors
2026-09-21 06:53:25 -07:00
Harish Mahendrakar
dd14d7f6de
[decoder]: Change pu1_pic_qp and pu1_qp to WORD8 type and rename
...
QP can be negative in HBD path.
- Change pu1_pic_qp and pu1_qp to WORD8 type
- Rename pu1_pic_qp and pu1_qp to pi1_pic_qp and pi1_qp
- Update offset accesses to pi1_qp and pi1_pic_qp across deblocking,
boundary strength, and slice parsing
2026-09-21 06:53:06 -07:00
Harish Mahendrakar
b91df9fcac
[decoder]: Use pixel_size_y and pixel_size_uv to compute sizes and address offsets
...
Port changes from hbd branch that use pixel_size_y and pixel_size_uv
to compute buffer sizes and address offsets:
- ihevcd_utils: Scale picture buffer sizes and pointer offsets.
- ihevcd_process_slice: Scale CTB offsets and bottom padding offsets.
- ihevcd_deblk: Scale source pointers, strides, and rewind offsets.
- ihevcd_fmt_conv: Scale cropping and row address offsets, and copy strides.
- ihevcd_inter_pred: Scale reference picture addresses and destination offsets.
- ihevcd_iquant_itrans_recon_ctb: Scale IPCM buffers, TU/sub-TU pred/dst pointers,
intra reference substitution buffers, and neighbor pointers.
- ihevcd_api: Scale SAO buffer allocations and offsets, SAO structure size,
bitstream buffer size, and min output buffer sizes.
2026-09-21 06:52:43 -07:00
Harish Mahendrakar
4ab9671c9c
libhevc: Add Android.bp and TradeFed configs for HevcTest
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
Add Android.bp, AndroidTest.xml, and DynamicConfig.xml for HEVC decoder
and encoder unit tests under tests/.
- Create HevcTest cc_test target combining decoder and encoder tests
- Consolidate libhevc_dec_helper and libhevc_enc_helper in tests/Android.bp
- Add AndroidTest.xml and DynamicConfig.xml referencing HevcTestRes-1.0
Test: m HevcTest
TAG=agy
CONV=45ddf533-39e8-4532-85df-085db1ce522a
(cherry picked from commit e528efb13d )
2026-09-18 14:15:47 -07:00
Harish Mahendrakar
5b574436c3
Add hbd functions for ihevcd_fmt_conv and ihevcd_itrans_recon_dc
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
2026-09-17 16:15:01 -07:00
Harish Mahendrakar
8e4247c53e
[decoder]: Add few entries in codec_t and initialize them for default paths
...
Added few members in codec_t and initialized them for 420P, 8bit path.
When HBD support is added these will be updated based on the parsed headers.
2026-09-17 12:54:51 -07:00
Harish Mahendrakar
816221d81e
libhevcdec: Reset PPS scratch buffer and extension flags before parsing
...
When parsing PPS in ihevcd_parse_pps(), the scratch buffer
ps_codec->s_parse.ps_pps_base + MAX_PPS_CNT - 1 was not reset to zero,
unlike ihevcd_parse_sps(). In streams with concatenated sequences where
an earlier sequence set pps_extension_present_flag and range extension
flags, subsequent sequences without PPS extensions would retain the stale
flags. This caused the parser to attempt reading non-existent range
extension syntax, leading to bitstream parsing failure.
- In ihevcd_parse_pps(), reset the scratch PPS structure to zero upon
entry while preserving pi2_scaling_mat and ps_tile pointers.
- In both ihevcd_parse_pps() and ihevcd_parse_sps(), explicitly zero all
extension flags when pps_extension_present_flag / sps_extension_present_flag
is 0.
Test: ./hevc_dec_tests
TAG=agy
CONV=476d1054-10ff-4f19-88d5-a1c8dae7b57f
(cherry picked from commit 4bf5819c62 )
2026-09-17 12:25:17 -07:00
Harish Mahendrakar
0ec4164e6a
Updated tests, fuzzer and examples to enable HBD testing.
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
As the decoder doesn't support high-bit-depth profiles,
10-bit decoder tests are currently disabled.
Also, updated the decoder tests to not silently ignore errors.
2026-09-16 15:45:58 -07:00
Harish Mahendrakar
fcdeaae045
[decoder] Add bit_depth to iv_yuv_buf_t and ivd_video_decode_op_t
...
This new field is currently hard-coded to 8. This will be updated
high bit-depth support is added later.
2026-09-16 15:45:58 -07:00
Harish Mahendrakar
5db9d97db5
common: Remove unnecessary ihevc_function_selector.h inclusions
...
Several source files in common/ included ihevc_function_selector.h even
though they do not need function selector structures. This header is
only needed by function_selector.c files.
Replace ihevc_function_selector.h with ihevc_padding.h in
ihevc_hbd_padding.c, and remove the unnecessary inclusions from the other
HBD source files.
Test: cmake --build build && ctest --test-dir build
TAG=agy
CONV=a248410c-93f6-438e-b6d3-ede13640c2a1
(cherry picked from commit c870e69ec1 )
2026-09-16 14:00:16 -07:00
Harish Mahendrakar
e49082654c
[common] Clean up and standardize new HBD source files
...
Review and standardize newly added HBD files in common:
- Remove i4_ prefix from WORD32 local variables and function arguments.
- Standardize variable short forms (stride -> strd, width -> wd, height -> ht).
- Ensure comments have proper spacing after // and /* and before */.
- Update file header author attribution to Ittiam.
- Remove commented-out code blocks.
- Ensure indentation is consistent (4-space indentation, no tabs).
TAG=agy
CONV=ad142ae8-fa4a-4892-b9bf-a85483b1678b
(cherry picked from commit 9c63b3cd86 )
2026-09-16 14:00:16 -07:00
Narayan Kalaburgi
7ef245d5fa
Remove ihevc_hbd_itrans_res.c and update ihevc_itrans_res.c to support hdb
...
Partial cherry pick of commit 9886db71d3
2026-09-16 13:16:47 -07:00
Harish Mahendrakar
fe7230ac1b
[ossfuzz] Disable asserts in ossfuzz builds
...
assert() are useful only for debugging and are disabled in release binaries.
So these shouldn't block fuzzers from continuing execution.
2026-09-16 08:27:35 -07:00
Harish Mahendrakar
1713ca27ea
decoder: Fix race condition and invalid CTB coordinates in slice headers
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
In ihevcd_copy_slice_hdr(), copying the previous slice header for dependent
slices copied i2_ctb_x and i2_ctb_y. If parsing was aborted or delayed,
the incomplete slice header retained the previous slice's coordinates,
causing concurrent worker threads in ihevcd_slice_hdr_update() to prematurely
switch to the invalid slice header. Reset i2_ctb_x and i2_ctb_y to -1
after copying.
In ihevcd_parse_slice_header(), initialize i2_ctb_x and i2_ctb_y to -1
immediately following memset so that slices rejected prior to coordinate
parsing do not retain valid-looking (0, 0) coordinates.
In ihevcd_parse_pic_init(), only skip reinitializing slice header 1 if
the first slice was missing in the current picture.
Test: ./hevc_dec_tests
Test: ./hevc_dec_fuzzer /work/misc/oss-fuzz/build/out/libhevc/crash-b74b07ae377d7450614e4534c86155d1d2999e13
TAG=agy
CONV=cfdfe257-7362-41c9-b5be-18261f1c6a3d
2026-09-16 10:56:47 +05:30
Harish Mahendrakar
fb4ce62071
[cmake] Add ENABLE_TESTS option and disable tests in ossfuzz.sh
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
Add an ENABLE_TESTS option to CMakeLists.txt (defaulting to ON) to
control building GoogleTest and the regression/unit test suites.
Update fuzzer/ossfuzz.sh to pass -DENABLE_TESTS=0 so that OSS-Fuzz builds
only the fuzzer binaries. This avoids pulling in test dependencies such
as OpenSSL, GoogleTest, and the test media corpus, fixing 32-bit (i386)
OSS-Fuzz build failures caused by missing 32-bit OpenSSL libraries.
Test: cmake /work/codecs/libhevc -DENABLE_TESTS=0 && make hevc_dec_fuzzer hevc_enc_fuzzer
Test: cmake /work/codecs/libhevc && make
TAG=agy
CONV=86e80e4e-b0c2-4b51-8e8d-e37dd97ab199
2026-09-13 11:49:56 -07:00
Vivek R Jadhav
4209c56e82
libhevcdec: Use caller-saved registers in arm64 chroma intra pred nt_32
...
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
In common/arm64/ihevc_intra_pred_chroma_mode_18_34.s, nt_32 used
v8-v15 in row_kernel_32 without preserving d8-d15 on the stack.
Under AAPCS64 calling conventions, d8-d15 are callee-saved registers.
Clobbering them corrupted caller-saved state (such as d10 in main.c,
which cached e_cmd = IVD_CMD_VIDEO_DECODE), causing subsequent decode
calls on 4:4:4 8-bit streams to fail with IVD_INVALID_API_CMD.
Replace the use of v8-v15 with caller-saved registers v16-v23, matching
the convention used in kernel for nt < 32 in the same file.
Also update tests/common/ihevc_chroma_intra_pred_test.cc to test
block size 32.
Test: ./hevcdec
Test: ./ihevc_chroma_intra_pred_test
Change-Id: I40411c04ab00d7e23842eb1d033c4923e3ec76e9
2026-09-11 07:31:33 -07:00
Harish Mahendrakar
f42cec58df
libhevc: Remove redundant in-function #include <assert.h>
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
Including <assert.h> inside the body of ihevc_weighted_pred_bi_ssse3
caused Clang's coverage mapping generator to add assert.h to the
function's VirtualFileMapping. Because system headers are filtered out
when emitting coverage regions, no region sub-arrays were generated
for assert.h, resulting in llvm-cov failing with 'truncated coverage
data' when reading the coverage mapping.
Since <assert.h> is already included at file scope, remove the redundant
in-function include.
Bug: 539970151
Test: Revert ag/41985629 and then follow the steps below
Test: cd frameworks/av/apex && CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS=* mm
Test: llvm-cov report -empty-profile out_x64/target/product/vsoc_x86_64_only/symbols/apex/com.android.media.swcodec/lib64/libcodec2_soft_hevcdec.so
TAG=agy
CONV=f1fd20b6-de70-47c5-8011-aca1dcbeb9e9
Change-Id: I98bafd5754b7059d5869eb1eb0ea0922ec95cc5e
(cherry picked from commit 15aee9ebc525822f4c4eb4b9dc8878a228d48202)
2026-09-10 11:10:02 -07:00
Harish Mahendrakar
006060cbf5
[common] Update hbd intra pred functions for transquant bypass case
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
2026-09-04 12:13:08 -07:00
StevenShen3641
b21f809576
Fix out-of-bounds read when an SEI payload exceeds the NAL
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
ihevcd_parse_sei() truncated the declared SEI payload size to the bytes
remaining with MIN() instead of rejecting it. The payload parsers do not
consult that size, so ihevcd_parse_mastering_disp_params_sei() read its
full 24-byte structure out of a one-byte payload and ran past the end of
the bitstream buffer.
2026-09-03 22:44:32 -07:00
Harish Mahendrakar
07ccd8a73a
Re-enable chroma deblock tests for arm
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Waiting to run
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Waiting to run
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Waiting to run
2026-09-03 15:21:11 -07:00
Harish Mahendrakar
5d4f995aeb
hevc_dec_fuzzer: Reduce number of decode calls when not using SIMD functions.
...
When decoder is configured to run unoptimized C functions instead of using SIMD
functions, the fuzzer is updated to reduce number of decode calls.
2026-09-03 12:35:57 -07:00
Harish Mahendrakar
d42200d2f2
decoder: Fix OOB read in ihevcd_parse_sei_payload when no SPS is valid
...
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
When parsing SEI payloads before any valid SPS has been decoded,
ihevcd_parse_sei_payload scanned ps_codec->ps_sps_base using a loop
that could step past the array bounds and dereference an invalid pointer.
Initialize ps_sps to NULL, check each entry's validity within bounds,
and return safely if no valid SPS is present.
2026-09-02 12:58:11 +05:30