Commit graph

57 commits

Author SHA1 Message Date
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
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
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
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
Vivek Jadhav
d819e51e11 decoder: Handle incomplete slice received during decoding
If a partial or incomplete slice is received it
sets prev_slice_incomplete_flag and i4_slice_error and returns
back with IHEVCD_IGNORE_SLICE

Bug: oss-fuzz:61331
Test: ./hevc_dec_fuzzer
2023-10-25 22:24:22 -07:00
Srujan Vandrangi
42f5600e24 decoder: adding out of boundary check while parsing slice header
Bug: oss-fuzz:17070
Test: hevc_dec_fuzzer
2023-05-26 01:49:21 -07:00
TreeHugger Robot
7d3d14afcf Merge "decoder: Fix integer overflow while parsing num_long_term_pics" into qt-qpr1-dev am: 1e1b2c7f1e
Change-Id: Id3954a471692be4b737fd1409fcb0515f7fd6c03
2020-03-20 02:58:38 +00:00
Harish Mahendrakar
7dcf82ada4 decoder: Fix integer overflow while parsing num_long_term_pics
Bug: 143826590
Test: poc in bug
Change-Id: I190a8e27a400f686cba88edd5c8721404e53b9cb
2020-02-11 16:23:38 -08:00
Harish Mahendrakar
40dbcab01b decoder: Return error if first slice decoded in a frame is dependent slice
Dependent slice copies slice header from a previously decoded slice.
In case of errors, when the first slice is missing and subsequent slice to
be decoded is a dependent slice, it has no valid slice header to copy
from. Ignore such slices.

Bug: 141688974
Test: poc in bug
Change-Id: Idc1bed45ab37aeee4d373deb00e1b465ca84cfeb
2019-12-01 13:30:58 -08:00
Harish Mahendrakar
b5b07b5539 Merge "decoder: Reset slice header at start of slice header decode" into oc-dev am: 930597cb2e am: 588f78b7d7 am: 7b1140f957 am: 399938e52e am: 7aa6102559 am: 8bfa119917 am: 60f9768c9e
am: 3ef502bf64

Change-Id: I1092b88bb7903ae932a58c7ba71b869fc31e381e
2019-09-28 09:53:32 -07:00
Harish Mahendrakar
7aa6102559 Merge "decoder: Reset slice header at start of slice header decode" into oc-dev am: 930597cb2e am: 588f78b7d7 am: 7b1140f957
am: 399938e52e

Change-Id: I3107c7d7a21921561cbf1a9ebb34a8645011094d
2019-09-28 09:30:23 -07:00
Harish Mahendrakar
42f70ae4ef decoder: Reset slice header at start of slice header decode
Reset slice header to zero, to avoid using invalid slice header
contents from prior headers parsed.

Bug: 140692129
Test: poc in bug
Change-Id: Ib2b7c006069b0226b5f2d741f9da7b681be26f82
2019-09-19 08:43:56 -07:00
Harish Mahendrakar
cf80d4f83c decoder: Fix integer overflow while parsing slice_qp_delta
Test: poc in bug
Bug: 136568826
Change-Id: Id1371249e80cb5858b1f93b5b25c8e4a43dbde04
2019-07-17 14:14:25 -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
Android Build Merger (Role)
2b9fa38bb8 [automerger] Add missing return check for short_term_ref_pic_set() am: 299cceb9e4 am: 2e8ae23656 am: 7ecb4083b9 am: 4fe71a567e am: 1561dc0fa9
Change-Id: I378a6e4f6f70931f36fd74acb02846096679e367
2019-04-23 22:29:03 +00:00
Harish Mahendrakar
299cceb9e4 Add missing return check for short_term_ref_pic_set()
Bug: 129401104
Bug: 130025324
Test: vendor
Change-Id: I685dd29ec13cca0ced5de8eb3aea1d0da5952a62
2019-04-23 15:28:03 -07:00
Snehal Bhamare
1b4ab78b5d Decoder: Fixing integer-overflow sanitizer issues
Bug: 111272481
Test: vendor
Change-Id: Idd5db33617ae55f70a1be67e0374adceafc174d3
2019-02-05 14:25:24 -08:00
S Hamsalekha
8669e83d71 Decoder: Fixing some more integer-overflow sanitizer issues
Bug: 111272481
Test: vendor
Change-Id: I8603d82a52def851a9af67da6fcb967963c44c69
2019-01-09 13:16:44 -08:00
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
ac40d5cc2d Merge "Fix slice address zero for not first slice in pic" into lmp-dev am: 114aff802c am: ad70f9c5e2 am: 20a7f0e1b4 am: ef0772c3ca am: 198f56da58 am: 769c1bfda4 am: 84cd0f6f22 am: 377b26c01a am: e63ad6b0b8 am: fe799184d3
am: 7a0f3ce38c

Change-Id: I049324a64d0a5c54cbe4e488211c0ebae7ff87c9
2017-11-03 19:36:42 +00:00
Wei Jia
6888ee25c8 Merge "Fix prev slice incomplete check" into lmp-dev am: 94c2e4ad73 am: 7ec4d76835 am: c0b7da5b7c am: 9d4d24e860 am: 8146b1fa13 am: 49e301c21f am: 4d8b33a446 am: 46fa92251b am: b18fd7661a am: 7ca8aafc72
am: 32620cb208

Change-Id: Iab39df9e65d79841a2de1ceba9fcef18ae895c5e
2017-11-03 19:36:27 +00:00
Naveen Kumar P
ef0772c3ca Merge "Fix slice address zero for not first slice in pic" into lmp-dev am: 114aff802c am: ad70f9c5e2
am: 20a7f0e1b4

Change-Id: I22705396bf416b34f1ad10767d638d47d5354c60
2017-11-03 19:10:37 +00:00
Naveen Kumar P
20a7f0e1b4 Merge "Fix slice address zero for not first slice in pic" into lmp-dev am: 114aff802c
am: ad70f9c5e2

Change-Id: I5c9a3536b5b280cb2c8119e5749605f7bf159319
2017-11-03 19:07:17 +00:00
Wei Jia
9d4d24e860 Merge "Fix prev slice incomplete check" into lmp-dev am: 94c2e4ad73 am: 7ec4d76835
am: c0b7da5b7c

Change-Id: I587e690d8cfcb96abbd19561df262eeff5f0469c
2017-11-03 19:07:04 +00:00
Wei Jia
c0b7da5b7c Merge "Fix prev slice incomplete check" into lmp-dev am: 94c2e4ad73
am: 7ec4d76835

Change-Id: I121231f5af58fd985a88e1aa14f32aa878fde903
2017-11-03 19:05:33 +00:00
TreeHugger Robot
114aff802c Merge "Fix slice address zero for not first slice in pic" into lmp-dev 2017-11-03 19:01:28 +00:00
Naveen Kumar P
ed3f6bb877 Fix slice address zero for not first slice in pic
The parameter slice address is parsed only slices that are not
first slice in the pic and the value cannot be zero.

Bug: 64380202
Test: ran PoC on master
Change-Id: Ic21c40cf67c916806113d2425790a27cb658b5d2
2017-10-31 14:57:18 -07:00
Naveen Kumar P
9c24714e25 Fix prev slice incomplete check
Bug: 64552185
Bug: 65034175

Move the decision to signal missing ctbs as skipped ctbs of
previous slice to the end of current slice hdr parsing to
ensure no error in slice hdr parsing.

Change-Id: Ia33b4be31dad6225b04e7b20b9000059c87941c4
(cherry picked from commit 74f35f191022c06863dacd33a3651a33be3ef08d)
2017-10-30 15:40:08 -07:00
Harish Mahendrakar
210f8af915 Fix heap buffer overflow while searching for valid PPS am: 5204651228 am: 89e719dc77 am: 22af42db03 am: 8108fecdf7 am: a136624479 am: a5f39dc005 am: a4d50ccfc5 am: 9c2d2c650b am: a22d701d44 am: 9988d9ce85 am: aea5479b5e
am: d067bae044

Change-Id: Ied0cae98fb4e8679c75bd0c0c00c4bb00515c16d
2017-05-17 10:34:15 +00:00
Harish Mahendrakar
a136624479 Fix heap buffer overflow while searching for valid PPS am: 5204651228 am: 89e719dc77 am: 22af42db03
am: 8108fecdf7

Change-Id: If4d873c7e01ad27c2e8f2e66525448b909e0ee63
2017-05-17 10:12:42 +00:00
Harish Mahendrakar
8108fecdf7 Fix heap buffer overflow while searching for valid PPS am: 5204651228 am: 89e719dc77
am: 22af42db03

Change-Id: I63e5a3e0168b901968d070a7b6185cb209b765f4
2017-05-17 10:10:11 +00:00
Harish Mahendrakar
5204651228 Fix heap buffer overflow while searching for valid PPS
Bug: 37094889
Test: Tested POC on ASAN build
Change-Id: Id4e52cd10a4d5eac015efe4b752162dc39cc30b8
2017-05-16 16:48:29 -07:00
Naveen Kumar P
9f0bc125b0 Merge "Check for buffer overflow in pps/slice header parsing" into lmp-dev am: 1853d3871a am: f7635dd278 am: 17caa64f8b am: 0b13008b9a am: 76c466f238 am: 94f311a6f2 am: d33b4bb164 am: 22dfbd2def am: 81f389ea8c am: 72975de955 am: 409934a1c0
am: 1e2982a322

Change-Id: Ie704969b415719f004dcc7dbe66d498ec652116e
2017-05-16 22:48:24 +00:00
Naveen Kumar P
76c466f238 Merge "Check for buffer overflow in pps/slice header parsing" into lmp-dev am: 1853d3871a am: f7635dd278 am: 17caa64f8b
am: 0b13008b9a

Change-Id: Iff756412d3aae6cebffffde91c2577872e35813a
2017-05-16 22:33:32 +00:00
Naveen Kumar P
0b13008b9a Merge "Check for buffer overflow in pps/slice header parsing" into lmp-dev am: 1853d3871a am: f7635dd278
am: 17caa64f8b

Change-Id: Ibdf47e9ea494abfb70d387b48ff8b4f02b68e45c
2017-05-16 22:29:43 +00:00
Naveen Kumar P
d61d5e5f6a Check for buffer overflow in pps/slice header parsing
Bug: 36215950
Bug: 36215953
Bug: 36216719
Change-Id: Ibdc05e1d5aa21d060d7c683fd9af4bed8537053f
2017-05-15 15:45:50 -07:00
Naveen Kumar Ponnusamy
a5117bfdca Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev am: 397d2f6c42 am: 1ebd5e1d81 am: 998a1e26c0 am: a56dc1d7d0 am: 87c7e6a523 am: c9375442de am: 993a3e498a am: 4dbd4142e5 am: a77d63eb88 am: 152847677c am: 52cef1871e
am: e0b16068ed

Change-Id: I978431ea8e7559f68dea6cac17c57bfa60d68ce6
2017-04-12 20:59:34 +00:00
Naveen Kumar Ponnusamy
87c7e6a523 Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev am: 397d2f6c42 am: 1ebd5e1d81 am: 998a1e26c0
am: a56dc1d7d0

Change-Id: I9a0d60cec34503652f87d6a68268c3b7703a5611
2017-04-12 20:15:31 +00:00
Naveen Kumar Ponnusamy
a56dc1d7d0 Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev am: 397d2f6c42 am: 1ebd5e1d81
am: 998a1e26c0

Change-Id: Icc0d6cc373368c73fe186b0e36417695ae7b38dd
2017-04-12 20:10:00 +00:00
TreeHugger Robot
397d2f6c42 Merge "Check only allocated mv bufs for releasing from reference" into lmp-dev 2017-04-12 19:49:50 +00:00
Ray Essick
65cfff8a97 Merge "Set current slice ctb x and y to fill prev incomplete slice" into lmp-dev am: bfcdbd6a5b am: 88133ef0a3 am: 6249eafc05 am: 60db7fead3 am: 1f26f4efca am: e762c0f3fa am: 4120dd0781 am: 147bc0e418 am: bb74d99837 am: de99b4a795 am: 968c2b418e
am: 46df481f8e

Change-Id: Icdfda21da98fca5063f9cf78dc599e1bea20b275
2017-04-10 23:54:51 +00:00
Ray Essick
1f26f4efca Merge "Set current slice ctb x and y to fill prev incomplete slice" into lmp-dev am: bfcdbd6a5b am: 88133ef0a3 am: 6249eafc05
am: 60db7fead3

Change-Id: I57b1ec58668fd68ec943f8d9b7b6d8ee95174284
2017-04-10 23:09:10 +00:00
Ray Essick
60db7fead3 Merge "Set current slice ctb x and y to fill prev incomplete slice" into lmp-dev am: bfcdbd6a5b am: 88133ef0a3
am: 6249eafc05

Change-Id: I2766292140004cf757db19ebf114b8ff14b96953
2017-04-10 23:05:10 +00:00
Naveen Kumar P
830858436b Set current slice ctb x and y to fill prev incomplete slice
If previous slice is not completed, update the current slice
ctb_x and ctb_y so that while filling the previous slice,
the parse slice code can break properly.

Bug: 32322258
Test: boot, ran POC supplied with bug
Change-Id: Ie9090694514a018268851560a3f056194ff6fc91
2017-04-07 20:00:54 +00:00
Naveen Kumar Ponnusamy
23bfe3e06d Check only allocated mv bufs for releasing from reference
When checking mv bufs for releasing from reference, unallocated
mv bufs were also checked. This issue was fixed by restricting
the loop count to allocated number of mv bufs.

Bug: 34896906
Bug: 34819017

Change-Id: If832f590b301f414d4cd5206414efc61a70c17cb
2017-03-15 18:13:38 +00:00
Marco Nelissen
dfc77b66fa Merge "Handle error return from ref list in slice hdr parsing" into mnc-dev am: 8883b3e2a3 am: 667e459e3f am: 6d700817a0 am: e6e65ce177 am: 098fc089d9 am: 2ee0db6b2a am: 345ba38fe0 am: ab9c6b1b03
am: e58cf1e62f

Change-Id: Id271d81cbd50aa928ef2c1c254c6b5640555c61b
2017-03-13 23:28:04 +00:00
Marco Nelissen
667e459e3f Merge "Handle error return from ref list in slice hdr parsing" into mnc-dev
am: 8883b3e2a3

Change-Id: I84b859bc5358e8b650871dfeb09a2563a03764eb
2017-03-13 22:56:54 +00:00
Naveen Kumar Ponnusamy
766f97657f Handle error return from ref list in slice hdr parsing
The error returned by ref_list function was not handled by the
caller parse_slice_header.

Bug: 34672748
Change-Id: I55f6cb0e651746e77f7ff3375115894ec3964203
2017-03-13 15:37:19 -07:00
Naveen Kumar Ponnusamy
25206ffa6e Handle error return from ref list in slice hdr parsing
The error returned by ref_list function was not handled by the
caller parse_slice_header.

Bug: 34672748
Change-Id: I55f6cb0e651746e77f7ff3375115894ec3964203
2017-03-10 19:01:38 +00:00