]> granicus.if.org Git - libvpx/log
libvpx
6 years agovp9-svc: Fix to updated SET_SVC_REF_FRAME_CONFIG control
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

6 years agoMerge "loop_filter_rows_mt: use sb_rows to limit workers"
James Zern [Fri, 10 Aug 2018 23:24:18 +0000 (23:24 +0000)]
Merge "loop_filter_rows_mt: use sb_rows to limit workers"

6 years agoRefactor: Move code updating ref frames for svc & denoiser.
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

6 years agoMerge "vp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG api"
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"

6 years agoMerge "Fix frame drop threshold in vp9 datarate test."
Jerome Jiang [Fri, 10 Aug 2018 16:43:31 +0000 (16:43 +0000)]
Merge "Fix frame drop threshold in vp9 datarate test."

6 years agoMerge "Use the pred_mv feature for speed 0"
Hui Su [Fri, 10 Aug 2018 16:08:09 +0000 (16:08 +0000)]
Merge "Use the pred_mv feature for speed 0"

6 years agoFix frame drop threshold in vp9 datarate test.
Jerome Jiang [Fri, 10 Aug 2018 15:26:48 +0000 (08:26 -0700)]
Fix frame drop threshold in vp9 datarate test.

Change-Id: Ifbd753183782e680a9ae77c55d75f4d9b3fb2477

6 years agoMerge "vp9: Allow for overshoot detection for non-screen CBR mode."
Marco Paniconi [Fri, 10 Aug 2018 02:24:43 +0000 (02:24 +0000)]
Merge "vp9: Allow for overshoot detection for non-screen CBR mode."

6 years agoMerge "Change target bitrate in vp9 datarate test."
Jerome Jiang [Fri, 10 Aug 2018 00:54:45 +0000 (00:54 +0000)]
Merge "Change target bitrate in vp9 datarate test."

6 years agovp9: Allow for overshoot detection for non-screen CBR mode.
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

6 years agoChange target bitrate in vp9 datarate test.
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

6 years agoMerge "vp9-svc: Fix for scene detection for SVC"
Marco Paniconi [Thu, 9 Aug 2018 22:30:07 +0000 (22:30 +0000)]
Merge "vp9-svc: Fix for scene detection for SVC"

6 years agoUse the pred_mv feature for speed 0
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

6 years agovp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG api
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

6 years agovp9-svc: Fix for scene detection for SVC
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

6 years agoreplace video clips used in vp9 datarate CBR tests.
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

6 years agoloop_filter_rows_mt: use sb_rows to limit workers
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

6 years agoMerge "Add enhanced_full_pixel_motion_search feature"
Hui Su [Tue, 7 Aug 2018 23:38:37 +0000 (23:38 +0000)]
Merge "Add enhanced_full_pixel_motion_search feature"

6 years agoMerge "VPX: Improve HBD vpx_hadamard_32x32_sse2()"
Scott LaVarnway [Tue, 7 Aug 2018 23:37:31 +0000 (23:37 +0000)]
Merge "VPX: Improve HBD vpx_hadamard_32x32_sse2()"

6 years agoMerge "Fix typos in the comment for size_group_lookup."
Wan-Teh Chang [Tue, 7 Aug 2018 23:28:04 +0000 (23:28 +0000)]
Merge "Fix typos in the comment for size_group_lookup."

6 years agoMerge "vpx_highbd_d153_predictor_4x4_sse2: reduce load size"
James Zern [Tue, 7 Aug 2018 21:53:17 +0000 (21:53 +0000)]
Merge "vpx_highbd_d153_predictor_4x4_sse2: reduce load size"

6 years agoMerge "test/stress.sh: switch req. for 100 threads to 64"
James Zern [Tue, 7 Aug 2018 21:52:22 +0000 (21:52 +0000)]
Merge "test/stress.sh: switch req. for 100 threads to 64"

6 years agotest/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

6 years agoAdd enhanced_full_pixel_motion_search feature
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

6 years agoMerge "vp9 test: Enable aq 3 and error resilient in realtime for layers."
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."

6 years agovpx_highbd_d153_predictor_4x4_sse2: reduce load size
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

6 years agoMerge "vp9: address integer sanitizer warning"
Johann Koenig [Tue, 7 Aug 2018 00:33:03 +0000 (00:33 +0000)]
Merge "vp9: address integer sanitizer warning"

6 years agoMerge "Remove unnecessary calls to load_pred_mv()"
Hui Su [Mon, 6 Aug 2018 23:00:35 +0000 (23:00 +0000)]
Merge "Remove unnecessary calls to load_pred_mv()"

6 years agovp9: address integer sanitizer warning
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

6 years agovp9 test: Enable aq 3 and error resilient in realtime for layers.
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

6 years agoMerge "vpxenc: replace uint16 with uint16_t"
James Zern [Mon, 6 Aug 2018 19:24:31 +0000 (19:24 +0000)]
Merge "vpxenc: replace uint16 with uint16_t"

6 years agoRemove unnecessary calls to load_pred_mv()
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

6 years agoMerge "vp9: new struct BEST_PICKMODE containing search results."
Jerome Jiang [Mon, 6 Aug 2018 16:57:00 +0000 (16:57 +0000)]
Merge "vp9: new struct BEST_PICKMODE containing search results."

6 years agovpxenc: replace uint16 with uint16_t
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

6 years agoFix typos in the comment for size_group_lookup.
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

6 years agovp9: Add screen-content mode to overshoot detection.
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

6 years agoMerge "vp9: Adjust qp_thresh on slide change overshoot detection"
Marco Paniconi [Fri, 3 Aug 2018 17:28:57 +0000 (17:28 +0000)]
Merge "vp9: Adjust qp_thresh on slide change overshoot detection"

6 years agoMerge "Refactor vp9_full_pixel_search()"
Hui Su [Fri, 3 Aug 2018 17:11:15 +0000 (17:11 +0000)]
Merge "Refactor vp9_full_pixel_search()"

6 years agoMerge "Handle partition cost better in RD search"
Hui Su [Fri, 3 Aug 2018 17:11:00 +0000 (17:11 +0000)]
Merge "Handle partition cost better in RD search"

6 years agovp9: Adjust qp_thresh on slide change overshoot detection
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

6 years agovp9: Add zero_temp_sad count to scene detection.
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

6 years agoMerge "vp9: Disable re_encode_overshoot feature for speed >= 6."
Marco Paniconi [Fri, 3 Aug 2018 03:21:12 +0000 (03:21 +0000)]
Merge "vp9: Disable re_encode_overshoot feature for speed >= 6."

6 years agovp9: Increase min_thresh for slide change detection
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

6 years agovp9: new struct BEST_PICKMODE containing search results.
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

6 years agoRefactor vp9_full_pixel_search()
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

6 years agovp9: Disable re_encode_overshoot feature for speed >= 6.
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

6 years agoMerge "vp9: Refactor nonrd pickmode: new mv search"
Jerome Jiang [Thu, 2 Aug 2018 16:50:44 +0000 (16:50 +0000)]
Merge "vp9: Refactor nonrd pickmode: new mv search"

6 years agoHandle partition cost better in RD 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

6 years agoMerge "vp9 svc: Adjust overshoot threshold in datarate test."
Jerome Jiang [Thu, 2 Aug 2018 02:55:58 +0000 (02:55 +0000)]
Merge "vp9 svc: Adjust overshoot threshold in datarate test."

6 years agoMerge "Use mesh full pixel motion search to build the source ARF"
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"

6 years agoMerge "Add frame pointer to support recon frames in tpl model"
Jingning Han [Thu, 2 Aug 2018 02:36:41 +0000 (02:36 +0000)]
Merge "Add frame pointer to support recon frames in tpl model"

6 years agoUse mesh full pixel motion search to build the source ARF
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

6 years agovp9 svc: Adjust overshoot threshold in datarate test.
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

6 years agovp9: Refactor nonrd pickmode: new mv search
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

6 years agovp9: Refactor nonrd pickmode: interp filter.
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

6 years agovp9: Refactor nonrd pickmode: tx_size.
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

6 years agoMerge "vp9 svc: Fix the scaling factor in intra only test for 1 SL."
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."

6 years agoMerge "vp9_encoder: make setup_tpl_stats() static"
James Zern [Wed, 1 Aug 2018 03:53:02 +0000 (03:53 +0000)]
Merge "vp9_encoder: make setup_tpl_stats() static"

6 years agovp9 svc: Fix the scaling factor in intra only test for 1 SL.
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

6 years agoMerge "vp9: Clamp tx_size in model_rd_large"
Marco Paniconi [Wed, 1 Aug 2018 02:18:47 +0000 (02:18 +0000)]
Merge "vp9: Clamp tx_size in model_rd_large"

6 years agovp9_encoder: make setup_tpl_stats() static
James Zern [Wed, 1 Aug 2018 01:19:02 +0000 (18:19 -0700)]
vp9_encoder: make setup_tpl_stats() static

Change-Id: If96519fb1cb4963cb6548c803253359a35621eb0

6 years agovp9: Clamp tx_size in model_rd_large
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

6 years agovp9: enable tpl model in high-bitdepth w/8-bit output
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

6 years agoMerge "vp9: Disable aq mode for some datarate tests."
Jerome Jiang [Tue, 31 Jul 2018 19:50:01 +0000 (19:50 +0000)]
Merge "vp9: Disable aq mode for some datarate tests."

6 years agovp9: 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

6 years agovp9: Remove assert from model_rd in non-rd pickmode.
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

6 years agoAdd frame pointer to support recon frames in tpl model
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

6 years agoMerge changes Ibafb6157,Ibebced5d
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

6 years agoMerge "test/stress.sh: add --token-parts coverage for vp8"
James Zern [Tue, 31 Jul 2018 03:08:55 +0000 (03:08 +0000)]
Merge "test/stress.sh: add --token-parts coverage for vp8"

6 years agoMerge "vp9: Add scene change detection flag to cyclic refresh setup"
Marco Paniconi [Tue, 31 Jul 2018 03:06:42 +0000 (03:06 +0000)]
Merge "vp9: Add scene change detection flag to cyclic refresh setup"

6 years agoMove frame pointer assignment outside block loop in tpl model
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

6 years agoRefactor tpl_model_store input parameters
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

6 years agovp9: Add scene change detection flag to cyclic refresh setup
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

6 years agoMerge "Use diamond search to build tpl model and arf frames"
Jingning Han [Tue, 31 Jul 2018 00:57:14 +0000 (00:57 +0000)]
Merge "Use diamond search to build tpl model and arf frames"

6 years agoMerge "Enable aq mode 3 for all datarate tests."
Jerome Jiang [Mon, 30 Jul 2018 23:56:06 +0000 (23:56 +0000)]
Merge "Enable aq mode 3 for all datarate tests."

6 years agoMerge "vp8: Fix memory address overflow in decoder."
Jerome Jiang [Mon, 30 Jul 2018 23:27:59 +0000 (23:27 +0000)]
Merge "vp8: Fix memory address overflow in decoder."

6 years agoEnable aq mode 3 for all datarate tests.
Jerome Jiang [Mon, 30 Jul 2018 20:07:23 +0000 (13:07 -0700)]
Enable aq mode 3 for all datarate tests.

Change-Id: I4e9c73d6d1d9ea560f04cc37aaf99d58ec2ab551

6 years agoMerge "Remove unused variables from VP9_COMP"
Jingning Han [Sun, 29 Jul 2018 13:58:13 +0000 (13:58 +0000)]
Merge "Remove unused variables from VP9_COMP"

6 years agoarm: Consistently use unified syntax for asm
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

6 years agotest/stress.sh: add --token-parts coverage for vp8
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

6 years agoMerge "Remove an extra vp9_encode_frame call"
Angie Chiang [Sat, 28 Jul 2018 01:06:58 +0000 (01:06 +0000)]
Merge "Remove an extra vp9_encode_frame call"

6 years agoRemove unused variables from VP9_COMP
Jingning Han [Fri, 27 Jul 2018 22:25:56 +0000 (15:25 -0700)]
Remove unused variables from VP9_COMP

Change-Id: I3bdd44e65b56c7600b9faadd2c117138c3911c14

6 years agoUse diamond search to build tpl model and arf frames
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

6 years agoMerge "Add New Neon Assemblies for Motion Compensation"
Harish Mahendrakar [Fri, 27 Jul 2018 17:48:21 +0000 (17:48 +0000)]
Merge "Add New Neon Assemblies for Motion Compensation"

6 years agoRemove an extra vp9_encode_frame call
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

6 years agoMerge "vp9: release frame buffer on key frame."
Jerome Jiang [Fri, 27 Jul 2018 17:31:35 +0000 (17:31 +0000)]
Merge "vp9: release frame buffer on key frame."

6 years agoMerge "vp9: 4x4 tx_size for nonrd-pickmode for screen content"
Marco Paniconi [Fri, 27 Jul 2018 06:02:34 +0000 (06:02 +0000)]
Merge "vp9: 4x4 tx_size for nonrd-pickmode for screen content"

6 years agovp9: 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

6 years agovp9: release frame buffer on key frame.
Jerome Jiang [Tue, 17 Jul 2018 00:47:44 +0000 (17:47 -0700)]
vp9: release frame buffer on key frame.

Add tests with corrupted frames and periodic key frames.

BUG=webm:1545

Change-Id: Ic0684bdafd01507036f56465387b9d2187b1458e

6 years agoMerge "Fix multi-thread encoder result test"
Hui Su [Fri, 27 Jul 2018 02:19:58 +0000 (02:19 +0000)]
Merge "Fix multi-thread encoder result test"

6 years agoFix multi-thread encoder result test
Hui Su [Thu, 26 Jul 2018 23:10:08 +0000 (16:10 -0700)]
Fix multi-thread encoder result test

Fix multi-thread encoder result test induced by
the prune_ref_frame_for_rect_partitions speed feature.

BUG=webm:1552

Change-Id: Idc3b3759651f76285ffd90059c6a2846c4d91a00

6 years agoAdd New Neon Assemblies for Motion Compensation
Venkatarama NG. Avadhani [Mon, 25 Jun 2018 03:23:23 +0000 (08:53 +0530)]
Add New Neon Assemblies for Motion Compensation

Commit adds neon assemblies for motion compensation which show an improvement
over the existing neon code.

Performance Improvement -

Platform        Resolution      1 Thread        4 Threads
Nexus 6         720p            12.16%          7.21%
@2.65 GHz       1080p           18.00%          15.28%

Change-Id: Ic0b0412eeb01c8317642b20bb99092c2f5baba37

6 years agoMove CONFIG_SIZE_LIMIT check in yv12config.c.
Tom Finegan [Thu, 26 Jul 2018 20:54:41 +0000 (13:54 -0700)]
Move CONFIG_SIZE_LIMIT check in yv12config.c.

Avoids a C90 compile error.

BUG=webm:1551

Change-Id: Iee0f208de053c2a399aafa015d370c0496878816

6 years agoMerge "vpxdec: only call row-mt control for vp9"
Harish Mahendrakar [Thu, 26 Jul 2018 19:57:53 +0000 (19:57 +0000)]
Merge "vpxdec: only call row-mt control for vp9"

6 years agovpxdec: only call row-mt control for vp9
Harish Mahendrakar [Wed, 25 Jul 2018 19:46:32 +0000 (12:46 -0700)]
vpxdec: only call row-mt control for vp9

BUG=webm:1549
Change-Id: Ib31b22f0d982e3a7c6a200274582cda7528d1ec9

6 years agoMerge "vp9: fix OOB read in decoder_peek_si_internal"
James Zern [Thu, 26 Jul 2018 05:15:34 +0000 (05:15 +0000)]
Merge "vp9: fix OOB read in decoder_peek_si_internal"

6 years agoMerge "vp9: Modify condition for force test of intra"
Marco Paniconi [Thu, 26 Jul 2018 04:47:30 +0000 (04:47 +0000)]
Merge "vp9: Modify condition for force test of intra"

6 years agoMerge "Clean up get_overlap_area function"
Jingning Han [Thu, 26 Jul 2018 03:53:22 +0000 (03:53 +0000)]
Merge "Clean up get_overlap_area function"

6 years agoMerge "Factor out mode estimation process in tpl model build"
Jingning Han [Thu, 26 Jul 2018 03:53:11 +0000 (03:53 +0000)]
Merge "Factor out mode estimation process in tpl model build"

6 years agovp9: Modify condition for force test of intra
Marco Paniconi [Thu, 26 Jul 2018 00:51:35 +0000 (17:51 -0700)]
vp9: Modify condition for force test of intra

For real-time/nonrd_pickmode: under some conditions
force check of intra modes for flat blocks with motion.
Reduces artifacts for screen-content mode.

Change-Id: If320f41a90982b14c48d91150f59f048a62982b1