Commit graph

204 commits

Author SHA1 Message Date
Rakesh Kumar
35eb80040b Remove dead dependency on decoder e_profile in hbd branch
Some checks are pending
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
Remove vestigial HEVC_DEC_PROFILE_T enum and e_profile member from codec_t, along with its hardcoded initialization in ihevcd_init and assignment block in ihevcd_parse_sps. All dynamic bit depth, pixel size, and function selection logic in HBD relies directly on bitstream syntax elements.

TAG=agy
CONV=af8f01f3-0862-4fb5-a5ce-b37c3025b633
2026-08-11 19:49:05 +00:00
Harish Mahendrakar
01e8270cc1 Move HEVC_DEC_PROFILE_T to ihevcd_structs.h 2026-08-09 23:47:45 +00:00
Harish Mahendrakar
0f1eb6bc09 Cleanup few more unnecessary changes from HBD path
Some checks are pending
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-08-09 05:13:29 +00:00
Harish Mahendrakar
0cc032d9ff Clean up HBD support before split
Some checks failed
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-08-07 17:25:44 +00:00
Harish Mahendrakar
052d028555 Fix heap-buffer-overflow in HBD padding due to bit depth change.
Trigger IVD_RES_CHANGED when bit depth or chroma format changes in SPS,
forcing reallocation of picture buffers.

To prevent corrupting the codec state on invalid SPS parses, the updates to
global codec parameters (like i4_pixel_size_y and i4_bit_depth_luma) are
deferred to the end of ihevcd_parse_sps, after all validation checks have
passed. The resolution change check now compares the old active values in
ps_codec against the newly parsed values in the temporary ps_sps structure.

TAG=agy
CONV=2aef6402-f7fc-4ff8-ba56-d78e01754035
2026-08-07 03:21:32 +00:00
Harish Mahendrakar
b82feca867 temporary fix for buffer handling 2026-08-07 03:21:32 +00:00
Harish Mahendrakar
2b721db6f3 Initialize s_ptl in ihevcd_parse_sps to avoid use of uninitialized values 2026-08-07 03:21:32 +00:00
Harish Mahendrakar
ebee97d75a Limit support to max bit depth of 10-bit 2026-08-07 03:21:32 +00:00
Rakesh Kumar
eacaf4768e libhevcdec: Add support for extended profile parsing from SPS headers
- Update ihevcd_parse_sps to parse profile dynamically from clip SPS (profile_idc, chroma format, bit depth, intra and still constraint flags).
- Add support for Main, Main 10, Main 10 Still, Main 422 10, Main 444, Main 444 10, Main Intra, Main 10 Intra, Main 422 10 Intra, Main 444 Intra, Main 444 10 Intra, and Main 444 Still Picture profiles.
- Allow profile_idc == 4 (RExt) in SPS profile validation checks.
- Update pixel size determination in ihevcd_api.c for 8-bit vs 10-bit profiles.
- Add CLI argument parsing for new profiles in main.c.
2026-08-07 03:21:32 +00:00
Harish Mahendrakar
18fc8f6b52 Added support for 420 10-bit decoding.
This is the initial version and doesn't enable SIMD functions yet.
Has not been tested extensively yet.
This is not ready to be merged into main branch yet.
2026-08-07 03:21:32 +00:00
Vivek R Jadhav
6f423a375a libhevcdec: Enable architecture-specific SIMD optimizations for 422 and 444
Previously, when 422 or 444 chroma formats were encountered, all
function pointers were overridden to generic C implementations due to
lack of support in optimized assemblies/intrinsics for certain
components.

This change introduces `ihevcd_init_function_ptr_rext` which:
- First initializes all function pointers with architecture-optimized
versions.
- Explicitly overrides only the components not yet optimized for 422/444 formats (intra prediction, SAO, deblocking and chroma padding) to point
back to their C implementations.

This allows other fully-compatible modules (e.g: inter prediction modes, transform/reconstruction, format conversion) to benefit from SIMD
optimizations on 422/444 formats without degrading YUV 420 decoding.

Test: ./hevcdec

Change-Id: I013e44e024258f2f84690fdc0109200129042145
2026-08-03 13:29:07 +00:00
Harish Mahendrakar
86c57003fe Add required typecasts to fix warnings 2026-06-20 16:59:17 -07:00
Vivek R Jadhav
e7d529d271 hevcdec: add support for chroma qp offset list
Test: ./hevcdec

Change-Id: I40411c04ab00d7e23843eb1d033c4943e3ec86e8
2026-06-18 06:42:01 -07:00
Harish Mahendrakar
0d2132c3ac Revert "Revert "libhevcdec: allow YUV422 format for decoding""
This reverts commit 97c1736f2d.
2026-06-11 22:48:24 -07:00
Ram Mohan M
57d79be23a updates to odd dimensions support - 2
- reduce unused memory allocations
- revert unrequired alignments done to widths and height in format
  conversion leaf functions
- pass correct strides and base address to leaf functions

fixes oss-fuzz-520748344

Change-Id: I8b783d1dae8c53b68a6d3a32dbc3ffb16376851e
2026-06-07 16:06:11 -07:00
Harish Mahendrakar
97c1736f2d Revert "libhevcdec: allow YUV422 format for decoding"
Some checks failed
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
This reverts commit a4a80bc48e.
2026-05-27 07:59:18 -07:00
Vivek R Jadhav
a4a80bc48e libhevcdec: allow YUV422 format for decoding
Some checks failed
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
Test: ./hevcdec

Change-Id: I40411c04ab00d7e23843eb1d033c4543e4ec63e9
2026-05-21 08:23:13 -07:00
Vivek R Jadhav
f990e295bd hevcdec: add support for frext profile
Test: ./hevcdec

Change-Id: I013e44e024258f2f84690fdc0109200109012026
2026-05-13 07:23:03 -07:00
Vivek R Jadhav
944771fb1b libhevcdec: disable simd optimizations during 422/444 decoding.
Test: ./hevcdec

Change-Id: I40411c04ab00d7e23843eb1d033c4943e4ec86e5
2026-05-07 07:00:35 -07:00
Ram Mohan M
a960c019e0 hevcdec: add support for persistent rice adaptation flag
Some checks failed
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
Test: ./hevcdec
Change-Id: I835753e513b757330a4905ac29340422fc8d1590
2026-03-16 10:03:26 -07:00
Ram Mohan M
e0aec79c0d hevcdec: add support for explicit rdpcm
Some checks are pending
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
Test: ./hevcdec

Change-Id: I89365bb544c3a9dc6ffc25f86f3cbf568dd2ecf4
2026-03-06 14:33:49 -08:00
Ram Mohan M
e8624b5c8f hevcdec: add support for implicit rdpcm
Test: ./hevcdec

Change-Id: I703bdc92aaef2fed615fe1650249e6248768ddce
2026-03-06 14:33:49 -08:00
Ram Mohan M
38e622bf6a hevcdec: update lib for chroma format idc 422
Some checks are pending
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
- updated parser for 422 specific syntax elements
- updated iqitrecon module to handle 422 subtu's. Verified functionality
  for intra only slices
- add support 422 i/o
- restrict combinations of output chroma format and internal chroma
  format allowed. That is, for a given chroma format idc not all output
  color formats are supported. The output format can now be either same
  as internal color format or 420p.

Test: ./hevcdec
Change-Id: I9dbf5c141aceb8ffcbe063aa35856eeed11e3d4f
2026-03-04 15:39:55 -08:00
Ram Mohan M
87962d6818 hevcdec: add support for cross component prediction
Test: ./hevcdec

Change-Id: I84b76bdd7a8f0611be42fbe08bb0dca46bc40df7
2026-03-04 12:32:03 -08:00
Ram Mohan M
90f29517ee hevcdec: add support for transform_skip_rotation_enabled_flag
Test: ./hevcdec

Change-Id: Icc083c3bf08b23a6b91c230aace3aae148cb3ec9
2026-03-04 12:32:03 -08:00
Sushant
ab4dd06386 hevcdec: add support for scaling lists
Some checks are pending
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
Test: ./hevcdec
2026-02-27 08:33:45 -08:00
Ram Mohan M
e563dd60af hevcdec: add support for transform_skip_context_enabled_flag
Change-Id: I6655bb256d5de456a210b54d8b38a06c5ddeaee1
2026-02-23 10:59:08 -08:00
Ram Mohan M
934d05f42b hevcdec: add support for log2 max transform skip size
Change-Id: If72ce05af2c67dc1fbd81766cebcadfcb132983d
2026-02-23 10:59:08 -08:00
Rakesh Kumar
29611400fa hevcdec: add support for internal color format 444
Change-Id: I013e44e024258f2f84690fdcc01b4cd52f0fbd18
2026-02-23 10:59:08 -08:00
Ram Mohan M
546576fa3d hevcdec: fix incorrect error checks added in sps/pps parsing
Some checks failed
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (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
range extension profile toolsets were guarded based on chroma format
information instead of profile. This is fixed.

Test: ./hevcdec -c test.cfg

Change-Id: I484b07f367d46a60112d3ef7c4a431bf72047e6e
2026-02-20 11:12:39 -08:00
Ram Mohan M
4e7799d665 hevcdec: fix incorrect sampling factor used for 422
for 422 chroma format, the horizontal and vertical subsampling factors
chosen are incorrect. This is fixed.

Test: Build

Change-Id: Ie82c029da6e86225f202a366c41af447b7d76ab2
2026-02-20 10:28:18 -08:00
Ram Mohan M
09bc53ec53 hevcdec: fix white spacing and other cosmetic changes
Some checks failed
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (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
Test: Build
2026-02-11 12:14:51 -08:00
Rakesh Kumar
789320b76c hevcdec: add support for parsing "extension present" fields of sps and pps
Added support for parsing "extension present" fileds for sps and pps
for yuv color format 444.

Test: ./hevcdec

Change-Id: I42bc18ede7d75350784c7fc2546045019cd8171d
2026-02-10 07:14:13 -08:00
Vivek Jadhav
e38e75d666 hevcdec: add support for parsing "extension present" fields of sps and pps for monochrome
Bug:
Test: ./hevcdec

Change-Id: I944c539000f26898d5985cd6806f2968d4865f61
2026-02-09 13:02:30 -08:00
Vivek Jadhav
45340a66f0 libhevcdec: Add support for monochrome
Some checks failed
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (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
Bug: 382315082
Test: ./hevcdec

Change-Id: I944c539000f26898d5985cd5809f2958d4865f71
2025-11-11 07:11:03 -08:00
Srujan Vandrangi
dc225332d0 libhevc: move SEI related code under a macro
Bug: 338446610
Test: ./hevcdec
2024-05-07 10:07:49 -07:00
Haripriya Deshmukh
d0897deaf8 libhevc: Add dynamic color aspects support
Bug: 325468696
Test: atest android.mediav2.cts.DecoderDynamicColorAspectTest

Change-Id: I01dc043dfdae5646818c3cbea8ae0415183eb69d
2024-04-22 23:50:43 -07:00
Srujan Vandrangi
3c03b2bcf7 decoder: add check for luma height while parsing sps
Bug: oss-fuzz:60439
Test: ./hevc_dec_fuzzer
2023-10-25 06:56:55 -07:00
Shivaansh Agrawal
f6dcd29208 Decoder: add support for QP and block_type map export in library
Bug: 176469524

Test: hevcdec -c test.cfg
Test: atest -c android.mediav2.cts.CodecDecoderTest
Test: atest VtsHalMediaC2V1_0TargetVideoDecTest

Change-Id: I75aebd3c4121d3b8cb5a2a947f643abbff41810d
2022-08-04 11:40:43 +05:30
Neelkamal Semwal
1c2342b48e decoder: Fix integer overflow in ihevcd_parse_pred_wt_ofst
Bug: 228326749

Test: poc in bug
Test: atest CtsMediaTestCases:VideoDecoderTest
Test: atest CtsMediaV2TestCases:CodecDecoderTest
Test: atest VtsHalMediaC2V1_0TargetVideoDecTest

Change-Id: Ifd63a964bc66c615d151877abbf06c1eeef0fc63
2022-05-19 12:01:00 +05:30
Harish Mahendrakar
70940fbabd Check change in CTB size when decoding multiple SPS with same id
If an SPS is being overwritten, ensure CTB size remains same.
If not, return from decoder and reset the decoder state in the
subsequent decode call.

Bug: 140322595
Test: poc in bug

Change-Id: I5f1e52d3bd2b48874a088ab32054f5a89e62eeb5
2019-09-19 21:17:50 -07:00
Harish Mahendrakar
9fcd94f316 decoder: Fix valid SPS check in parsing SEI am: 61646846b3 am: 7f5da9039c am: e4237f852d
am: 824c19e4ca

Change-Id: I7b0970d485940b1c4c8eeea8f9cd316a84d1ac89
2019-06-20 21:20:00 -07:00
Harish Mahendrakar
61646846b3 decoder: Fix valid SPS check in parsing SEI
When parsing SEI, ensure there is at least one valid SPS.

Test: poc in bug
Bug: 134420911

Change-Id: If3aa142b7fac324f8416e647572dfb002f56e06d
2019-06-07 16:23:17 -07:00
Android Build Merger (Role)
8fb024bad3 [automerger] Add few more checks for invalid parameters in sps am: 2f30da4ca2 am: 59c1e4d23e am: 7dbf2eeb7f am: 4fd075fd4d am: e10f3d3c6d
Change-Id: I44b6ea6f4a0af681be55c893cb9241ef5e90ec4c
2019-05-07 20:47:48 +00:00
Android Build Merger (Role)
59c1e4d23e [automerger] Add few more checks for invalid parameters in sps am: 2f30da4ca2
Change-Id: I78d8b0b2a9e804f3af8fd090876fbd2750d1edf9
2019-05-07 20:47:43 +00:00
Harish Mahendrakar
2f30da4ca2 Add few more checks for invalid parameters in sps
Following elements didn't have a bound check in SPS as spec doesn't list
the bounds on these explicitly.

log2_min_coding_block_size_minus3, log2_diff_max_min_coding_block_size,
log2_min_transform_block_size_minus2 and log2_diff_max_min_transform_block_size

Added appopriate error checks on these fields

Bug: 129366952
Bug: 130023983
Test: vendor
Merged-In: I59d95f43c2ef98300132d664095e88df8e87a164
Change-Id: I59d95f43c2ef98300132d664095e88df8e87a164
2019-05-07 20:47:42 +00:00
Harish Mahendrakar
3d5a29afff Merge changes from topic "am-5b50c796-9c7d-4769-bc6c-f71bdac7c742" into oc-dev am: dce2f1a1a1 am: 7dd0807cdf am: cfebb9ec7d
am: 6b80fa9f71

Change-Id: I9a3853b7ca08ab2f10e2479721921dff59809449
2019-05-06 19:11:23 -07:00
Harish Mahendrakar
c34a29b7b5 [automerger] Add missing return check for short_term_ref_pic_set() am: 299cceb9e4 am: 2e8ae23656 am: 7ecb4083b9 am: 4fe71a567e am: 1561dc0fa9 am: 2b9fa38bb8 am: 6e96227190 am: cd5ac287ce
am: 0cdffda83f

Change-Id: I9086ab27ca823acc255239123cdeffe5671e3e18
2019-05-06 17:27:22 -07:00
TreeHugger Robot
dce2f1a1a1 Merge changes from topic "am-5b50c796-9c7d-4769-bc6c-f71bdac7c742" into oc-dev
* changes:
  [automerger] Add bounds check for tile dimensions am: 05f83e9458 am: 8ee7982e46 am: 7c6da2165b am: c11699b0f4 am: c0d441f4a7
  [automerger] Add bounds check for tile dimensions am: 05f83e9458 am: 8ee7982e46 am: 7c6da2165b am: c11699b0f4
  [automerger] Add bounds check for tile dimensions am: 05f83e9458 am: 8ee7982e46 am: 7c6da2165b
  [automerger] Add bounds check for tile dimensions am: 05f83e9458 am: 8ee7982e46
  [automerger] Add bounds check for tile dimensions am: 05f83e9458
  Add bounds check for tile dimensions
2019-05-07 00:16:35 +00:00
TreeHugger Robot
d683d78752 Merge changes from topic "am-5b50c796-9c7d-4769-bc6c-f71bdac7c742" into nyc-dr1-dev
* changes:
  [automerger] Add bounds check for tile dimensions am: 05f83e9458
  Add bounds check for tile dimensions
2019-05-07 00:16:35 +00:00