Commit graph

21 commits

Author SHA1 Message Date
Harish Mahendrakar
c5ad9a03e3 Remove SAO wrapper
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-09 23:47:45 +00:00
Harish Mahendrakar
442d944cb5 decoder: Refactor pv_iquant_itrans_recon_ctb to direct call
Remove the function pointer pv_iquant_itrans_recon_ctb from codec_t
and call ihevcd_iquant_itrans_recon_ctb directly. This removes
unnecessary indirection since there is only one implementation.

TAG=agy
CONV=9b39e0bf-8a07-4122-9bb2-81ec77fbdc09
2026-08-09 23:47:45 +00:00
Harish Mahendrakar
32813e2432 decoder: Move pf_sao_shift_ctb from sao_ctxt_t to direct wrapper call
Remove the function pointer pf_sao_shift_ctb from sao_ctxt_t.
Instead of using a function pointer in codec_t, call a new wrapper
function ihevcd_sao_shift_ctb_wrapper directly. The wrapper dynamically
dispatches to 8-bit or 10-bit implementation based on stream bit depth.

TAG=agy
CONV=9b39e0bf-8a07-4122-9bb2-81ec77fbdc09
2026-08-09 23:47:45 +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
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
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
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
Vivek Jadhav
fde75babbc hevcdec: Updated memory allocation for monochrome
Some checks are pending
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 library to allocate memory only for luma in case of monochrome
profile.

Bug:
Test: ./hevcdec

Change-Id: I5649bbd94e10d2c19fa7548b2380db598c9ff2b6
2026-02-09 15:05:07 -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
4cd4edc0f6 decoder: replace KEEP_THREADS_ACTIVE macro with hevc struct variable
Bug: 289097296
Test: Build
2023-07-21 13:18:21 -07:00
Manisha Jajoo
c57a80373a Decoder: add support for KEEP_THREADS_ACTIVE
Current design of HEVC Decoder creates new threads
to process each frame. This CL adds support to reuse
the threads across frames.

Test: manual
Bug: 167126301

Change-Id: Ic57133b25203dae9ed5d3d974e6137a733531da7
2020-08-31 22:00:10 +05:30
Rakesh Kumar
06e94e9ceb Decoder: Fix integer-overflow sanitizer issues
Bug: 111272481
Test: vendor
Change-Id: If4266a33677d98f567884ebbc7908289e42fb94f
2019-01-09 13:16:37 -08:00
Naveen Kumar P
ec2c7b5be8 Merge "Update ctb pu map for I slice" into lmp-dev am: d4cb5bc056 am: 2c01a8105a am: 3598a31588 am: 3249f368df am: ef55cf7d83 am: a1930d6125
am: 143746ee0a

Change-Id: I2bb2b69ef1fc9a929b7cffa57b2dca0e5aa847f1
2017-11-30 02:13:20 +00:00
Naveen Kumar P
3598a31588 Merge "Update ctb pu map for I slice" into lmp-dev am: d4cb5bc056
am: 2c01a8105a

Change-Id: I713638a47505ff1fcc01346c792390c20f0251cc
2017-11-30 01:51:59 +00:00
Naveen Kumar P
43f126112a Update ctb pu map for I slice
The update in I slice is required for P/B slices in the same
frame for accessing neighbor pus.

Bug: 62851602
Bug: 63522067
Test: re-run PoC from b/62851602
Change-Id: Ie5e43f1cd5649b2745b6527654bc24d8c7d42932
2017-11-21 11:50:04 -08:00
Harish Mahendrakar
27405a217f Added memory barrier calls
On some A72 based devices, data shared between cores was found to be
inconsistent which was resulting in an infinite loop.

Adding memory barriers before marking a CTB as parsed/processed,
all the pending memory operations are guaranteed to be completed.

Change-Id: I6e3bb11123a3c12ba7e69c4bfcd38960616f9fb5
(cherry picked from commit 031b91dde5)
2016-08-24 18:11:14 -07:00
Naveen Kumar Ponnusamy
221aaccb7a Few bug fixes in loop filter
Removed few unused functions
Fixed an issue in 420P output in shared mdoe
Few bug fixes in handling loop filter corner cases in multi-tile multi-slice clips
Renamed few elements in mv_buf_t for consistency

Bug: 22860270

Change-Id: I8d179b9ad3c7ee3ad27972ee02ea2658fd2c3c25
2015-07-31 01:59:55 +00:00
Naveen Kumar Ponnusamy
9663ae2116 Few bug fixes in loop filter
Removed few unused functions
Fixed an issue in 420P output in shared mdoe
Few bug fixes in handling loop filter corner cases in multi-tile multi-slice clips
Renamed few elements in mv_buf_t for consistency

Change-Id: I8d179b9ad3c7ee3ad27972ee02ea2658fd2c3c25
2015-07-30 18:14:32 +05:30
Naveen Kumar Ponnusamy
6c166a9e18 Source files clean up
Cleaned up source files for redundant and inactive #if directives
2014-07-12 15:09:24 -07:00
Harish Mahendrakar
707042fda9 Few bug fixes and warnings removed
Added support for returning coded width and height along with display dimensions
Fixed few macros for mips
Removed signed comparison warnings
Removed few files that are not needed
Fixed an issue in handling more than 256 slices in a picture

Bug: 14571712
Change-Id: Ie485aaae3a13744bc9acff8aa699efbbc31f94f1
2014-06-06 06:42:02 -07:00
Harish Mahendrakar
0d8951cef4 Initial Version of HEVC decoder
Compliant to reference software HM11.0 onwards

Bug: 14571712
Change-Id: I8af25c1221cc6ab70440141c4d9b48c1ac69696a
2014-05-21 18:14:55 -07:00