Vivek R Jadhav
2542723ccc
libhevcdec: Fix chroma deblocking QP derivation for YUV422 HBD
...
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
Include CHROMA_FMT_IDC_YUV422 in the check to bypass chroma QP mapping in HBD deblocking (both vertical and horizontal filters).
2026-08-13 01:17:59 +00:00
Vivek R Jadhav
51c80727c3
libhevcdec: Add initial support for YUV422 10 bit
...
Test: ./hevcdec
2026-08-13 01:17:59 +00:00
Harish Mahendrakar
0cc032d9ff
Clean up HBD support before split
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
ac413106a1
[hbd] Fix OOB reads in HBD sao functions
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
Sushant
9e7d8a24a3
libhevcdec: update assembly support for implicit RDPCM
...
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
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, 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
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdc0109200109042026
2026-08-05 14:37:42 +00:00
Vivek R Jadhav
d61070bafe
libhevc: Update intrinsic for implicit RDPCM
...
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdc0109200109042035
2026-08-05 14:37:42 +00:00
Sushant
b9239efd75
hevcdec: Add assemblies and intrinsics for intra prediction
...
TODO: SIMD acceleration
- chroma intra prediction modules for trans size 32
- chroma itrans recon for trans size 32
- all methods of ihevc_itrans_res.c
- ihevc_chroma_recon_nxn_ccp
- for neon, chroma padding needs fixing. The function assumes pad width
80 always which does not hold for 444 chroma format idc. for 444, pad
width is 160.
- ihevc_inter_pred_luma_horz_w16out_a9q causing bus error. This is seen
when building with cmake on local setup and for arch 32. On Aosp tree
this issue is not seen.
- format conversion routines added for 422 and 444
- implicit rdpcm allows disabling of filters for intra pred modes 10 and
26. The C functions are updated to support this. simd functions
requires updating.
TODO: au1_ref_sub_out array is on stack and this increased irrespective
of chroma format idc. Should this allocation make use of color format to
reduce stack size
TODO: check compliance for different sps range extension fields
TODO: enable deblocking support
TODO: enable sao support
TODO: enable slice and tile support
TODO: enable other 444 specific tool sets
TODO: add support for 422 for inter slices
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdc0109200109052036
2026-08-05 14:37:42 +00:00
Harish Mahendrakar
dac3dc5e82
[common]Add new files for HBD
2026-08-05 13:27:29 +00:00
Vivek Jadhav
ce30a4b0e3
libhevcdec: Reapply deblocking assembly changes for YUV444 and YUV422
...
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
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
Test: ./hevcdec
TODO: Add assemblies and intrinsics for deblocking 422
Change-Id: I40411c04ab00d7e23843eb1d033c4944e3ec66e9
2026-08-04 06:04:10 +00:00
Sushant
088f2c5319
hevcdec: assembly & intrincs for SAO
...
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
Test: ./hevcdec
Change-Id: I013e45e024258f2f84690fdcc01b4cd52f0fac52
2026-08-03 13:35:09 +00:00
Vivek R Jadhav
938dbd274d
libhevcdec: Fix chroma padding in ARM and ARM64 NEON assembly to support 160-byte width
...
For the 444 chroma format, the chroma pad width is 160 bytes. However, the ARM and ARM64 NEON chroma padding assembly functions previously assumed a hardcoded pad size of 80 bytes (writing exactly 5 stores of 16 bytes), leaving the rest of the padding region uninitialized.
Test: ./hevcdec
Change-Id: I013e44e024258f2f84690fdc0109200119042135
2026-08-03 13:30:17 +00:00
Harish Mahendrakar
9f7b41b36c
Update tests to run with atest
...
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
Added Android.bp for the tests and updated them to ensure they run with atest.
2026-07-31 17:05:23 +00:00
Harish Mahendrakar
b8c9100658
Remove incorrect prefix from ihevcd_itrans_res_dc
...
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, 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, 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
ihevcd_itrans_res_dc is defined in common folder but has a wrong prefix of ihevcd_.
This is now fixed to ihevc_.
2026-07-29 17:08:35 -07:00
Harish Mahendrakar
2358e96df3
Add few function selectors in common for modules defined in common.
...
This is needed to ensure that the tests in tests/common do not depend on
headers from decoder folder.
Decoder still has its own function selectors and those will be updated in subsequent
commits to use these common selectors to avoid code duplication.
2026-07-29 16:29:43 -07:00
Harish Mahendrakar
53f3deacd0
Remove redundant ihevc_func_selector.h
2026-07-29 15:59:08 -07:00
Harish Mahendrakar
8dffbdd2d0
Move IVD_ARCH_T and IVD_SOC_T to iv.h and rename as IV_ARCH_T and IV_SOC_T
...
This helps in decoupling unit tests in common from depending on ivd.h
2026-07-29 15:37:52 -07:00
Sushant
281bad69de
hevcdec: undo changes made for chroma intra pred lut
...
changes were made to chroma intra pred look up tables in the
context frext profile support. The corresponding assembly
changes were not yet merged but the tables are. The table
changes are now reverted keeping lut and assemblies in sync.
This reverts commit f990e295bd .
Change-Id: I9a7d929621b423b3bdd8e5dcbd0eeacc036675ed
2026-06-19 22:37:43 -07:00
Sushant
a38474db72
hevcdec: revert armv7 and armv8 deblocking support for frext
...
Test: ./hevcdec
Change-Id: I7a469f57aa57b8f692c690b3ac46aca68c2e481d
2026-06-19 14:24:33 -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
Sushant
343fd870f9
hevcdec: Update cabac context tables of cbcr_cbf trafo depth 4
...
When decoding YUV444 streams with QuadtreeTUMaxDepthIntra set to 5,
the chroma transform split depth can reach 4, since chroma TUs split
down to 4x4, matching luma. During parsing of cbf_cb and cbf_cr, the
context index is derived as IHEVC_CAB_CBCR_IDX + trafo_depth.
Since YUV420 limits max chroma trafo_depth to 3 (min chroma TU size 8x8),
only 4 contexts were allocated for IHEVC_CAB_CBCR_IDX (offsets 0-3).
When trafo_depth reaches 4, this caused an OOB access into the
neighboring IHEVC_CAB_TFM_SKIP0 context, corrupting CABAC state.
This change resolves the OOB access by:
1. Increasing the size of IHEVC_CAB_CBCR_IDX from 4 to 5 in the enum,
so that IHEVC_CAB_TFM_SKIP0 starts at IHEVC_CAB_CBCR_IDX + 5.
2. Inserting the 5th init context value (initValue = 1) at index 40
of each QP row in gau1_ihevc_cab_ctxts, across all 156 QP tables,
as per the HEVC spec (ITU-T H.265 section 9.3.2.2).
Test: ./hevcdec -c test.cfg
Change-Id: Ib06dcd728c76e414710bb4865e100d979a34a308
2026-06-11 09:10:21 -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
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
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
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
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
...
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
Rakesh Kumar
50d6c2a175
hevcdec: update context tables for frext profile - 2
...
update context tables for parsing cross component prediction syntax elements.
Test: ./hevcdec
Change-Id: I759229b2796935c072c91630bd02383a587a9e4d
2026-02-17 09:26:00 -08:00
Rakesh Kumar
eb20a6ddbe
hevcdec: update context tables for frext profile - 1
...
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
update context tables for parsing sig coeff flag when
transform_skip_context_enabled_flag is true.
Test: ./hevcdec
Change-Id: I7cae66ad84c7a1b6a8e1b43a3e2b917fc48175c9
2026-02-13 07:43:12 -08:00
Rakesh Kumar
c4245ca34c
hevcdec: add intra pred chroma reference samples filtering functions
...
Test: ./hevcdec
Change-Id: I3972d5ccb09a087a173dfe264ff885a5e55d3118
2026-02-13 07:43:12 -08:00
Rakesh Kumar
464af74ef0
hevcdec: add 32x32 chroma inverse trans recon functions
...
Test: ./hevcdec
Change-Id: I6d02a519738727257392d7d13b187c998e8e82d5
2026-02-13 07:43:12 -08:00
Rakesh Kumar
fa39f45858
hevcdec: update intra pred ref filtering function
...
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
Updated intra pred ref filtering function to pass intra smoothing flag
also.
Test: ./hevcdec
Change-Id: Ia1178f2ebf0867cbb55a9d0216c21427af79c824
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
Suyog Pawar
45c10b2003
libhevc: Enable support for MacOS
...
Test: ./hevcenc
Test: ./hevcdec
Change-Id: Iafd43c61d80ddc46807441bcda97bb72edd76850
2024-10-01 06:37:42 -07:00
Srujan Vandrangi
b2b115e957
libhevc: move encoder SEI related code under a macro
...
Bug: 338446610
Test: ./hevcenc
Change-Id: I76fa9371aac6ef5fca3723425e0010cf1f13db1f
2024-05-09 07:40:11 -07:00
Harish Mahendrakar
be899d6a6b
Fix cmake build for arm
2023-03-27 20:53:41 -07:00
Colin Cross
96b43f1aee
Add riscv64 to libhevc
...
Add riscv64 to libhevc using the C functions.
Test: lunch aosp_riscv64-userdebug && mmma external/libhevc
Change-Id: I19c9b230e746e41d0d33ba185f1e0b940d80c9a7
2023-01-26 05:00:55 +00:00
Harish Mahendrakar
959f60d8b9
Remove mips specific files
...
Test: Builds
Bug: 261484694
Change-Id: Iff216d988b3ec0954897ad96baa338d4c7a614c2
2022-12-06 05:12:35 +05:30
Neelkamal Semwal
21da565ddf
Builds: Modular cmake scripts added
...
Add modular Cmake scripts. Separate scripts now handle
build specifications for each target and dependency.
Toolchain files have been added for armv7, armv8 builds.
Bug: 210759503
Test: Builds using cmake
Test: Builds in OSS-fuzz
Change-Id: I5f522d3904907b33a39df52fc06f047be1f21834
2022-02-14 09:45:38 +05:30
Rakesh Kumar
4fb6546448
Remove RESIDUE() macro usage
...
Replacing RESIDUE() macro usage in ihevc_resi_trans_8x8_neon()
with a for loop.
Bug: 183432854
Test: atest CtsMediaTestCases:VideoEncoderTest
Test: atest CtsMediaV2TestCases:CodecEncoderTest
Change-Id: I847b49150efe12ede38211f411f9b4842f2f3551
2021-10-21 21:42:59 +05:30
Ram Mohan M
fe26571326
libhevcenc: Update 32 bit chroma neon modules to avoid reading an extra byte
...
When processing V plane, an extra bytes is being read by forward trans
functions. Modules are now updated to avoid that extra byte read
Bug: 177433559
Bug: 183012467
Test: poc in bug
Test: atest CtsMediaTestCases:VideoEncoderTest
Test: atest CtsMediaV2TestCases:CodecEncoderTest
Test: atest VtsHalMediaC2V1_0TargetVideoEncTest
Change-Id: I555458d45719c11081e265824f83918c0126f599
2021-06-11 22:07:06 +00:00