Jerome Jiang [Tue, 14 Aug 2018 18:58:19 +0000 (18:58 +0000)]
Merge "vp9: fix memory alloc for adaptive_rd_thresh_row_mt."
Jerome Jiang [Mon, 13 Aug 2018 18:01:31 +0000 (11:01 -0700)]
vp9: fix memory alloc for adaptive_rd_thresh_row_mt.
When the feature is enabled and the memory is not available, allocate
it. There was a case where speed feature changed in the middle of stream
but the number of tiles stayed the same, memory was not re-allocated.
Another case is where speed for base layer is different than that of
higher quality layers (same resolution). Removed the speed constraints
forcing base layer using same speed setting.
Thus the memory for adaptive_rd_thresh_row_mt stayed NULL but the
feature was enabled.
Add an end to end test to cover this case.
Change-Id: I2f1f802ef98a554571b30094d3600b9439228457
James Bankoski [Tue, 14 Aug 2018 16:01:05 +0000 (16:01 +0000)]
Merge "Make Sharpness parameter affect visual sharpness"
Jingning Han [Tue, 14 Aug 2018 15:50:50 +0000 (15:50 +0000)]
Merge "Fix potential encoder failure case in tpl model"
Jim Bankoski [Fri, 6 Jul 2018 22:45:34 +0000 (15:45 -0700)]
Make Sharpness parameter affect visual sharpness
1: Lower rdmult used in trellis optimization
2: Shut off the end of block optimization that tries end of block
at every sub position if any of the coefficients are > 1.
3: Change the rounding and zbin factor according to sharpness.
4: Disable the skip block check that calculates RD using SSE from
predictor.
Change-Id: I247b61a26fa22f12f8b684e7cd6d4e368de7c3e4
Jingning Han [Mon, 13 Aug 2018 23:52:11 +0000 (16:52 -0700)]
Fix potential encoder failure case in tpl model
When the group of picture runs over 24 in length, skip the use of
temporal dependency model, since the model assumes maximum 25
lookahead frames.
Change-Id: I6386dd33bcdaf1229fae978130b4c3b43d071918
Marco Paniconi [Mon, 13 Aug 2018 23:20:58 +0000 (23:20 +0000)]
Merge "vp9-svc: Fixes for cyclic refresh for SVC."
Jerome Jiang [Mon, 13 Aug 2018 22:25:53 +0000 (22:25 +0000)]
Merge "vp9: don't release buffer for current frame."
Marco Paniconi [Mon, 13 Aug 2018 04:35:15 +0000 (21:35 -0700)]
vp9-svc: Fixes for cyclic refresh for SVC.
Add metrics that are being updated per-frame to
the layer struct, so each layer using the cyclic
refresh has the correct update. This is more consistent
for the rate control and refresh rate.
Some improvement in screen content clips.
Neutral for SVC on rtc set.
Change-Id: I0a9862fb6b6a79e894e2ff30c120dc4aa26fcda5
Marco Paniconi [Mon, 13 Aug 2018 16:20:21 +0000 (09:20 -0700)]
vp9: Small refactor on overshoot detection, for cbr real-time.
Change-Id: I70997d35a2371bb4614d716ef0c587fa12ea0f4a
Marco Paniconi [Mon, 13 Aug 2018 04:29:05 +0000 (21:29 -0700)]
vp9-svc: Unittest for screen mode with quality layers
Add datarate unittest for SVC screen content mode,
with 2 quality layers.
Change-Id: I9c8ad5462fd046698052bea6d7343c2b7e16668f
Marco Paniconi [Sat, 11 Aug 2018 19:59:40 +0000 (12:59 -0700)]
vp9-svc: Fix to updated SET_SVC_REF_FRAME_CONFIG control
Add flag to separate two cases of bypass (flexible) SVC mode:
usage of using the SET_SVC_REF_FRAME_CONFIG vs passing in the
frame_flags in the vpx_encode (only used for temporal layers).
This fixes failures in Datarate Temporal layer test,
introduced in commit: a66da31
Change-Id: Ie62f933987c20792d1f963d645e98c1903bdd423
Jerome Jiang [Fri, 10 Aug 2018 01:47:02 +0000 (18:47 -0700)]
vp9: don't release buffer for current frame.
when resync is needed, we flush all frame buffers on key frame.
BUG=b/
112406540
BUG=oss-fuzz:9722
Change-Id: Ie53feb12126f25877436eba40317400bf69c6207
James Zern [Fri, 10 Aug 2018 23:24:18 +0000 (23:24 +0000)]
Merge "loop_filter_rows_mt: use sb_rows to limit workers"
Jerome Jiang [Fri, 10 Aug 2018 04:46:27 +0000 (21:46 -0700)]
Refactor: Move code updating ref frames for svc & denoiser.
Make new functions and move them to vp9_denoiser.c and
vp9_svc_layercontext.c
Change-Id: Ia34266ee2831d0f1316b7a641cbbf40fe64e1a0c
Jerome Jiang [Fri, 10 Aug 2018 16:46:20 +0000 (16:46 +0000)]
Merge "vp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG api"
Jerome Jiang [Fri, 10 Aug 2018 16:43:31 +0000 (16:43 +0000)]
Merge "Fix frame drop threshold in vp9 datarate test."
Hui Su [Fri, 10 Aug 2018 16:08:09 +0000 (16:08 +0000)]
Merge "Use the pred_mv feature for speed 0"
Jerome Jiang [Fri, 10 Aug 2018 15:26:48 +0000 (08:26 -0700)]
Fix frame drop threshold in vp9 datarate test.
Change-Id: Ifbd753183782e680a9ae77c55d75f4d9b3fb2477
Marco Paniconi [Fri, 10 Aug 2018 02:24:43 +0000 (02:24 +0000)]
Merge "vp9: Allow for overshoot detection for non-screen CBR mode."
Jerome Jiang [Fri, 10 Aug 2018 00:54:45 +0000 (00:54 +0000)]
Merge "Change target bitrate in vp9 datarate test."
Marco Paniconi [Wed, 8 Aug 2018 21:01:26 +0000 (14:01 -0700)]
vp9: Allow for overshoot detection for non-screen CBR mode.
For CBR real-time mode: refactor usage of speed feature to
handle overshoot on slide/scene change. Add 2 modes to indicate
how slide/scene change is processed for re-setting Q/rate control.
Keep the speed setting to 1 for speed >= 5, otherwise set to 0.
Video content and screen content are now handled in similar way,
though with different thresholds.
Some fixes to thresholds and reset: correct the reset of the buffer
level to optimal level for each temporal layer, if scene change
frame will be encoded at max_q.
Also increase the min_thresh for video mode (non-screen content):
this is to avoid scene change detection on cases like large
lighting changes, cameras focus. And increase in min_thresh
makes it more robust to sudden increase in noise level.
Change-Id: I256d350da6e92d2ddc09f100fc06ac147cbc1e49
Jerome Jiang [Thu, 9 Aug 2018 23:55:47 +0000 (16:55 -0700)]
Change target bitrate in vp9 datarate test.
Due to the change of clip.
Change-Id: Ibbe1a865df0837c349770287d148081230d10aaa
Marco Paniconi [Thu, 9 Aug 2018 22:30:07 +0000 (22:30 +0000)]
Merge "vp9-svc: Fix for scene detection for SVC"
Hui Su [Wed, 8 Aug 2018 19:11:36 +0000 (12:11 -0700)]
Use the pred_mv feature for speed 0
Before this patch, pred_mv is used only when the
adaptive_motion_search speed feature is on(speed>=1).
This patch enables pred_mv for speed 0 as well.
Coding gains:
avg_psnr ovr_psnr ssim
lowres -0.31% -0.32% -0.38%
midres -0.37% -0.41% -0.42%
hdres -0.30% -0.31% -0.29%
Tested encoding speed over 18 midres sequences with QP=40. The
overall speed loss is about 0.6%.
Change-Id: I8987e9efb5a70d2bf8779fc2a43838009f9bbd8a
Jerome Jiang [Mon, 6 Aug 2018 18:37:43 +0000 (11:37 -0700)]
vp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG api
Add update_buffer_slot to SVC API to allow for refreshing
any of the 8 reference buffers. Remove frame_flags from
the struct.
Remove svc tests from vp8 build.
BUG=b/
112292577
Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
Marco Paniconi [Thu, 9 Aug 2018 16:34:05 +0000 (09:34 -0700)]
vp9-svc: Fix for scene detection for SVC
For spatial layers: use the correct mi_cols/rows in the
scene detection. The scene detection for spatial layers
is only called once per superframe, but we were using wrong
mi_cols/rows (those for base spatial were being used).
Also increase frame_since_key threshold to account for spatial
layers.
Change-Id: I2731da49684a798c4718693a0468eda7db82d2bd
Jerome Jiang [Thu, 9 Aug 2018 18:42:11 +0000 (11:42 -0700)]
replace video clips used in vp9 datarate CBR tests.
replace hantro_collage with niklas vga clip.
Change-Id: I79b89ce12823095a5ee75025b2ddce9e8ef1452a
James Zern [Wed, 8 Aug 2018 03:07:09 +0000 (20:07 -0700)]
loop_filter_rows_mt: use sb_rows to limit workers
Previously if the number of tiles decreased within a clip and there were
fewer super block rows than workers the mi_row calculation would cause
rows to be skipped. The num_workers stored is the max allocated amount,
use sb_rows to limit the active ones if the row count is smaller as
additional threads will provide no benefit.
Change-Id: I1750296c8c21082de2594afecc4d6a3929db1f12
Hui Su [Tue, 7 Aug 2018 23:38:37 +0000 (23:38 +0000)]
Merge "Add enhanced_full_pixel_motion_search feature"
Scott LaVarnway [Tue, 7 Aug 2018 23:37:31 +0000 (23:37 +0000)]
Merge "VPX: Improve HBD vpx_hadamard_32x32_sse2()"
Wan-Teh Chang [Tue, 7 Aug 2018 23:28:04 +0000 (23:28 +0000)]
Merge "Fix typos in the comment for size_group_lookup."
James Zern [Tue, 7 Aug 2018 21:53:17 +0000 (21:53 +0000)]
Merge "vpx_highbd_d153_predictor_4x4_sse2: reduce load size"
James Zern [Tue, 7 Aug 2018 21:52:22 +0000 (21:52 +0000)]
Merge "test/stress.sh: switch req. for 100 threads to 64"
James Zern [Tue, 7 Aug 2018 18:37:33 +0000 (11:37 -0700)]
test/stress.sh: switch req. for 100 threads to 64
>64 is invalid for vp9 currently so no testing would be done.
Change-Id: Ic0ccd606d5e76258adb27b7c44dcbd82e94c84d1
Hui Su [Tue, 7 Aug 2018 01:01:25 +0000 (18:01 -0700)]
Add enhanced_full_pixel_motion_search feature
Do some extra full pixel search to improve motion vector quality.
Currently it is enabled for speed 1 only; disabled for real time mode.
Coding gain for speed 1:
avg_psnr ovr_psnr ssim
lowres -0.23% -0.23% -0.35%
midres -0.33% -0.35% -0.38%
hdres -0.28% -0.29% -0.28%
Tested encoding time over 10 HD sequences. Overall speed overhead is
1.5% for QP=30; 0.6 % for QP=40.
Change-Id: Ic2ea4d78c4979de9d5090c9d7c702944f155f8af
Jerome Jiang [Tue, 7 Aug 2018 18:06:56 +0000 (18:06 +0000)]
Merge "vp9 test: Enable aq 3 and error resilient in realtime for layers."
James Zern [Tue, 7 Aug 2018 18:06:08 +0000 (11:06 -0700)]
vpx_highbd_d153_predictor_4x4_sse2: reduce load size
this avoids reading 4 pixels into another block, which may be operated
on by a different thread. quiets a tsan warning.
Change-Id: Id27ad9d61819b0e5de0230647b4b510f7c265a71
Johann Koenig [Tue, 7 Aug 2018 00:33:03 +0000 (00:33 +0000)]
Merge "vp9: address integer sanitizer warning"
Hui Su [Mon, 6 Aug 2018 23:00:35 +0000 (23:00 +0000)]
Merge "Remove unnecessary calls to load_pred_mv()"
Johann [Fri, 3 Aug 2018 22:36:59 +0000 (15:36 -0700)]
vp9: address integer sanitizer warning
Comparing the size values with subtraction requires casting. Sort in
descending order.
(a < b) - (a > b)
If a is greater, this is 0 - 1 = -1
If the values are equal, this is 0 - 0 = 0
If b is greater, this is 1 - 0 = 1
Change-Id: I5c20fd10fbc97c391c6858235c44d25d7db57f0e
Jerome Jiang [Mon, 6 Aug 2018 17:46:09 +0000 (10:46 -0700)]
vp9 test: Enable aq 3 and error resilient in realtime for layers.
aq mode 3 is never properly tested in non realtime mode.
BUG=webm:1553
Change-Id: I0663c9724ee57ba5c528a20b31ef8b6df0e03f6c
James Zern [Mon, 6 Aug 2018 19:24:31 +0000 (19:24 +0000)]
Merge "vpxenc: replace uint16 with uint16_t"
Hui Su [Fri, 3 Aug 2018 19:49:29 +0000 (12:49 -0700)]
Remove unnecessary calls to load_pred_mv()
This improves compression performance slightly:
Speed 1:
avg_psnr ovr_psnr ssim
lowres -0.03% -0.03% -0.05%
midres -0.16% -0.20% -0.30%
hdres -0.13% -0.13% -0.16%
Speed 2:
avg_psnr ovr_psnr ssim
lowres -0.02% -0.02% -0.03%
midres -0.08% -0.06% -0.10%
hdres -0.08% -0.08% -0.10%
Change-Id: Id357c1f98042f3c7af56f99e534bc81ea9a7cf36
Jerome Jiang [Mon, 6 Aug 2018 16:57:00 +0000 (16:57 +0000)]
Merge "vp9: new struct BEST_PICKMODE containing search results."
Mirko Bonadei [Sat, 4 Aug 2018 06:10:01 +0000 (23:10 -0700)]
vpxenc: replace uint16 with uint16_t
libyuv r1714 disables non-POSIX types by default:
55f5d91f Disable old int types by default.
Change-Id: Ia7086516b0d53d0ff3974e545d41f8b502aaec0d
Wan-Teh Chang [Fri, 3 Aug 2018 21:19:29 +0000 (14:19 -0700)]
Fix typos in the comment for size_group_lookup.
"b_width_log2" and "b_height_log2" should be "b_width_log2_lookup" and
"b_height_log2_lookup", respectively.
Change-Id: I3ad49e45007cd9fcf5dd463c7d01e22745939231
Marco Paniconi [Fri, 3 Aug 2018 17:45:41 +0000 (10:45 -0700)]
vp9: Add screen-content mode to overshoot detection.
For real-time 1 pass mode: overshoot detection and max_Q
reset should only be for screen-content mode.
This fixes some failures in the 1 pass VBR tests, from
the commit:
2fae9991
Change-Id: I70cbe4e6fd83cfe0c7662f13b779551bf4f319cb
Marco Paniconi [Fri, 3 Aug 2018 17:28:57 +0000 (17:28 +0000)]
Merge "vp9: Adjust qp_thresh on slide change overshoot detection"
Hui Su [Fri, 3 Aug 2018 17:11:15 +0000 (17:11 +0000)]
Merge "Refactor vp9_full_pixel_search()"
Hui Su [Fri, 3 Aug 2018 17:11:00 +0000 (17:11 +0000)]
Merge "Handle partition cost better in RD search"
Marco Paniconi [Fri, 3 Aug 2018 16:20:55 +0000 (09:20 -0700)]
vp9: Adjust qp_thresh on slide change overshoot detection
For real-time screen-content mode: increase the
qp_thresh for max_Q setting on slide changes.
This will make bitrate spikes less likely on slide changes.
Change-Id: Ie13524a06490214456b1c9c042a864ea0d0750c5
Marco Paniconi [Fri, 3 Aug 2018 03:48:17 +0000 (20:48 -0700)]
vp9: Add zero_temp_sad count to scene detection.
For real-time screen-content mode: makes the
scene/slide change detection more robust.
Change-Id: I28d8d28b42bb92d527811f814bf14bbbbb53ab25
Marco Paniconi [Fri, 3 Aug 2018 03:21:12 +0000 (03:21 +0000)]
Merge "vp9: Disable re_encode_overshoot feature for speed >= 6."
Marco Paniconi [Thu, 2 Aug 2018 22:58:12 +0000 (15:58 -0700)]
vp9: Increase min_thresh for slide change detection
For real-time screen-content mode: increase min_thresh
to avoid some false detection.
Change-Id: I3e93dea63cbd65e3ad5d0af7eabf0d3686fe9943
Jerome Jiang [Thu, 2 Aug 2018 23:28:54 +0000 (16:28 -0700)]
vp9: new struct BEST_PICKMODE containing search results.
One of steps to refactor the nonrd pickmode. Simplify arguments list for
functions.
Change-Id: I5f23375caa36be2ae0fbd2ff851b303150a7aa8f
Hui Su [Thu, 2 Aug 2018 22:53:24 +0000 (15:53 -0700)]
Refactor vp9_full_pixel_search()
Code cleanup; add some comment.
Also remove a reduncant call to vp9_get_mvpred_var() at the end when
method is MESH.
Change-Id: I4b58e7e1c42161642708f8b0342ab3c0ce39ed7d
Marco Paniconi [Thu, 2 Aug 2018 16:22:58 +0000 (09:22 -0700)]
vp9: Disable re_encode_overshoot feature for speed >= 6.
For real-time screen content mode: for speed >= 6 disable
the re_encode_overshoot feature. This means for speed >= 6
the Q and rate control is reset on slide changes based on
the scene/slide detection and the current Q (and not on a
first pass encoded frame at current Q).
This reduces encode time on slide changes, but may be less
accurate in deciding when to reset/max-out the Q.
Change-Id: Id0fdcafd55bc43bd8b3afee211e524f37c8ddce6
Jerome Jiang [Thu, 2 Aug 2018 16:50:44 +0000 (16:50 +0000)]
Merge "vp9: Refactor nonrd pickmode: new mv search"
Hui Su [Wed, 1 Aug 2018 22:43:05 +0000 (15:43 -0700)]
Handle partition cost better in RD search
Take partition cost into consideration during rectangular partition
mode search.
Compression change is neutral. Encoding speed can be a little faster
at low quality settings. With QP=55 at speed 0, average speed up over
15 midres sequences is about 2.7%.
Change-Id: I6d423459675b5f1e4e1475dbbf6f67ab970a4832
Jerome Jiang [Thu, 2 Aug 2018 02:55:58 +0000 (02:55 +0000)]
Merge "vp9 svc: Adjust overshoot threshold in datarate test."
Jingning Han [Thu, 2 Aug 2018 02:36:48 +0000 (02:36 +0000)]
Merge "Use mesh full pixel motion search to build the source ARF"
Jingning Han [Thu, 2 Aug 2018 02:36:41 +0000 (02:36 +0000)]
Merge "Add frame pointer to support recon frames in tpl model"
Jingning Han [Tue, 31 Jul 2018 16:43:17 +0000 (09:43 -0700)]
Use mesh full pixel motion search to build the source ARF
Append mesh search to the diamond shape search to refine
the full pixel motion estimation for source ARF generation.
It improves the average compression performance.
Speed 0
avg PSNR overall PSNR SSIM
mid -0.18% -0.18% -0.22%
hd -0.25% -0.23% -0.36%
nflx2k -0.22% -0.23% -0.37%
Speed 1
avg PSNR overall PSNR SSIM
mid -0.10% -0.08% -0.11%
hd -0.25% -0.27% -0.38%
nflx2k -0.20% -0.20% -0.34%
The additional encoding time is close to the sample noise
range. For bus_cif at 1000 kbps, the speed 0 encoding time
goes from 83.0 s -> 83.6 s.
Change-Id: I48647f50ec3e8f7ae4550a4bde831f569f46ecf3
Jerome Jiang [Wed, 1 Aug 2018 17:40:25 +0000 (10:40 -0700)]
vp9 svc: Adjust overshoot threshold in datarate test.
BUG=webm:1554
Change-Id: I69f9353266a290ae3c6ac9e51c960fff6e1af205
Jerome Jiang [Wed, 1 Aug 2018 20:13:31 +0000 (13:13 -0700)]
vp9: Refactor nonrd pickmode: new mv search
Move new mv search to a separate function.
Change-Id: I6ef22d03ccad7b87cb5cd611094de204d508f63e
Jerome Jiang [Tue, 31 Jul 2018 01:06:12 +0000 (18:06 -0700)]
vp9: Refactor nonrd pickmode: interp filter.
Move interp filter search to new function.
Change-Id: I6ac57d5b3800c9944732a84a4d4a825a6c0f4c35
Jerome Jiang [Mon, 30 Jul 2018 23:42:46 +0000 (16:42 -0700)]
vp9: Refactor nonrd pickmode: tx_size.
Remove duplicated code to calculate transform size.
Change-Id: Id71772607eea911f24b59168c0629ba5ff891afb
Jerome Jiang [Wed, 1 Aug 2018 04:53:15 +0000 (04:53 +0000)]
Merge "vp9 svc: Fix the scaling factor in intra only test for 1 SL."
James Zern [Wed, 1 Aug 2018 03:53:02 +0000 (03:53 +0000)]
Merge "vp9_encoder: make setup_tpl_stats() static"
Jerome Jiang [Wed, 1 Aug 2018 03:27:38 +0000 (20:27 -0700)]
vp9 svc: Fix the scaling factor in intra only test for 1 SL.
Change-Id: I7f71c165f6d3a6d02229798286269389c3c5528c
Marco Paniconi [Wed, 1 Aug 2018 02:18:47 +0000 (02:18 +0000)]
Merge "vp9: Clamp tx_size in model_rd_large"
James Zern [Wed, 1 Aug 2018 01:19:02 +0000 (18:19 -0700)]
vp9_encoder: make setup_tpl_stats() static
Change-Id: If96519fb1cb4963cb6548c803253359a35621eb0
Marco Paniconi [Tue, 31 Jul 2018 22:28:58 +0000 (15:28 -0700)]
vp9: Clamp tx_size in model_rd_large
For nonrd_pickmode: add clamp/check to make
sure tx_size is not set to lower than 8X8,
for the model_rd_large function (which is only
called for big block sizes).
No change in behavior.
Change-Id: I9c6093068e406ac16cfd6784ba75868906225378
James Zern [Tue, 31 Jul 2018 22:26:16 +0000 (15:26 -0700)]
vp9: enable tpl model in high-bitdepth w/8-bit output
this keeps the output between CONFIG_VP9_HIGHBITDEPTH=0/1 the same when
targeting 8-bit.
Change-Id: I5290681fdd3e0c1620578e5f804f68010c6dd210
Jerome Jiang [Tue, 31 Jul 2018 19:50:01 +0000 (19:50 +0000)]
Merge "vp9: Disable aq mode for some datarate tests."
Jerome Jiang [Tue, 31 Jul 2018 17:45:50 +0000 (10:45 -0700)]
vp9: Disable aq mode for some datarate tests.
It caused failure on vp9 datarate tests for temporal layers.
Change-Id: Id6e260efa33b3b08070391a91a013efef2706fb5
Marco Paniconi [Tue, 31 Jul 2018 16:33:40 +0000 (09:33 -0700)]
vp9: Remove assert from model_rd in non-rd pickmode.
The assert checks for tx_size >= 8x8, but 4x4 can
be set in some cases.
Change-Id: I8bf9683e1add768becaa1208e1709ad0470e3850
Jingning Han [Fri, 27 Jul 2018 22:08:39 +0000 (15:08 -0700)]
Add frame pointer to support recon frames in tpl model
Add frame pointer to re-use spare frames to store the reconstructed
frames.
Change-Id: I870aa048fc9b7d8b356aa73df3a92b4670425f95
Jingning Han [Tue, 31 Jul 2018 04:11:45 +0000 (04:11 +0000)]
Merge changes Ibafb6157,Ibebced5d
* changes:
Move frame pointer assignment outside block loop in tpl model
Refactor tpl_model_store input parameters
James Zern [Tue, 31 Jul 2018 03:08:55 +0000 (03:08 +0000)]
Merge "test/stress.sh: add --token-parts coverage for vp8"
Marco Paniconi [Tue, 31 Jul 2018 03:06:42 +0000 (03:06 +0000)]
Merge "vp9: Add scene change detection flag to cyclic refresh setup"
Jingning Han [Fri, 27 Jul 2018 18:15:06 +0000 (11:15 -0700)]
Move frame pointer assignment outside block loop in tpl model
Change-Id: Ibafb61577a6293c6ad32bda484a786602afda2e6
Jingning Han [Fri, 27 Jul 2018 17:10:33 +0000 (10:10 -0700)]
Refactor tpl_model_store input parameters
Simplify the pass-in data structure. Use a reference TplDepStats
pointer to replace multiple data sent in.
Change-Id: Ibebced5d7f411d2c4a8a34a9b7eb87453fb78d13
Marco Paniconi [Mon, 30 Jul 2018 21:32:54 +0000 (14:32 -0700)]
vp9: Add scene change detection flag to cyclic refresh setup
Disable cyclic refresh on slide/scene change frame. It was already
disabled on the re-encode for the slide change, but this change
makes sure its always disabled on a detected slide change (which
may not be re-encoded at high Q).
Change-Id: I1195c855bca25985d4d41e5b657adf124e901760
Jingning Han [Tue, 31 Jul 2018 00:57:14 +0000 (00:57 +0000)]
Merge "Use diamond search to build tpl model and arf frames"
Jerome Jiang [Mon, 30 Jul 2018 23:56:06 +0000 (23:56 +0000)]
Merge "Enable aq mode 3 for all datarate tests."
Jerome Jiang [Mon, 30 Jul 2018 23:27:59 +0000 (23:27 +0000)]
Merge "vp8: Fix memory address overflow in decoder."
Jerome Jiang [Mon, 30 Jul 2018 20:07:23 +0000 (13:07 -0700)]
Enable aq mode 3 for all datarate tests.
Change-Id: I4e9c73d6d1d9ea560f04cc37aaf99d58ec2ab551
Jingning Han [Sun, 29 Jul 2018 13:58:13 +0000 (13:58 +0000)]
Merge "Remove unused variables from VP9_COMP"
Martin Storsjo [Sat, 28 Jul 2018 05:02:27 +0000 (08:02 +0300)]
arm: Consistently use unified syntax for asm
The ".syntax unified" directives in a few source files aren't valid
ADS assembly directives, and they break compilation for windows,
since ads2armasm_ms.pl doesn't handle them.
Explicity add them via ads2gas.pl and ads2gas_apple.pl instead,
and tweak one instruction to be valid unified syntax.
Change-Id: I37f1709f163d11474597161fe02eb433859cb9b8
James Zern [Sat, 28 Jul 2018 06:37:38 +0000 (23:37 -0700)]
test/stress.sh: add --token-parts coverage for vp8
Change-Id: I46f39cbc0441d09f5ad0b3887d2372b0be9abd4f
Angie Chiang [Sat, 28 Jul 2018 01:06:58 +0000 (01:06 +0000)]
Merge "Remove an extra vp9_encode_frame call"
Jingning Han [Fri, 27 Jul 2018 22:25:56 +0000 (15:25 -0700)]
Remove unused variables from VP9_COMP
Change-Id: I3bdd44e65b56c7600b9faadd2c117138c3911c14
Jingning Han [Thu, 26 Jul 2018 23:41:55 +0000 (16:41 -0700)]
Use diamond search to build tpl model and arf frames
Use diamond search for full pixel motion estimation to build
the temporal dependency model and the source arf frame. This gives
better full pixel motion estimation accuracy. It improves the
compression performance.
In speed 0,
avg PSNR overall PSNR SSIM
midres -0.32% -0.30% -0.65%
hdres -0.88% -0.91% -1.31%
nflx2k -0.47% -0.48% -0.81%
In speed 1,
avg PSNR overall PSNR SSIM
midres -0.24% -0.28% -0.50%
hdres -0.82% -0.83% -1.18%
nflx2k -0.58% -0.60% -0.89%
The encoding speed change is minor due to the fact that such motion
estimation is triggered once at the beginning of each group of
picture coding.
Change-Id: Ib25c0ff4f7450c85fd7a38d24319bd7ae1b9dac8
Harish Mahendrakar [Fri, 27 Jul 2018 17:48:21 +0000 (17:48 +0000)]
Merge "Add New Neon Assemblies for Motion Compensation"
Angie Chiang [Thu, 26 Jul 2018 21:14:19 +0000 (14:14 -0700)]
Remove an extra vp9_encode_frame call
The coding performances drop slightly in speed 0
lowres 0.021%
midres 0.043%
hdres 0.087%
The speedups in speed 0 are observed as follow
city_cif.y4m 4.5% speedup
pamphlet.y4m 6.9% speedup
Change-Id: I2f6209964ffdf7a93919b79033d8e6f9bc44d824
Jerome Jiang [Fri, 27 Jul 2018 17:31:35 +0000 (17:31 +0000)]
Merge "vp9: release frame buffer on key frame."
Marco Paniconi [Fri, 27 Jul 2018 06:02:34 +0000 (06:02 +0000)]
Merge "vp9: 4x4 tx_size for nonrd-pickmode for screen content"
Marco Paniconi [Thu, 26 Jul 2018 21:06:42 +0000 (14:06 -0700)]
vp9: 4x4 tx_size for nonrd-pickmode for screen content
Force 4x4 transform size under some conditions for real-time
screen-content mode. Improvemet on text in some screen clips.
Change-Id: I77cafa23ea1060ef4334dc07eac53189bf80e0ec