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
srujan vandrangi
90aefb438b
decoder: join threads in flush mode
...
Test: hevcdec
2023-09-25 08:48:17 -07:00
Harish Mahendrakar
a3a680224d
Revert "decoder: fix bytes consumed in case slice in header mode error"
...
This reverts commit d7b7ccc4cd .
Reason for revert: This breaks decoding using hevcdec binary
2023-08-06 15:38:38 -07:00
Harish Mahendrakar
72558e3be0
decoder: join threads in reset()
...
Test: hevc_dec_fuzzer
2023-07-23 22:40:57 -07: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
Srujan Vandrangi
d7b7ccc4cd
decoder: fix bytes consumed in case slice in header mode error
...
Bug: oss-fuzz:23200
Test: hevc_dec_fuzzer
2023-07-04 18:23:30 -07:00
Harish Mahendrakar
e4b160c9e5
decoder: cleanup MULTICORE macro
2023-05-26 16:13:41 +05:30
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
Harish Mahendrakar
8fd281b28c
decoder: Fix OOB read from stack in intra pred modules
...
Bug: 263910597
Test: hevc_dec_fuzzer
Test: test hevcdec for standard test clips
2023-04-10 11:35:42 +05:30
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
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
Treehugger Robot
104da7c893
Merge "Decoder: add support to use ihevcd instead of ivd structures"
2022-07-06 04:19:49 +00:00
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
Shivaansh Agrawal
46a37119ac
Decoder: add support to use ihevcd instead of ivd structures
...
Bug: 176411924
Test: hevcdec -c test.cfg
Test: atest -c android.mediav2.cts.CodecDecoderTest
Test: atest VtsHalMediaC2V1_0TargetVideoDecTest
Change-Id: Iacfc73fe4bc5b755ccc1f36d9bdc12ec3c0aae21
2022-05-05 11:45:55 +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
Harish Mahendrakar
b10161aba2
decoder: Ignore RASL NALs after flush
...
After flush, if the first slice NAL sent to decoder is a CRA
picture, then it may have associated RASL NALs that need to
be skipped as they may contain references to pictures that
are not present in the bitstream that is fed to the decoder.
Currently decoder was handling this case only at the start
of decode and after receiving an EOS NAL. Now it is updated
to ignore such RASL NALs associated with CRA after flush as
well.
This is needed to handle seek in clips, where CRA NALS are
marked as sync points.
Bug: 194768162
Test: poc in bug
Test: atest VtsHalMediaC2V1_0TargetVideoDecTest
Test: atest CtsMediaV2TestCases:CodecDecoderTest
Change-Id: If5f38b0689c98c4d2a2a720b81d7e28593be5732
2021-09-29 17:20:50 -07:00
Xin Li
c238d1ba0a
DO NOT MERGE - Merge RQ1A.201205.011
...
Bug: 172690556
Merged-In: I83e89056be52b96760d95f5826c2bfdcfd3962e2
Change-Id: I345273990b9c456d5264ba7b79256f8a52392399
2020-12-07 00:39:41 -08:00
Manisha Jajoo
663b9fd803
decoder: Fix memory uninitialized issue in ihevcd_sao_shift_ctb
...
Test: poc in bug
Bug: 158484516
Change-Id: I83e89056be52b96760d95f5826c2bfdcfd3962e2
(cherry picked from commit dcef8335b7 )
2020-10-13 01:06:14 +00:00
Ray Essick
57d4fdc39b
Merge "Decoder: add support for KEEP_THREADS_ACTIVE"
2020-10-09 22:23:38 +00: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
TreeHugger Robot
8dd5785494
Merge "common: Fix unintialized reads in intra pred sse functions" into qt-qpr1-dev am: c48a54d368
...
Change-Id: I7ece0c32b535b885bc8d605e5b26a09c94fd58dc
2020-03-20 04:25:25 +00:00
TreeHugger Robot
c48a54d368
Merge "common: Fix unintialized reads in intra pred sse functions" into qt-qpr1-dev
2020-03-20 04:12:56 +00: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
TreeHugger Robot
c5053a6a46
Merge "decoder: Return error if first slice decoded in a frame is dependent slice" into qt-qpr1-dev am: bab21d5cb9
...
Change-Id: I0820b88370622fa3e379032ba7717dbea1834c6f
2020-03-20 02:58:26 +00:00
TreeHugger Robot
bab21d5cb9
Merge "decoder: Return error if first slice decoded in a frame is dependent slice" into qt-qpr1-dev
2020-03-20 02:54:35 +00:00
TreeHugger Robot
92608dc644
Merge "decoder: Fix integer overflow while parsing num_long_term_pics" into qt-qpr1-dev am: 1e1b2c7f1e
...
Change-Id: Ibb3dd89a6e9990eadaeae8d2cadf847cbb59e757
2020-03-20 02:32:12 +00:00
TreeHugger Robot
1e1b2c7f1e
Merge "decoder: Fix integer overflow while parsing num_long_term_pics" into qt-qpr1-dev
2020-03-20 02:31:08 +00:00
TreeHugger Robot
6540e973f8
Merge "Fix DoS in NAL search" into qt-qpr1-dev am: 1b481aebd6
...
Change-Id: I6b4644c57d3f2ebc356255a0ae8713175c219115
2020-03-19 18:49:27 +00:00
TreeHugger Robot
1b481aebd6
Merge "Fix DoS in NAL search" into qt-qpr1-dev
2020-03-19 18:39:44 +00:00
Automerger Merge Worker
1d5e937ff8
Do not call SIMD format conversion for width < 32 am: 75db1b8e48
...
Change-Id: Ib16bf887c1f3a1e0118e2872a39eb1de8cddfb29
2020-02-12 23:43:20 +00:00
Harish Mahendrakar
fa84ffd2c7
common: Fix unintialized reads in intra pred sse functions
...
Bug: 144686961
Bug: 137565646
Bug: 137228292
Test: poc in bug
Change-Id: I2830a30230cf566b17dca77a68136c9c4bd82215
(cherry picked from commit 406fb2aa0e )
2020-02-12 17:18:48 +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
ae695cd67e
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
(cherry picked from commit 40dbcab01b )
2020-02-04 19:39:47 +00:00
Harish Mahendrakar
75db1b8e48
Do not call SIMD format conversion for width < 32
...
Neon SIMD functions do not support width < 32.
Bug: 143464314
Test: poc in bug
Change-Id: I2445c3d98c0b1afbb1ef480403bbc67add629cac
(cherry picked from commit 6219b83299 )
2020-02-04 19:31:27 +00:00
Harish Mahendrakar
196e72450a
Fix DoS in NAL search
...
Bug: 139939283
Test: poc in bug
Change-Id: I345232790e2d351d82e9dc6973a5ef86ce513ef3
(cherry picked from commit e52410163e )
2020-02-04 05:09:05 +00:00
Automerger Merge Worker
468df916ac
libhevcdec: iquant-itrans issue in chroma planes am: 445e0d8d5e am: bc614efab5 am: a17ed8aea7
...
Change-Id: I709937cf73009a6c37261f20a53ad2d514dc3969
2020-01-29 02:50:19 +00:00
Akshata Jadhav
445e0d8d5e
libhevcdec: iquant-itrans issue in chroma planes
...
Misplaced local array on stack is resulting in color artifacts in
decoded yuv. It worked so far, because the array luma_nbr_flags_4x4[]
was always allocated on the same address and thus preserved values from
previous iteration.
Bug: 148157334
Test: atest android.media.cts.HeifWriterTest
Change-Id: Ic2b1964895bf26101508ff2ac82a94192b7b74f8
2020-01-28 04:56:13 +00:00
TreeHugger Robot
4622685ea4
Merge "Do not call SIMD format conversion for width < 32"
2019-12-04 00:15:53 +00:00
Harish Mahendrakar
6219b83299
Do not call SIMD format conversion for width < 32
...
Neon SIMD functions do not support width < 32.
Bug: 143464314
Test: poc in bug
Change-Id: I2445c3d98c0b1afbb1ef480403bbc67add629cac
2019-12-01 13:44:59 -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
e52410163e
Fix DoS in NAL search
...
Bug: 139939283
Test: poc in bug
Change-Id: I345232790e2d351d82e9dc6973a5ef86ce513ef3
2019-10-21 21:27:04 -07: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
3ef502bf64
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
Change-Id: I2616ea213ca2d2790e597fcaa302b05118a0213b
2019-09-28 09:47:47 -07:00
Harish Mahendrakar
75d1ac1026
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
Change-Id: I03efa8acbeeed1e82a49ac632a78a777b3419452
2019-09-28 09:41:58 -07:00
Harish Mahendrakar
60f9768c9e
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
Change-Id: Iec721bd520b328bb7d81d51106733715ea0105c8
2019-09-28 09:41:58 -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
TreeHugger Robot
930597cb2e
Merge "decoder: Reset slice header at start of slice header decode" into oc-dev
2019-09-28 14:09:32 +00:00
Harish Mahendrakar
10bda93c03
Check change in CTB size when decoding multiple SPS with same id am: 70940fbabd am: a9fc115a23 am: a368569d61
...
am: 06aa42bdc7
Change-Id: I653fc906cffc10f57e7183b6696c4df4e77b44dc
2019-09-27 14:45:22 -07:00