SABITHSAHEB
8260aefeb9
fix oob chroma source read in ihevcd_fmt_conv_422sp_to_420p
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-06-23 09:21:08 +05:30
Harish Mahendrakar
a3336a27f4
Include ihevcd_defs.h and ihevcd_structs.h in risc function selector
2026-06-22 20:01:44 -07:00
Harish Mahendrakar
86c57003fe
Add required typecasts to fix warnings
2026-06-20 16:59:17 -07:00
SABITHSAHEB
5ad6b71310
hevcdec: avoid signed left shift overflow building coeff bitmasks
2026-06-20 10:34:06 -07:00
Sushant
646ee99888
libhevc: Direct memcpy and memset calls to enable _FORTIFY_SOURCE
...
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
Bypass wrappers functions for memcpy and memset, calling standard
C library functions directly. This allows _FORTIFY_SOURCE to
perform compile-time safety checks.
Bug: 514722372
Test: ./hevcdec
Change-Id: Id9faf0919ecedfd1833d40a7fbf6ddac454628b4
2026-06-18 06:44:56 -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
Vivek R Jadhav
a0296d9951
libhevcdec: Fix number of TU's allocated for YUV422
...
Fixed num of TU and subTU allocated for YUV422
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843ea1d033c4943e4ec66e5
2026-06-16 22:04:47 -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
Vivek R Jadhav
df5c27d45d
libhevcdec: Add SAO boundary checks
...
For 16x16 CTB sizes in chroma processing, au4_idx_tl[5] and
au4_idx_tl[6] can be set to -1 at picture boundaries. Added guards to
check that the index is valid (> idx_tl) before dereferencing the slice
header list.
Bug: 516422427
Test: ./hevc_dec_fuzzer
Change-Id: I40411c04ab00d7e23843eb1d033c6953e3ec76e9
2026-06-11 22:33:05 -07:00
Vivek R Jadhav
091042fa3e
libhevcdec: Update static allocation for SAO context
...
Corrected the static SAO buffer size calculation to match the
partitioned buffer bounds. Luma requires 4x and Chroma requires 8x
MAX_CTB_SIZE * MAX_CTB_SIZE, which is now correctly summed to allocate
12x MAX_CTB_SIZE * MAX_CTB_SIZE bytes per process thread.
Bug: 484436016
Test: ./hevc_dec_fuzzer
Change-Id: I40411c04ab00d7e23843eb1d033d4943e3ec76a9
2026-06-11 21:46:30 -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
1fac8cc5fe
Updates to odd dimension support.
...
Reverted some of the unnecessary changes from commit: f6ef16b0f9
- Restored the format conversion structure prior to f6ef16b0f9
- No need to handle odd stride for 420 and 422 output.
- Dimensions for output format 444 and 400 format can be odd
Tested with few YUV444 and YUV400 odd dimension clips
To generate:
$ ffmpeg -f lavfi -i testsrc=s=511x511 -c:v libx265 -pix_fmt yuv444p -t 1 -tag:v hvc1 y444_511x511.hevc
$ ffmpeg -f lavfi -i testsrc=s=511x511 -c:v libx265 -pix_fmt gray -t 1 -tag:v hvc1 y400_511x511.hevc
To decode using hevcdec for YUV420 output format
$ hevcdec -i y444_511x511.hevc -o y444_511x511.yuv --save_output 1 --num_frames -1 --chroma_format YUV_420P --enable_yuv_format 31
$ hevcdec -i y400_511x511.hevc -o y400_511x511.yuv --save_output 1 --num_frames -1 --chroma_format YUV_420P --enable_yuv_format 31
To decode using hevcdec for YUV444 output format
$ hevcdec -i y444_511x511.hevc -o y444_511x511.yuv --save_output 1 --num_frames -1 --chroma_format YUV_444P --enable_yuv_format 31
To decode using hevcdec for YUV400 output format
$ hevcdec -i y400_511x511.hevc -o y400_511x511.yuv --save_output 1 --num_frames -1 --chroma_format GRAY --enable_yuv_format 31
Display resulting output using ffplay by passing `-f rawvideo -pixel_format yuv420p -video_size 511x511`
Change pixel_format to yuv420p/yuv444p/gray based on decoder chroma_format argument
2026-06-05 11:42:40 -07:00
Vivek R Jadhav
f6ef16b0f9
libhevcdec: Add support for odd dimensions
...
Decoding streams with odd resolutions previously caused integer truncation
during right-shift or division operations, leading to incorrect buffer size
and stride calculations.
This is fixed by applying the ALIGN2 macro to width and height across buffer
metrics, dimension queries, and outargs to safely pad boundaries.
Test: ./hevcdec
Change-Id: I5c432aa63b0975b76baa5e59a816278087b65215
2026-06-05 10:53:38 -07:00
Vivek R Jadhav
1f0d11ce8f
libhevcdec: update chroma deblocking masks and BS shifts for YUV422/YUV444
...
Apply 0xAAAAAAAA mask for vertical chroma deblocking on YUV422 and YUV444.
Apply 0xAAAAAAAA mask for horizontal chroma deblocking on YUV444.
Add array indexing shifts for YUV422/YUV444 when log2_ctb_size != 6.
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843eb1d033c5943e3ec75e9
2026-06-03 09:40:02 -07:00
Harish Mahendrakar
97c1736f2d
Revert "libhevcdec: allow YUV422 format for decoding"
...
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
Harish Mahendrakar
a2a98baa6e
refactor: clean up SAO and ILF padding code
...
- Deleted ihevcd_sao_ctb implementation and declaration.
- Removed code under #else of SAO_PROCESS_SHIFT_CTB in ihevcd_process_slice.c.
- Removed code under #if FRAME_ILF_PAD and simplified checks assuming FRAME_ILF_PAD is 0.
- Deleted ihevcd_ilf_padding.c and removed it from Android.bp and libhevcdec.cmake.
- Removed SAO_PROCESS_SHIFT_CTB definition in ihevcd_defs.h.
- Removed FRAME_ILF_PAD definition in ihevcd_defs.h.
TAG=agy
CONV=ceba65ba-1766-4f4d-84f0-f7c3804a90fe
2026-05-24 10:11:19 -07:00
Harish Mahendrakar
cdd7c565e0
Fix OOB access in ihevcd_fmt_conv_422sp_to_420p
...
The function was processing all rows of chroma, while 420p only requires half the rows.
This caused an OOB write when writing to the destination buffer.
Fixed by skipping every other row of source chroma.
TAG=agy
Bug: ossfuzz:515832483
CONV=731dcda4-96d6-4402-b14c-f727e9983c85
2026-05-23 21:15:32 -07:00
Vivek R Jadhav
a4a80bc48e
libhevcdec: allow YUV422 format for decoding
...
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
2f827d5db0
libhevcdec: Update deblock modules for yuv422 format
...
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843eb1d033c4543e3ec66e9
2026-05-21 08:22:42 -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
70ee4f3d29
libhevcdec: add support for deblock filter for yuv 444 format
...
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdcc01b4cd56f0fbd19
2026-05-13 07:22:18 -07:00
Vivek R Jadhav
b6ad1290f0
hevcdec: update sao modules for chroma format idc 444
...
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdcc01b4cd52f0fbd16
2026-05-08 08:16:51 -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
Vivek R Jadhav
98462a6e46
libhevcdec: Unify ihevcd_function_selector_generic.c and ihevcd_function_selector_noneon.c
...
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843eb1d033c4943e3ec56e5
2026-05-07 07:00:35 -07:00
Vivek R Jadhav
37e4bc2135
libhevcdec: Add inter pred support for yuv422 format
...
Bug:
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843eb1d033c4945e3ec66e9
2026-05-06 10:30:26 -07:00
Rakesh Kumar
5da3d44aef
libhevc: added BTI and PAC support in libhevc
...
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (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-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: readelf -nw libhevcdec.a
Test: readelf -nW libhevcenc.a
Test: atest MctsMediaV2TestCases
atest MctsMediaDecoderTestCases
atest MctsMediaEncoderTestCases
atest MctsMediaCodecTestCases
Test: hevc_dec_fuzzer
hevc_enc_fuzzer
Bug: 485868924
Change-Id: I7eb3c915662654d649ba4aa5793f71afff8c47e7
2026-04-02 08:34:07 -07:00
Ram Mohan M
a960c019e0
hevcdec: add support for persistent rice adaptation flag
...
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
...
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
811fa89f0e
hevcdec: fix missing initialization of during subtu's processing
...
Test: ./hevcdec
Change-Id: I5ab746bb2ba28bee8ea2869112db63dec0363264
2026-03-06 14:32:33 -08:00
Ram Mohan M
38e622bf6a
hevcdec: update lib for chroma format idc 422
...
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
c8327aa960
hevcdec: remove unused memory allocations
...
while computing chroma residue, the same buffer is used for both cb and
cr. So remove allocation made for cr. Further guard the memory
allocation for rext toolsets under the macro ENABLE_MAIN_REXT_PROFILE
Test: ./hevcdec
Change-Id: I773c9413d262a4b84bcc7ec71ac11ceaadfd839d
2026-03-04 14:11:33 -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
Ram Mohan M
ad0a6d8688
hevcdec: add itrans residue functions
...
These functions are similar to ihevc_itrans_recon_* with the exception
that instead of computing recon directly they store residue to the
destination buffer. This helps with additional transformation of the
residue coefficients (rotation, rdpcm, ccp) before adding to the
prediction data to generate the final recon.
Test: Build
Change-Id: I9f84e66f5e9595162335cb152a6329a0f8d23337
2026-03-04 12:32:03 -08:00
Harish Mahendrakar
aea272ecb6
expose inter pred filter coefficients
...
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
In subsequent commits, the unit tests will use these filter
coefficients instead of defining a copy.
2026-02-28 22:40:12 +05:30
Harish Mahendrakar
2cf1cc917d
decoder: Change function pointer argument to avoid passing codec_t
2026-02-28 22:39:33 +05:30
Sushant
ab4dd06386
hevcdec: add support for scaling lists
...
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
d3beb01a0d
hevcdec: integrate 32x32 chroma itrans function
...
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, 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, -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
2026-02-23 11:55:55 -08:00
Ram Mohan M
3d63430b77
hevcdec: improve sample app config file
...
Test: ./hevcdec
Change-Id: I51021c7b43f6b208db9c6dd6f9278d52ffe40eac
2026-02-23 11:55:55 -08:00
Ram Mohan M
2626e0b4d6
hevcdec: refactor iq it recon
...
This change moves duplicate code to a reusable method
Change-Id: Ib91ae12cd41934b8c6917d5971ea1e873f02787a
2026-02-23 11:55:55 -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
Sushant
092312e4d7
hevcdec: add intra pred chroma filter for yuv444
...
Change-Id: I013e44e024258f2f84690fdc0509200109012026
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
Rakesh Kumar
135285ae8a
hevcdec: update inter prediction module for chroma format idc 444
...
Test: ./hevcdec
Change-Id: I40411c04ab00d7e23843eb1d033c4943e3ec76e9
2026-02-23 10:45:25 -08:00
Ram Mohan M
546576fa3d
hevcdec: fix incorrect error checks added in sps/pps parsing
...
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
Rakesh Kumar
04e7eb5698
hevcdec: add i/o support for color format yuv444
...
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
This change adds supports for handling color format yuv444 at input
output level. At the input level, it ensures the bitstream buffer
allocation is modified to cover 444 encoded streams and at the output
level it ensures the allocation is such that decoded output can be
written to 444 format.
Test: ./hevcdec
Change-Id: Icac7ca76a95c4140d7ef11189cdb6321961d88cc
2026-02-17 09:26:00 -08:00
Vivek Jadhav
8cbcc58d4a
libhevcdec: Remove support for YUV422 ile, RGB565 and RGBA8888 output formats
...
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
These color formats are no longer supported. The decoder now returns
an error if configured for any of these output formats
Test: ./hevcdec
Change-Id: I944c539000f26898d5985cd6806f2968d4365f63
2026-02-14 12:54:18 -08:00