Johann Koenig [Mon, 7 Jan 2019 23:54:39 +0000 (23:54 +0000)]
Merge "vp8_copy32xn: resolve missing declaration"
Johann Koenig [Mon, 7 Jan 2019 23:26:54 +0000 (23:26 +0000)]
Merge "vpx_filter: resolve missing declarations"
Johann Koenig [Mon, 7 Jan 2019 23:26:43 +0000 (23:26 +0000)]
Merge "vpx_clear_system_state: resolve missing declaration"
Johann Koenig [Mon, 7 Jan 2019 23:26:32 +0000 (23:26 +0000)]
Merge "vp9 intra pred test: resolve -Wuninitialized warning"
Johann Koenig [Mon, 7 Jan 2019 23:26:06 +0000 (23:26 +0000)]
Merge "arm neon: resolve missing declarations"
Johann [Mon, 7 Jan 2019 18:39:04 +0000 (10:39 -0800)]
vp8_copy32xn: resolve missing declaration
BUG=webm:1584
Change-Id: I8279e099fb9595edad858bf7332bf2b40fecae02
Johann [Mon, 7 Jan 2019 22:05:58 +0000 (14:05 -0800)]
arm neon: resolve missing declarations
BUG=webm:1584
Change-Id: I2dcf39f2327b72b58be72c27f952ea781a790dd3
Johann [Mon, 7 Jan 2019 20:34:53 +0000 (12:34 -0800)]
vpx_filter: resolve missing declarations
BUG=webm:1584
Change-Id: I1be768446b9304123da7b1ea0aed0db056db31c5
Johann [Mon, 7 Jan 2019 19:58:28 +0000 (11:58 -0800)]
vpx_clear_system_state: resolve missing declaration
BUG=webm:1584
Change-Id: I0770fc97055b98cdf9ff7bd7a93ae3a5e19b8180
Fyodor Kyslov [Mon, 7 Jan 2019 19:30:21 +0000 (19:30 +0000)]
Merge "Fix OOB memory access on fuzzed data"
Johann [Mon, 7 Jan 2019 19:27:53 +0000 (11:27 -0800)]
vp9 intra pred test: resolve -Wuninitialized warning
BUG=webm:1584
Change-Id: I58505e04bd248697047d4957cebe495dada670a0
kyslov [Sat, 5 Jan 2019 01:04:09 +0000 (17:04 -0800)]
Fix OOB memory access on fuzzed data
vp8_norm table has 256 elements while index to it can be higher on
fuzzed data. Typecasting it to unsigned char will ensure valid range and
will trigger proper error later. Also declaring "shift" as unsigned char to
avoid UB sanitizer warning
BUG=b/
122373286,b/
122373822,b/
122371119
Change-Id: I3cef1d07f107f061b1504976a405fa0865afe9f5
Johann [Mon, 7 Jan 2019 17:53:18 +0000 (09:53 -0800)]
fix vp9 fdct_quant
Values in [q]coeff1 were not correctly stored. This caused a segfault
in the sse2 libvpx__nightly_optimization jobs.
Broken in:
commit
85032bac388917916f7a149173db8b34e93e8f6e
Author: Johann <johannkoenig@google.com>
Date: Fri Dec 21 00:27:00 2018 +0000
fdct_quant: resolve missing declarations
BUG=webm:1584
Change-Id: I5f5fad34ec5e32023f5b40ff3691125754c11ced
Urvang Joshi [Fri, 4 Jan 2019 23:03:57 +0000 (23:03 +0000)]
Merge "VP9 firstpass: Bugfix when mi_col_start/end is odd"
Urvang Joshi [Thu, 3 Jan 2019 22:49:18 +0000 (14:49 -0800)]
VP9 firstpass: Bugfix when mi_col_start/end is odd
Before this patch, if mi_col_end was odd, then the for loop for 'mb_col'
was looping once LESS than it should have been.
For example, if mi_col_end = 47, then the loop was terminating when
mb_col == 23. However, the correct behavior would be to terminate when
mb_col == 24.
The issue was introduced in:
https://chromium-review.googlesource.com/c/webm/libvpx/+/423279
This can lead to many of the stats being inaccurate, for such videos
(with mi_col_start/end having an odd value).
As an example:
Even for very static content, fp_acc_data->intercount can never reach the
same value as num_mbs. And in turn, pcnt_inter can never reach the value 1
(that is, 100%). This would lead to very static videos NOT being marked
static, and encoded like regular videos.
Note: this is just one possible effect based on observation. Other
issues are also possible based on other stats.
Improvement on some test clips:
-------------------------------
- One test clip saw a gain of -2.580% in VBR mode (and -3.153% in Q
mode). The reason for improvement: a wrongly detected scene cut was
avoided due to corrected value in 'this_frame->pcnt_inter'.
- Some very static clips correctly marked as having 100% zero motion.
This avoided addition of unncecessary alt-refs, thereby reducing the
bitrate.
BDRate (PSNR) on regular sets (VBR mode):
-----------------------------------------
lowres: 0.0
midres: -0.027 (some clips were better/worse, but I double checked that
changes were as expected, given correction in stats calculation).
hdres: 0.0
STATS_CHANGED for the types of videos described above.
Change-Id: Ifbc2c0c0815d23ec4015475680bdf8886f158dcc
Angie Chiang [Tue, 1 Jan 2019 04:56:31 +0000 (20:56 -0800)]
Increase memory size in non-greedy-mv
The smallest block size of motion field is 4x4, but the mi_unit
size is 8x8, therefore the number of units of motion field is
"mi_rows * mi_cols * 4".
Change-Id: I95292904d757705d39b78af5d0cf2d25f376c642
Angie Chiang [Sun, 23 Dec 2018 00:42:28 +0000 (16:42 -0800)]
Build pyramid motion field
Change-Id: I43fd61f7946a8a96d444dab5e94a9b01483ffab7
Jerome Jiang [Wed, 2 Jan 2019 20:55:26 +0000 (12:55 -0800)]
vp9: psnr diff thres for single vs multi threading.
Change the threshold from 0.1 to 0.2.
BUG=webm:1588
Change-Id: I1ca20b360bcae66d09dc898c3266c9f5ac346561
Yunqing Wang [Fri, 21 Dec 2018 22:46:52 +0000 (14:46 -0800)]
Adaptively choose block sizes in temporal filtering
Use variable block sizes in temporal filtering. Based on prediction
errors of 32x32 or 16x16 blocks, choose the block size adaptively.
This improves the coding performance, especially for HD resolutions.
Speed 1 borg test result:
avg_psnr: ovr_psnr: ssim:
lowres: -0.090 -0.075 -0.112
midres: -0.120 -0.107 -0.168
hdres: -0.506 -0.512 -0.547
Change-Id: I8f774e29ecb2e0dd372b32b60c32d8fa30c013a8
Johann Koenig [Mon, 24 Dec 2018 02:06:17 +0000 (02:06 +0000)]
Merge "fwd_dct32x32 avx2: resolve missing declarations"
James Zern [Sat, 22 Dec 2018 17:46:54 +0000 (17:46 +0000)]
Merge "Revert "Add Tile-SB-Row based Multi-threading in Decoder""
James Zern [Sat, 22 Dec 2018 14:35:35 +0000 (09:35 -0500)]
test-data: add missing test data entries
invalid-bug-1443-v2.ivf{,.res}
invalid-vp80-00-comprehensive-s17661_r01-05_b6-.v2.ivf{,.res}
missed in:
6dbf738a4 vp8: kill all threads on corrupted frame.
Change-Id: I6481f4ad7544ecc069d0e0442888e97e9638fdd3
James Zern [Sat, 22 Dec 2018 14:26:29 +0000 (09:26 -0500)]
Revert "Add Tile-SB-Row based Multi-threading in Decoder"
This reverts commit
02b3ef7faee5be5ee519856fbb3523d3ab49f6e7.
Reason for revert: fails to build under visual studio
Original change's description:
> Add Tile-SB-Row based Multi-threading in Decoder
>
> Add the multi-thread function that decodes a video row by row instead
> of a tile at a time. Create a job queue for queueing all parse and recon jobs.
> Each SB row of a tile is a job.
>
> Performance Improvement:
>
> Platform Resolution 3 Threads 4 Threads
> ARM 720p 36.81% 18.37%
> 1080p 32.27% 14.76%
>
> ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
>
> Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e
BUG=webm:1587
Change-Id: Ia4c8f5128922a205cd9fd83aaef8a2e73764d4a7
Fyodor Kyslov [Fri, 21 Dec 2018 23:24:29 +0000 (23:24 +0000)]
Merge "Bound the total allocated memory of frame buffer"
Johann Koenig [Fri, 21 Dec 2018 22:02:49 +0000 (22:02 +0000)]
Merge "fwd_dct32x32 sse2: resolve missing declarations"
kyslov [Fri, 21 Dec 2018 20:04:04 +0000 (12:04 -0800)]
Bound the total allocated memory of frame buffer
This CL allows to limit memory consumption of the frame buffer pool. As
the result if compiled with VPX_MAX_ALLOCABLE_MEMORY set codec will fail
if frame resolution requires more memory
This is backported CL
aae2183cb58b60d01b8e4e15269ee9f48dd72908 from
aomedia
Tested:
configure --extra-cflags="-DVPX_MAX_ALLOCABLE_MEMORY=
536870912"
make
./test_libvpx
BUG=webm:1579
Change-Id: Ic62213b600a7562917d5a339a344ad8db4b6f481
Johann Koenig [Fri, 21 Dec 2018 21:46:00 +0000 (21:46 +0000)]
Merge "vp9_decodeframe.c: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 21:40:49 +0000 (21:40 +0000)]
Merge "vp9_highbd_block_error_sse2: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 21:37:53 +0000 (21:37 +0000)]
Merge "convolve avx2: resolve missing declarations"
Elliott Karpilovsky [Fri, 21 Dec 2018 21:31:49 +0000 (21:31 +0000)]
Merge "Improve accuracy of benchmarking"
Johann [Fri, 21 Dec 2018 20:44:49 +0000 (12:44 -0800)]
fwd_dct32x32 avx2: resolve missing declarations
BUG=webm:1584
Change-Id: Iaba854952534a95e710a985acfcab46e093872c2
Johann [Fri, 21 Dec 2018 20:05:24 +0000 (12:05 -0800)]
fwd_dct32x32 sse2: resolve missing declarations
BUG=webm:1584
Change-Id: Ia2d9fcbccbad0c2142a3759e610670b86af0fef4
Johann [Fri, 21 Dec 2018 19:59:07 +0000 (11:59 -0800)]
vp9_highbd_block_error_sse2: resolve missing declarations
BUG=webm:1584
Change-Id: I43d051c538bf4a6f6210eefa398dc0901ab8d157
Johann [Fri, 21 Dec 2018 19:54:21 +0000 (11:54 -0800)]
vp9_decodeframe.c: resolve missing declarations
BUG=webm:1584
Change-Id: Ie0d26b745ab1f5907a6a2dc10fbc5083f3fb0b8d
Johann [Fri, 21 Dec 2018 19:50:30 +0000 (11:50 -0800)]
convolve avx2: resolve missing declarations
BUG=webm:1584
Change-Id: I5990c0100af83d13f7a4800147473bc997f5e5d1
Johann Koenig [Fri, 21 Dec 2018 19:30:04 +0000 (19:30 +0000)]
Merge "subpixel_8t sse2: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 19:29:38 +0000 (19:29 +0000)]
Merge "vpx{dec,enc}: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 19:29:25 +0000 (19:29 +0000)]
Merge changes I48b9a9cd,I92504ed4
* changes:
subpixel_8t ssse3: resolve missing declarations
subpixel_8t avx2: resolve missing declarations
elliottk [Wed, 19 Dec 2018 21:35:30 +0000 (13:35 -0800)]
Improve accuracy of benchmarking
For small code regions, readtsc can give inaccurate results because it does
not account for out-of-order execution. Add x86_tsc_start and x86_tsc_end
that account for this, according to the white paper at
https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ia-32-ia-64-benchmark-code-execution-paper.pdf
Using x86_tsc_start/end will also add in several more instructions; I imagine
this is negligible.
Change-Id: I54a1c8fa7977c34bf91b422369c96f036c93a08a
Johann [Thu, 20 Dec 2018 01:51:08 +0000 (17:51 -0800)]
subpixel_8t ssse3: resolve missing declarations
BUG=webm:1584
Change-Id: I48b9a9cdcfe52536f685c41fb2d3c0f3e9192d34
Yunqing Wang [Fri, 21 Dec 2018 17:15:23 +0000 (17:15 +0000)]
Merge "Refactor temporal filtering"
Johann [Thu, 20 Dec 2018 02:09:11 +0000 (18:09 -0800)]
subpixel_8t sse2: resolve missing declarations
vpx_asm_stubs.c only references these sse2 functions. Combine the files
similar to the way the ssse3/avx2 files are set up.
Mark the intrinsics as static because they are only used within the
macros here. It is unfortunate that the assembly functions can not be
marked static as well.
BUG=webm:1584
Change-Id: I342687a1046ae6ca46ae58644a7c170440de1dfb
Jerome Jiang [Fri, 21 Dec 2018 16:24:09 +0000 (16:24 +0000)]
Merge "vp8: kill all threads on corrupted frame."
Johann [Thu, 20 Dec 2018 01:58:56 +0000 (17:58 -0800)]
subpixel_8t avx2: resolve missing declarations
BUG=webm:1584
Change-Id: I92504ed4a2e54129c981b7380249962afb7966df
Johann [Thu, 20 Dec 2018 16:54:37 +0000 (16:54 +0000)]
vpx{dec,enc}: resolve missing declarations
BUG=webm:1584
Change-Id: I81e53e579e6fd22b7b21f432256abbe91bf77b15
Johann Koenig [Fri, 21 Dec 2018 14:49:38 +0000 (14:49 +0000)]
Merge "highbd quantize: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 14:48:07 +0000 (14:48 +0000)]
Merge "fdct_quant: resolve missing declarations"
Johann Koenig [Fri, 21 Dec 2018 14:43:50 +0000 (14:43 +0000)]
Merge "highbd variance: resolve missing declarations"
Jerome Jiang [Wed, 19 Dec 2018 19:18:55 +0000 (11:18 -0800)]
vp8: kill all threads on corrupted frame.
If decoder keeps going, threads will be brought up.
BUG=902650,webm:1577
Change-Id: I7765ba134aeed76ec0f58bd05e3a35383e6861c3
Harish Mahendrakar [Fri, 21 Dec 2018 05:48:12 +0000 (05:48 +0000)]
Merge "Add Tile-SB-Row based Multi-threading in Decoder"
James Zern [Fri, 21 Dec 2018 04:00:21 +0000 (04:00 +0000)]
Merge "vpx/{vp8,vpx_encoder}.h: fix some typos"
James Zern [Fri, 21 Dec 2018 03:59:56 +0000 (03:59 +0000)]
Merge "vp9: limit lpf workers to min(threads,tiles,sb_rows)"
James Zern [Fri, 21 Dec 2018 03:59:14 +0000 (03:59 +0000)]
Merge "vpx_integer.h: remove VPX_EMULATE_INTTYPES"
Johann Koenig [Fri, 21 Dec 2018 01:14:17 +0000 (01:14 +0000)]
Merge "svc examples: resolve missing declarations"
Johann [Fri, 21 Dec 2018 00:27:00 +0000 (00:27 +0000)]
fdct_quant: resolve missing declarations
Store outputs using store_tran_low()
BUG=webm:1584
Change-Id: I213abe047e14625c5ef80df7fa6fdc2a31e40fb6
James Zern [Thu, 20 Dec 2018 20:00:18 +0000 (12:00 -0800)]
vpx_integer.h: remove VPX_EMULATE_INTTYPES
platforms supported by the library all offer stdint.h
BUG=webm:1573
Change-Id: I2ad95dfbcfc2d1890c1b7e503340fda8a9849635
Johann [Fri, 21 Dec 2018 00:03:15 +0000 (00:03 +0000)]
svc examples: resolve missing declarations
BUG=webm:1584
Change-Id: Icb7ba5bb5a6d460c4d0419b76ee54af461ca4a52
Johann [Thu, 20 Dec 2018 23:57:52 +0000 (23:57 +0000)]
highbd quantize: resolve missing declarations
BUG=webm:1584
Change-Id: Ia3f152bf2a37f8a1ea4178eeb1a6a262ea034a8d
Johann Koenig [Thu, 20 Dec 2018 23:12:17 +0000 (23:12 +0000)]
Merge "tiny_ssim.c: resolve missing declarations"
Johann [Thu, 20 Dec 2018 19:56:45 +0000 (19:56 +0000)]
highbd variance: resolve missing declarations
The optimizations were accidentally disabled during the move from vp9
commit
c3bdffb0a508ad08d5dfa613c029f368d4293d4c
author Johann <johannkoenig@google.com> Fri May 15 18:52:03 2015
Move variance functions to vpx_dsp
subpel functions will be moved in another patch.
BUG=webm:1584
Change-Id: Ia7899ee0cfad13a0e1516b89756552064846e81c
Yunqing Wang [Thu, 20 Dec 2018 01:03:30 +0000 (17:03 -0800)]
Refactor temporal filtering
Refactored temporal filtering, so that it was not hard-coded to
16x16 block size.
Change-Id: I06d0787660ff6eee6a8f02a846ad0e26c6825f54
Johann Koenig [Thu, 20 Dec 2018 19:42:58 +0000 (19:42 +0000)]
Merge "vp9/encoder: resolve missing declarations"
Johann [Thu, 20 Dec 2018 17:01:54 +0000 (17:01 +0000)]
tiny_ssim.c: resolve missing declarations
-Wmissing-declarations exposed several unused functions.
BUG=webm:1584
Change-Id: I88dfeb8ffa31253a0fb7674f6fe5fcd496179f96
Johann Koenig [Thu, 20 Dec 2018 16:44:32 +0000 (16:44 +0000)]
vp9/encoder: resolve missing declarations
Mark local functions as 'static.' Found with -Wmissing-declarations
BUG=webm:1584
Change-Id: Icbdb0ceca3dbf3005ca29bfda05d533d241577d0
Yaowu Xu [Thu, 20 Dec 2018 16:54:08 +0000 (16:54 +0000)]
Merge "Remove a special case"
James Zern [Thu, 20 Dec 2018 08:10:47 +0000 (00:10 -0800)]
vp9: limit lpf workers to min(threads,tiles,sb_rows)
this implementation does not scale well beyond that. this restores the
performance in v1.7.0.
BUG=webm:1574
Change-Id: I8f3464cfe871988fa06ebefe9954811fd002584e
Jingning Han [Thu, 20 Dec 2018 07:07:32 +0000 (07:07 +0000)]
Merge "Unify AQ mode rdmult update interface"
Jingning Han [Thu, 20 Dec 2018 07:07:23 +0000 (07:07 +0000)]
Merge "Add control interface to PSNR_AQ mode"
James Bankoski [Thu, 20 Dec 2018 01:28:41 +0000 (01:28 +0000)]
Merge "vpxenc : fix misleading documentation about sharpness."
Yaowu Xu [Thu, 20 Dec 2018 00:49:08 +0000 (16:49 -0800)]
Remove a special case
The special case was put in to prevent a lossless test failure, the
issue has been dealt with by a recent fix of skip condition in
lossless mode.
Change-Id: Ia25d2bf6beead2208841b4f012171dffac15f411
Jingning Han [Thu, 20 Dec 2018 00:18:20 +0000 (00:18 +0000)]
Merge "Refactor aq mode segment_id assignment"
Jim Bankoski [Wed, 19 Dec 2018 19:21:18 +0000 (11:21 -0800)]
vpxenc : fix misleading documentation about sharpness.
Change-Id: I792c178736a9fc02a84aa83f351e12b7227259b0
James Zern [Wed, 19 Dec 2018 23:46:51 +0000 (23:46 +0000)]
Merge "vpx/*.h: rm some deprecated defines/enum vals/typedefs"
James Zern [Wed, 19 Dec 2018 23:45:50 +0000 (23:45 +0000)]
Merge "vpx/vp8cx.h: fix some typos"
James Zern [Wed, 19 Dec 2018 23:45:22 +0000 (23:45 +0000)]
Merge "vpx_integer.h: drop VS2010 workaround"
James Zern [Wed, 19 Dec 2018 21:01:28 +0000 (13:01 -0800)]
vpx_integer.h: drop VS2010 workaround
visual studio 2015 is the current minimum
BUG=webm:1573
Change-Id: I22139925c0a322b1da214c38d8f74fadbc34d2de
James Zern [Wed, 19 Dec 2018 20:48:16 +0000 (12:48 -0800)]
vpx/{vp8,vpx_encoder}.h: fix some typos
BUG=webm:1573
Change-Id: I5cbb29c89955aa1548ea2a2b3da5763bd38dd978
Yaowu Xu [Wed, 19 Dec 2018 20:57:24 +0000 (20:57 +0000)]
Merge "Correct condition for skip"
Jingning Han [Wed, 19 Dec 2018 20:37:17 +0000 (12:37 -0800)]
Unify AQ mode rdmult update interface
Handle the rdmult update for all AQ modes in a single function
call.
Change-Id: Ia0dfce637cf70d646bd3cd0abe3064e9491b81b8
Jingning Han [Wed, 19 Dec 2018 20:20:57 +0000 (12:20 -0800)]
Add control interface to PSNR_AQ mode
Change-Id: I760c69189fb8d8d85b5daffc86064c66913c0220
James Zern [Wed, 19 Dec 2018 20:27:28 +0000 (12:27 -0800)]
vpx/vp8cx.h: fix some typos
BUG=webm:1573
Change-Id: I46faa216a4a8278a363a8111237342f73e8467eb
James Zern [Wed, 19 Dec 2018 20:23:28 +0000 (12:23 -0800)]
vpx/*.h: rm some deprecated defines/enum vals/typedefs
most predate 1.4.0 the DBG enums were deprecated in 1.6.1. VPX_KF_FIXED
is left as it's still fairly widely used
BUG=webm:1573
Change-Id: Iacaad28a6fe7251f042a2b45507b00fc5b7a0eac
Yaowu Xu [Wed, 19 Dec 2018 18:48:37 +0000 (10:48 -0800)]
Correct condition for skip
Do not skip without check when lossless is requested.
Change-Id: Iceda428e7bf5ab19202b1dcb598e389fcaf6978d
Jingning Han [Wed, 19 Dec 2018 18:46:53 +0000 (18:46 +0000)]
Merge "Rework set_offsets() for rd search"
Paul Wilkins [Wed, 19 Dec 2018 09:47:27 +0000 (09:47 +0000)]
Merge "Improve rd_variance_adjustment() for low variance blocks."
Jingning Han [Wed, 19 Dec 2018 06:43:34 +0000 (22:43 -0800)]
Refactor aq mode segment_id assignment
Factor out the segment_id assignment for various AQ modes.
Change-Id: I34a86524048621cd369baf4bafbdfac621994563
sdeng [Fri, 14 Dec 2018 00:47:10 +0000 (16:47 -0800)]
No need to shift in SSIM calculations
We only need to shift in the encoder when the input bit depth
does not equal to the encoder internal bit depth.
Change-Id: If9af62382ac6824f33dc7dcdd3d3ff7802b92e9a
Sai Deng [Wed, 19 Dec 2018 00:40:49 +0000 (00:40 +0000)]
Merge "Disallow the comparison between videos with different bit depth"
Jingning Han [Tue, 18 Dec 2018 23:08:28 +0000 (15:08 -0800)]
Rework set_offsets() for rd search
Factor out the segment_id setup from mi array alignment.
Change-Id: I345ad7ea7b6c9edb6f86224e1941f2c954d68ff3
Marco Paniconi [Tue, 18 Dec 2018 18:59:39 +0000 (10:59 -0800)]
vp9-svc: Adjust step_param for screen-content
Use same step_param for all spatial layers for now.
Some improvement in quality on scrolling for spatial
enhancement layer.
Change-Id: Ic9eed8ba5dd44493e9f5e81f6115df2a25825d16
Jingning Han [Tue, 18 Dec 2018 17:46:05 +0000 (17:46 +0000)]
Merge "Localize x->encode_breakout setup to non-rd mode search"
Jingning Han [Tue, 18 Dec 2018 15:49:48 +0000 (15:49 +0000)]
Merge "Add frame header control to turn on PSNR_AQ mode"
Jingning Han [Tue, 18 Dec 2018 15:49:36 +0000 (15:49 +0000)]
Merge "Add PSNR_AQ mode"
Ritu Baldwa [Tue, 18 Dec 2018 12:09:38 +0000 (17:39 +0530)]
Add Tile-SB-Row based Multi-threading in Decoder
Add the multi-thread function that decodes a video row by row instead
of a tile at a time. Create a job queue for queueing all parse and recon jobs.
Each SB row of a tile is a job.
Performance Improvement:
Platform Resolution 3 Threads 4 Threads
ARM 720p 36.81% 18.37%
1080p 32.27% 14.76%
ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz
Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e
Jingning Han [Tue, 18 Dec 2018 06:34:49 +0000 (06:34 +0000)]
Merge "Relocate tpl buffer allocation"
Jingning Han [Tue, 18 Dec 2018 00:09:06 +0000 (16:09 -0800)]
Relocate tpl buffer allocation
Move it to deeper stages where all the encoder configurations have
been set. This avoids the encoding failure when the buffer is
allocated before the encoder is fully configured.
Change-Id: I6723966fd2c7c36fbab9a92d1f3bd59c83ed95f0
Marco Paniconi [Tue, 18 Dec 2018 02:39:22 +0000 (18:39 -0800)]
vp9-svc: Fix condition in real-time speed setting
Remove the "spatial_layer_id == 0" condition in
the speed features for setting the motion search
for screen content.
Change-Id: Ib47aea3af5f3b2e04226694b4126b2ae2f458f13
Jingning Han [Tue, 18 Dec 2018 00:49:09 +0000 (16:49 -0800)]
Localize x->encode_breakout setup to non-rd mode search
The breakout speed feature is currently only used by the non-rd
mode search path. Localize it to simplify set_offset() logic.
Change-Id: I27e7519c987a7caac2e4bd6be0ede1b9c8320e55
Jingning Han [Mon, 17 Dec 2018 22:24:35 +0000 (14:24 -0800)]
Add frame header control to turn on PSNR_AQ mode
Change-Id: I46f695b15153c8c508f525a5673db24326371977
Jingning Han [Mon, 17 Dec 2018 18:30:17 +0000 (10:30 -0800)]
Add PSNR_AQ mode
Placeholder to support adaptive quantizer for PSNR and SSIM coding
quality improvement.
Change-Id: Id967c9914bb1d72a6f480ef1ba9d6650914dd658