| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| |
| | |
Bug: 190855093
Merged-In: I598c50f727b4d62f19523cbb008482e27de5e3cc
Change-Id: I90608242ee02771f107a9bb32c865f37bdf38c0f
|
| | |\
| | |
| | |
| | |
| | |
| | | |
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/libhevc/+/14008800
Change-Id: Id6ad19a50cd49948c2baee9e4ea9d00536fecdb5
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When processing V plane, an extra byte was being read in some
of the neon modules.
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: I598c50f727b4d62f19523cbb008482e27de5e3cc
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Test: hevcenc -c vid_enc_cfg.txt
Bug: 135515629
Change-Id: I055dade512277a0bb605f253328cf5ac8af2a64f
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Test: POC in bug descriptions
Test: hevcenc -c vid_enc_cfg.txt --enable_entropy_sync 1
Bug: 177750322
Change-Id: I761e3e5e375d02e804f46b63ac308483f44bd976
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
memcmp was used in a loop to compare data that
was being updated by other threads.
memcmp doesn't support comparing volatile data.
This is now replaced by a function which
compares the volatile data to zero
Bug: 168427831
Bug: 177354159
Bug: 177483127
Test: atest VtsHalMediaC2V1_0TargetVideoEncTest
Test: atest CtsMediaV2TestCases
Change-Id: I00c5a9ac3e5ae792337017dbbb89d3947687e1e9
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 173312145
Test: poc in bug
Test: atest android.media.cts.HeifWriterTest
Test: atest android.mediav2.cts
Change-Id: I469c6864ffce5f0019f6be49ff4f3f0a58f04ec1
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When rc lookahead is disabled, next frame encode context becomes NULL.
This context is used to signal end of gop. As this is NULL rc does not
know the end of gop causing over consumption of bits. Rely on intraframe
interval to resolve this.
Also, as there is no scene change detection, default all pics to single scene.
Bug: 140313463
Bug: 168628473
Bug: 166085628
Test: atest android.media.cts.VideoCodecTest
Change-Id: I6dcf9fb52d3aa18935e0b8d9ec9c193b15d30668
|
| |\ \
| | |
| | |
| | |
| | |
| | | |
Original change: https://android-review.googlesource.com/c/platform/external/libhevc/+/1323871
Change-Id: Icc06c5ffe94a8a4bbe9c230545b7a1125293b428
|
| | |\ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Original change: https://android-review.googlesource.com/c/platform/external/libhevc/+/1323871
Change-Id: I1374dc16eda67f7e93a4d16cf7ab707c956a80aa
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Async command control buffer is not being released after use.
This is corrected.
Also ensured dynamic bitrate doesn't go below min supported bitrate
Test: hevcenc -c vid_enc_cfg.txt
Bug: 147574800
Change-Id: I0e31092bb9c51ce5d22798aab6004d1654ff985e
|
| | |\| |
| | | |
| | | |
| | | |
| | | |
| | | | |
9aaf323625
Change-Id: Ieb0047dc8d7bb6ea3055a7c8f43c4a64f885dd63
|
| | |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
qt-qpr1-dev am: 06714eb8e9
Change-Id: Ib5fc2812400ca7f9cf835033ebdd09bf94c7c09c
|
| |\ \ \ \ \
| | |_|/ /
| |/| | /
| |_|_|/
|/| | |
| | | | |
9aaf323625
Change-Id: Iaa69281191172d8bea92010733c2f87a3b43e139
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
Test: hevcenc -c vid_enc_cfg.txt
Bug: 135515629
Change-Id: I055dade512277a0bb605f253328cf5ac8af2a64f
|
| |\ \ \
| | |/
| |/|
| | |
| | |
| | | |
qt-qpr1-dev am: 06714eb8e9
Change-Id: Ib5da48774a515af147c7dce1503338b5e4fe4cb5
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
chroma intra pred 3_to_9 mode av8 assembly loads 16 bytes ahead of base
address of intermediate buffer but doesnt use it. Allocate this
additional size and offset the same to avoid access violation
Test: hevcenc -c vid_enc_cfg.txt --input selfie_1280_720.yuv --src_width 512 --src_height 512
Bug: 144595488
Change-Id: I1094cf4593ba379354f567876288e2d9b9fae83d
|
| |\ \ \
| | |/
| |/|
| | |
| | |
| | | |
am: 69dd91e2b1
Change-Id: Ia0d68453a15cd86d38938a2b50f024147f4b8850
|
| | |\ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
code associated with pre enc intra processing is cleaned up.
Unreachable code and debug code is removed. Structure members that
are unused or used for debugging purpose are removed. Control
code is simplified. This helps in memory footprint and object size
foot print.
Test: hevcenc -c vid_enc_cfg.txt
Bug: 139400699
Change-Id: I7697b05ea1d470d93bdb9cb14304cb0bfefd8054
|
| |\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
loop" am: f74c2f62dd am: 7b50e40026
am: 5a302f5f2b
Change-Id: Ibad38aaa7604683d6467c37bb2f19cc467ecd780
|
| | |\ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently deblocking, sao and subpel plane generation are happening for every
CTB serially. This change enables deblocking to be finished for the entire row first.
Then performs SAO for the entire row and finally performs subpel plane
generation for the entire row. This change does not have any effect on the
end bitstream but is expected to give performance gains on devices with
low instruction cache.
On arm platforms, it is noticed that for P5 preset, performance is improved by 15%.
Test: hevcenc -c vid_enc_cfg.txt
Bug: 135510351
Change-Id: I6d09e6cc1d36e967a9b3dd3e68f75bdd0b476a1c
|
| |\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
am: 53dfefdaf7
am: c789b735f0
Change-Id: I8414616e8e3d5df59472d7d645f9a9c003a4c71d
|
| | |\ \ \ \ |
|
| | | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When cu level rc is enabled, the lagrange param is left
uninitialized at the start of row. This is causing the
outputs to vary from run to run when multi-thread is
enabled, for a given input and encoding options. This is
now corrected.
Test: hevcenc -c vid_enc_cfg.txt
Bug: 139402085
Change-Id: Ic9693e9a547d9d5dc1c3b7ef4a46640850723829
|
| |\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
fc394ef8ce am: 130dae5eaa
am: 3f6dc24f13
Change-Id: I6ccdc44eb9e672aa3338d7bee727f96dd457f7e9
|
| | |\ \ \ \
| | |_|/ /
| |/| | | |
|
| | | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Output receive buffer was waiting for one extra picture,
corrected latency.
Bug:135986218
Test: hevcenc -c vid_enc_cfg.txt --max_temporal_layers 1
Change-Id: I2623e59e1b62d1fcbe432f0fe0bab6350ab23889
|
| |\| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
am: 289e13445d
Change-Id: I8e0b7af880b7b2eff8955e7efc3ef1186f7c0b73
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. Removed excess buffer contexts between core encoding and entropy
2. Allocate memory for lookahead feature on a need basis as opposed to
allocation based on a pre-defined macro
3. Removed unused/debug structure members
Test: hevcenc -c vid_enc_cfg.txt
Bug: 139400088
Change-Id: Ibc7228181b51ec97f355b3657df87d70f207cdd9
|
| |\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
am: d52ce65b76
am: 02273aa048
Change-Id: I50765a3ab78d597a5aca43a23939ec8612491fff
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While encoding inputs for size 64 x ht for ht > 64, there is a possible
race condition. Before performing deblocking/sao for current CTB, its
top right CTB is checked for its deblocking/sao completion. This can be
skipped for last CTB of a row, provided you have atleast 2 CTB's per row.
The skip is happening for rows with single CTB as well. This is corrected.
Test: hevcenc -c vid_enc_cfg.txt --src_width 64 --src_height 512 \
--input night_64x512.yuv --num_cores 4
Bug: 135516662
Change-Id: Ifed1ae25e5e460cb59d84533e5ad87730ebb3395
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
Fixes integer overflow seen in low bitrate encoding or
in constant qp encoding at lower levels.
Test: hevcenc --rate_control_mode 3 --codec_level 63 --input football_qvga.yuv\
--src_width 320 --src_height 240 --output out.265 --tgt_bitrate 128000 \
--vui_enable 1 --num_frames_to_encode -1
Bug: 134139339
Change-Id: Ifa5b35fc680f09009f76105a0ee4778683b7fcad
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
Test: hevcenc -c vid_enc_cfg.txt
Bug: 125938526
Change-Id: I3c45cf5ebf6348024a5632025f042b1a3c2544d9
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1. While encoding uniform content, it is possible to have perfect
prediction, thus yielding zero distortion. Ratio of Log(cu distortion),
Log(avg cu distortion) is used in cu level qp modulation.
So avoid log(zero) calls.
2. Limit peak-br to twice of tgt-br.
Test: hevcenc -c vid_enc_cfg.txt --input night_320x240_1.yuv --src_width 320 --src_height 240
Bug: 130019940
Change-Id: I9ec68e385b06af25f216c51bcb90910750a5b3bf
(cherry picked from commit 79d3f2a354c85c0e5078dadb6758fb5c4d8e759c)
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
In one of the returns paths from rc library, it is seen that frame qp is
exceeding the max value configured. At extremely low bitrates, this is
exceeding the max allowable qp and is causing access violation.
Test: hevcenc -c vid_enc_cfg.txt --tgt_bitrate 64000
Bug: 130018957
Test: poc
Change-Id: Iff64c73752d2fd795276678b0d681ab10b550750
(cherry picked from commit 79b1da48ebd54791471bced2adeb76243de298e2)
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Earlier min frame rate allowed was 7.5.
Encoder now supports min frame rate of 1 which is needed for image
encoding
Bug: 132450110
Test: With HeifWriter demo application for 512x512 image
Change-Id: I1c39ecef3f489d9acc3ae1e6ef8f7ad587b3f2e1
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| | |
Test: hevcenc -c vid_enc_cfg.txt
Bug: 129763447
Change-Id: If4dbaba1086694fd2030b05c232988d8c1807fea
|
| |/
|
|
|
|
|
|
| |
C/neon behaviour earlier differed (Neon was correct). This is corrected.
Test: hevcenc -c vid_enc_cfg.txt
Bug: 129762743
Change-Id: I0e59ee371a3d3b9902bcce1d1188856fb169fb8a
|
|
|
Test: hevcenc -c vid_enc_cfg.txt
Bug: 110456253
Test: CtsMediaTests/VideoEncoder
Change-Id: I9df8143709c3fe5d2c8398974a16529a3f8b8ebc
|