]> granicus.if.org Git - libvpx/log
libvpx
5 years agoMerge "vp9: Remove unused function in cyclic refresh"
Marco Paniconi [Wed, 27 Feb 2019 22:08:09 +0000 (22:08 +0000)]
Merge "vp9: Remove unused function in cyclic refresh"

5 years agovp9: Remove unused function in cyclic refresh
Marco Paniconi [Wed, 27 Feb 2019 20:06:45 +0000 (12:06 -0800)]
vp9: Remove unused function in cyclic refresh

Change-Id: I4b1d02c661ccbad2a1e346df623e78334a3a3a39

5 years agovp9-rtc: Modify skip golden mode check for 1 layer
Marco Paniconi [Wed, 27 Feb 2019 17:28:43 +0000 (09:28 -0800)]
vp9-rtc: Modify skip golden mode check for 1 layer

For real-time CBR mode: golden reference mode testing is
skipped under certain conditons based on sse of zero-last mode.
This was done for svc mode. Here we add similar condition
for non-svc/1 layer encoding.

Reduces flashing block artifacts that can occur in background
areas with noise.

Change-Id: I93f71ea9507af8c9153fc6c0ba7dcc7a0fa8810d

5 years agoMerge "vp9-rtc: Fix to Q clamp in adjust_q_cbr"
Marco Paniconi [Mon, 25 Feb 2019 04:43:13 +0000 (04:43 +0000)]
Merge "vp9-rtc: Fix to Q clamp in adjust_q_cbr"

5 years agovp9-rtc: Fix to Q clamp in adjust_q_cbr
Marco Paniconi [Mon, 25 Feb 2019 03:02:14 +0000 (19:02 -0800)]
vp9-rtc: Fix to Q clamp in adjust_q_cbr

For CBR mode: clamp the Q to worst/best quality in
adjust_q_cbr().

Under certain conditions, when the worst/best quality is
suddenly changed by a large amount mid-stream, the Q
adjustment from the final Q from adjust_q_cbr may not respect
the worst/best qualiy limits.

Change-Id: I3776129325d89882d422b22e6247d44660dd90ac

5 years agovp9-rtc: Decrease noise estimation thresh for kLow
Marco Paniconi [Sat, 23 Feb 2019 04:02:27 +0000 (20:02 -0800)]
vp9-rtc: Decrease noise estimation thresh for kLow

Increases denoising for noisy content.

Change-Id: Iff8573f8dca7b177ef53ee6682d691e6cd8e2740

5 years agoFix 32-bit unsigned integer overflow in block_variance
kyslov [Fri, 22 Feb 2019 22:15:22 +0000 (14:15 -0800)]
Fix 32-bit unsigned integer overflow in block_variance

When compiled for High Bitdepth SSE can overflow 32-bit unsigned
integer, so change it to 64 bit. Also fixing unit/int mismatch of sum

BUG=webm:1601

Change-Id: Ib576ed1d5579b0c2b4661058aa64119560b652bf

5 years agovp9-rtc: Adjust thresholds for noise estimation.
Marco Paniconi [Fri, 22 Feb 2019 03:32:07 +0000 (19:32 -0800)]
vp9-rtc: Adjust thresholds for noise estimation.

Lower the frame_motion and consec_zeromv thresholds,
this make the noise estimation and denoiser have more effect
on noisy clips.

Change-Id: I49cf5d78a04d00fcf8538bee6f3b2980efe6b3b5

5 years agoMerge "vp9: Enable ml based partition for speed>=8 low res."
Jerome Jiang [Wed, 20 Feb 2019 23:03:13 +0000 (23:03 +0000)]
Merge "vp9: Enable ml based partition for speed>=8 low res."

5 years agovpx_thread.h: remove unused sched_yield()
James Zern [Tue, 19 Feb 2019 01:03:54 +0000 (17:03 -0800)]
vpx_thread.h: remove unused sched_yield()

usage was removed with:
c1b024b48 Modify map read/write to sync logic in row_mt case

Change-Id: I515fe397083079a4f11702e67c322fd04bdcf410

5 years agoMerge "Fix integer overflow issue in bits allocated"
Ranjit Kumar Tulabandu [Wed, 20 Feb 2019 04:35:35 +0000 (04:35 +0000)]
Merge "Fix integer overflow issue in bits allocated"

5 years agoDisable encoder builds when checking coeff ranges
Yaowu Xu [Tue, 19 Feb 2019 21:41:37 +0000 (13:41 -0800)]
Disable encoder builds when checking coeff ranges

BUG=webm:1031

Change-Id: I28f4e8cdec170393b2d22cd8cb0b73a32204e09c

5 years agovp9: Enable ml based partition for speed>=8 low res.
Jerome Jiang [Tue, 19 Feb 2019 17:08:50 +0000 (09:08 -0800)]
vp9: Enable ml based partition for speed>=8 low res.

~10% speed up with no quality change for speed 8.
7% quality gain for speed 9 with no speed change.

Change-Id: I7eaaa4b82f7b082c9b15aa1d7624765ecc5082e7

5 years agoadded error messages in vpx_video_reader_open().
Aidan Welch [Sat, 5 Jan 2019 09:51:24 +0000 (04:51 -0500)]
added error messages in vpx_video_reader_open().

Change-Id: I3e521b62a2f99902c4be80fe25d3869121673e43

5 years agoFix compile warnings in non-greedy-mv
Angie Chiang [Sat, 9 Feb 2019 01:48:57 +0000 (17:48 -0800)]
Fix compile warnings in non-greedy-mv

Change-Id: Ib2bd9a74473ccb00e9ad71e0b186c8ddc0ee7b3c

5 years agoOnly discount new mv mode when tpl model is ready
Angie Chiang [Sat, 9 Feb 2019 01:28:43 +0000 (17:28 -0800)]
Only discount new mv mode when tpl model is ready

Change-Id: I3326f0912627981fd604b16ddbf668d2262d4287

5 years agoCheck the new mv diff in discount_newmv_test()
Angie Chiang [Thu, 7 Feb 2019 02:21:07 +0000 (18:21 -0800)]
Check the new mv diff in discount_newmv_test()

Change-Id: I38c5d4de93bebfd3f46bcc01716a0cc4a76af950

5 years agoUse mv_mode_arr to decide the newmv discount place
Angie Chiang [Wed, 6 Feb 2019 21:52:48 +0000 (13:52 -0800)]
Use mv_mode_arr to decide the newmv discount place

Change-Id: I98c32aba4c9e81380b588dcdbfa991468487ce73

5 years agoFix the bug for feature_score computation
Angie Chiang [Fri, 8 Feb 2019 18:25:56 +0000 (10:25 -0800)]
Fix the bug for feature_score computation

The visited is not set to 1 after an item is pushed into the heap.
This may cause one item being pushed into the heap multiple
times, which may incur buffer overflow and memory corruption.

Change-Id: I443f1e5693856bb4066542403f98492d4daec69d

5 years agoMerge "vp9: ML var partition as speed feature & cleanup."
Jerome Jiang [Tue, 12 Feb 2019 23:24:48 +0000 (23:24 +0000)]
Merge "vp9: ML var partition as speed feature & cleanup."

5 years agovp8: Limit Q change for screen content CBR mode
Marco Paniconi [Tue, 5 Feb 2019 18:54:28 +0000 (10:54 -0800)]
vp8: Limit Q change for screen content CBR mode

Add last_q[] to layer context, and add limit on
Q change from previous layer/frame. For now put
hard limit of 12 for decrease.

For 1 pass CBR sreen content mode.

Change-Id: Ifb972c9b6831440c80b1cb07a054c577ece930ec

5 years agoMerge "Test decode and find mismatch in vp9 svc example encoder."
Jerome Jiang [Tue, 12 Feb 2019 17:45:16 +0000 (17:45 +0000)]
Merge "Test decode and find mismatch in vp9 svc example encoder."

5 years agoTest decode and find mismatch in vp9 svc example encoder.
Jerome Jiang [Sat, 9 Feb 2019 03:29:10 +0000 (19:29 -0800)]
Test decode and find mismatch in vp9 svc example encoder.

Also write it to opsnr.stt when internal stats is enabled.

Removed some redundant code in vpxenc.c and vp9cx_set_ref.c

Change-Id: I3700137fff0be92a23e4ab75713db72da1dc4076

5 years agovp9: ML var partition as speed feature & cleanup.
Jerome Jiang [Fri, 8 Feb 2019 23:11:28 +0000 (15:11 -0800)]
vp9: ML var partition as speed feature & cleanup.

Remove it from runtime flag.

Add new struct for rd ml partition.

BUG=webm:1599

Change-Id: I883edbba83c65b7e557b8832419e212cffc85997

5 years agovp8: Fix condition for update of last_pred_err_mb
Marco Paniconi [Mon, 11 Feb 2019 20:06:27 +0000 (12:06 -0800)]
vp8: Fix condition for update of last_pred_err_mb

For 1 pass cbr screen-content mode: quantity should
only be updated on delta frames.

Change-Id: I16fc47b2805c7527ab4ff25bd8b5a5bd9c2b8976

5 years agoMerge "refactor vp9 svc example encoder."
Jerome Jiang [Mon, 11 Feb 2019 17:42:53 +0000 (17:42 +0000)]
Merge "refactor vp9 svc example encoder."

5 years agorefactor vp9 svc example encoder.
Jerome Jiang [Fri, 8 Feb 2019 23:44:46 +0000 (15:44 -0800)]
refactor vp9 svc example encoder.

Put rc stats related code into a separate function.

Change-Id: I11808bb947079b5fd9e53dfa5894bf227ed0c4c6

5 years agoMerge changes Ibbe12dad,I4bf9e2ad
Angie Chiang [Sat, 9 Feb 2019 01:20:19 +0000 (01:20 +0000)]
Merge changes Ibbe12dad,I4bf9e2ad

* changes:
  Add tpl_bsize to VP9_COMP
  Compute future_rd_diff in predict_mv_mode

5 years agovp9 svc example encoder accept -o (--output) for output.
Jerome Jiang [Fri, 8 Feb 2019 23:44:46 +0000 (15:44 -0800)]
vp9 svc example encoder accept -o (--output) for output.

Make it same as vpxenc so easier to run on borg.

Change-Id: Ie19db6e828ced773cba9aef715c8fbd0f4715b27

5 years agoMerge "Fixing ClangTidy issues reported by downstream integration"
Fyodor Kyslov [Thu, 7 Feb 2019 23:37:33 +0000 (23:37 +0000)]
Merge "Fixing ClangTidy issues reported by downstream integration"

5 years agoFixing ClangTidy issues reported by downstream integration
kyslov [Thu, 7 Feb 2019 20:15:19 +0000 (12:15 -0800)]
Fixing ClangTidy issues reported by downstream integration

ClangTidy reported 16 issues. All are around typecasting and
straightforward

Change-Id: Ie8f9fc2ba7992dd44fef65b121fe65966a1a1297

5 years agoMerge "Refactor the model for rect partition pruning"
Hui Su [Thu, 7 Feb 2019 21:30:47 +0000 (21:30 +0000)]
Merge "Refactor the model for rect partition pruning"

5 years agoMerge "vp9: Write height and width to ivf header in SVC example encoder."
Jerome Jiang [Thu, 7 Feb 2019 19:31:50 +0000 (19:31 +0000)]
Merge "vp9: Write height and width to ivf header in SVC example encoder."

5 years agovp9: Write height and width to ivf header in SVC example encoder.
Jerome Jiang [Thu, 7 Feb 2019 18:38:14 +0000 (10:38 -0800)]
vp9: Write height and width to ivf header in SVC example encoder.

Write height and width of top layer to ivf header in SVC.

vpxdec Can't decode it correctly when output is y4m.

Change-Id: I9b2f1d54696611a30e252bdfd182897d191d92b5

5 years agoRefactor the model for rect partition pruning
Hui Su [Thu, 7 Feb 2019 04:09:33 +0000 (20:09 -0800)]
Refactor the model for rect partition pruning

Remove the block variance and skip flags from the input features. They
do not seem to reduce the average loss of the model. Also decrease the
number of hidden nodes. The model size is reduced significantly.

Compression quality and speed are both neutral.

Change-Id: Ic62f73c4f4c0a3148285f575747f0423ff568c64

5 years agoUse wide integer to avoid overflow
Yaowu Xu [Thu, 7 Feb 2019 00:02:39 +0000 (16:02 -0800)]
Use wide integer to avoid overflow

BUG=webm:1270

Change-Id: I7d56667d946196bbbe355303de805422e40b0763

5 years agoAdd tpl_bsize to VP9_COMP
Angie Chiang [Wed, 6 Feb 2019 02:44:00 +0000 (18:44 -0800)]
Add tpl_bsize to VP9_COMP

Change-Id: Ibbe12dade04b218a41de9b65bbedba0054a69d83

5 years agoCompute future_rd_diff in predict_mv_mode
Angie Chiang [Tue, 5 Feb 2019 22:45:09 +0000 (14:45 -0800)]
Compute future_rd_diff in predict_mv_mode

The future_rd_diff computes the future rd difference between
new mv mode and ref mv mode.

Change-Id: I4bf9e2ad34257ba9cfec95419c2c5eca469584e9

5 years agoMerge "No vpx_img_alloc for y4m input in example encoders."
Jerome Jiang [Wed, 6 Feb 2019 00:57:28 +0000 (00:57 +0000)]
Merge "No vpx_img_alloc for y4m input in example encoders."

5 years agoMerge "Fix VPX_KF_DISABLED."
Jerome Jiang [Wed, 6 Feb 2019 00:33:30 +0000 (00:33 +0000)]
Merge "Fix VPX_KF_DISABLED."

5 years agoMerge "enforce some c89 restrictions"
Johann Koenig [Tue, 5 Feb 2019 23:29:51 +0000 (23:29 +0000)]
Merge "enforce some c89 restrictions"

5 years agoFix VPX_KF_DISABLED.
Jerome Jiang [Tue, 5 Feb 2019 19:41:06 +0000 (11:41 -0800)]
Fix VPX_KF_DISABLED.

VP9 encoder still inserts key frame periodically when VPX_KF_DISABLED is
set in non SVC for 1-pass CBR.
BUG=webm:1592

Change-Id: Ie99d7c5b95230d739e263a2d87879693c53f620e

5 years agoMerge "Improve the partition split prediction model"
Hui Su [Tue, 5 Feb 2019 22:20:10 +0000 (22:20 +0000)]
Merge "Improve the partition split prediction model"

5 years agoNo vpx_img_alloc for y4m input in example encoders.
Jerome Jiang [Mon, 4 Feb 2019 19:08:21 +0000 (11:08 -0800)]
No vpx_img_alloc for y4m input in example encoders.

Y4M reader has its own allocation.

Change-Id: Ie02440a183126072ea773860f4e9dc9b412772f5

5 years agoenforce some c89 restrictions
Johann [Tue, 5 Feb 2019 02:18:11 +0000 (18:18 -0800)]
enforce some c89 restrictions

Block "for (int i;;)" style declarations.

Use --std=gnu89 to avoid enforcing c89-style comments.

Change-Id: Ia7d1405eac647d04e92513c047773695e8d7dc6e

5 years agoMerge "ppc: use c89 loop declaration"
Johann Koenig [Tue, 5 Feb 2019 21:51:03 +0000 (21:51 +0000)]
Merge "ppc: use c89 loop declaration"

5 years agoppc: use c89 loop declaration
Johann [Tue, 5 Feb 2019 20:20:54 +0000 (12:20 -0800)]
ppc: use c89 loop declaration

Change-Id: Ib8ca37f1b58e9903e7efa29689a0a49f14b4d73a

5 years agoMerge "vp8: Add extra conditon for overshoot-drop"
Marco Paniconi [Tue, 5 Feb 2019 18:30:57 +0000 (18:30 +0000)]
Merge "vp8: Add extra conditon for overshoot-drop"

5 years agoMerge "Add dist scale in get_mv_dist"
Angie Chiang [Tue, 5 Feb 2019 18:27:15 +0000 (18:27 +0000)]
Merge "Add dist scale in get_mv_dist"

5 years agoImprove the partition split prediction model
Hui Su [Fri, 1 Feb 2019 17:33:42 +0000 (09:33 -0800)]
Improve the partition split prediction model

Include the sizes of the above and left partition block as additional
features.

This affects speed 0 and 1.

Compression change is almost neutral(about 0.03% on average).

Average encoding speedup is 3~6% depending on QP and resolution.

Change-Id: I8bddfadf6072ae757c124da0819302850d8c6fe7

5 years agoFix an inline varible declaration in temporal filter
chiyotsai [Tue, 5 Feb 2019 02:31:12 +0000 (18:31 -0800)]
Fix an inline varible declaration in temporal filter

bug=webm:1595

Change-Id: I7fbb16444a8526eb9479007772fbf52b09ff8338

5 years agoMerge "Add operator<< to a struct in yuv_temporal_filter_test.cc"
Chi Yo Tsai [Mon, 4 Feb 2019 23:52:24 +0000 (23:52 +0000)]
Merge "Add operator<< to a struct in yuv_temporal_filter_test.cc"

5 years agovp8: Add extra conditon for overshoot-drop
Marco Paniconi [Mon, 4 Feb 2019 22:49:58 +0000 (14:49 -0800)]
vp8: Add extra conditon for overshoot-drop

For drop due to large overshoot feature (in 1 pass CBR):
add additional condition that current prediction error
is larger than that of last encoded frame. This make the
drop due to sudden overshoot more robust, and improves
rate convergence for steady hard content.

Change-Id: If20027d26b4dcd290e4f788ae8e2760d95b536a5

5 years agoAdd operator<< to a struct in yuv_temporal_filter_test.cc
chiyotsai [Mon, 4 Feb 2019 22:18:59 +0000 (14:18 -0800)]
Add operator<< to a struct in yuv_temporal_filter_test.cc

This should resolve valgrind's warning on aceessing uninitialized
values.

BUG=webm:1591

Change-Id: I678cadf448c12b598c9ea09490a7eb4e13e4118c

5 years agoSome cosmetic fixes to temporal filter
chiyotsai [Fri, 1 Feb 2019 05:39:19 +0000 (21:39 -0800)]
Some cosmetic fixes to temporal filter

BUG=webm:1591

Change-Id: I34fd7e6cbe6f3d5486a669d0895402fd21de7641

5 years agoMerge remote-tracking branch 'origin/northernshoveler' into HEAD
Johann [Mon, 4 Feb 2019 19:46:43 +0000 (11:46 -0800)]
Merge remote-tracking branch 'origin/northernshoveler' into HEAD

BUG=webm:1573

Change-Id: Ie92df3adfac44d7e9c143994ef4f69cd1a04e4b8

5 years agoRelease v1.8.0 Northern Shoveler northernshoveler v1.8.0
Johann [Fri, 1 Feb 2019 21:49:00 +0000 (13:49 -0800)]
Release v1.8.0 Northern Shoveler

BUG=webm:1573

Change-Id: I2884d0d8198f937a9d14428cc9f5f7e86f4ec450

5 years agoMerge "Fix segmentation fault when num tile cols change in row-mt."
Harish Mahendrakar [Sat, 2 Feb 2019 04:01:57 +0000 (04:01 +0000)]
Merge "Fix segmentation fault when num tile cols change in row-mt."

5 years agoMerge "vpx_dec_fuzzer: Remove dependency on tools_common.c"
Harish Mahendrakar [Sat, 2 Feb 2019 02:00:39 +0000 (02:00 +0000)]
Merge "vpx_dec_fuzzer: Remove dependency on tools_common.c"

5 years agoFix segmentation fault when num tile cols change in row-mt.
Ritu Baldwa [Fri, 1 Feb 2019 08:07:07 +0000 (13:37 +0530)]
Fix segmentation fault when num tile cols change in row-mt.

Change-Id: Ifc165d76a71fcdb7c19c158c940a8d273be0d95f

5 years agovpx_dec_fuzzer: Remove dependency on tools_common.c
Harish Mahendrakar [Fri, 1 Feb 2019 20:25:03 +0000 (12:25 -0800)]
vpx_dec_fuzzer: Remove dependency on tools_common.c

Instead of calling get_vpx_decoder_by_name(), derive
decoder interface directly.

This will avoid dependecy on tools_common and hence any potential
updates needed to build fuzzer, when tools_common uses functions
defined in a different file

With this dependency removed, fuzzer no longer needs to enable examples
when building vpx_dec_fuzzer binaries

Change-Id: I05753edf041b4bc742a6dc06e809a8a2929d379f

5 years agoRemove old version of temporal_filter_apply
chiyotsai [Thu, 31 Jan 2019 20:38:44 +0000 (12:38 -0800)]
Remove old version of temporal_filter_apply

BUG=webm:1591

Change-Id: I926566ac1bf4bac8cb1ce1c6ded9ba940109283e

5 years agoAdd highbd test cases for apply_temporal_filter
chiyotsai [Wed, 30 Jan 2019 21:53:38 +0000 (13:53 -0800)]
Add highbd test cases for apply_temporal_filter

BUG=webm:1591

Change-Id: I61dfcecc2efccdfa15b739fd6d97a24ddff05757

5 years agovp9_temporal_filter: convert blk_fw[0] || ... to |
James Zern [Fri, 1 Feb 2019 01:52:48 +0000 (17:52 -0800)]
vp9_temporal_filter: convert blk_fw[0] || ... to |

this matches what is done to reduce the cost of the test of filter
values in convolve.

Change-Id: I692b58801a962b593b810c1d1dac42f72c78caf9

5 years agoMerge "vp9: Tune qp_thresh to disable cyclic refresh for screen"
Marco Paniconi [Fri, 1 Feb 2019 01:42:34 +0000 (01:42 +0000)]
Merge "vp9: Tune qp_thresh to disable cyclic refresh for screen"

5 years agoMerge "Add highbd yuv_temporal_filter"
Chi Yo Tsai [Fri, 1 Feb 2019 00:11:28 +0000 (00:11 +0000)]
Merge "Add highbd yuv_temporal_filter"

5 years agovp9: Tune qp_thresh to disable cyclic refresh for screen
Marco Paniconi [Thu, 31 Jan 2019 23:19:45 +0000 (15:19 -0800)]
vp9: Tune qp_thresh to disable cyclic refresh for screen

For screen-content mode, with aq-mode=3: increase the
qp thresh for disabling the cyclic refresh.
Improves bitrate convergence for content that has been
static for long period.

Change-Id: Ica63a741402923a611ab1b86c0900f75d2d5f941

5 years agoAdd dist scale in get_mv_dist
Angie Chiang [Thu, 31 Jan 2019 23:01:06 +0000 (15:01 -0800)]
Add dist scale in get_mv_dist

Add MACRO VP9_DIST_SCALE_LOG2 represents distortion's log scale

Change-Id: Ic496a31e6d3f04626510f8c4661af464a002e361

5 years agoMerge changes I62702bdb,Ice6d06c5,I60204c62,Ib9fdf65e
Angie Chiang [Thu, 31 Jan 2019 21:21:16 +0000 (21:21 +0000)]
Merge changes I62702bdb,Ice6d06c5,I60204c62,Ib9fdf65e

* changes:
  Implement get_mv_cost()
  Add assertion in get_block_src_pred_buf
  Fix bug in predict_mv_mode
  Allocate memory for mv_mode_arr[]

5 years agovp9: Adjust intra check for short_circuit_flat_blocks
Marco Paniconi [Thu, 31 Jan 2019 18:29:55 +0000 (10:29 -0800)]
vp9: Adjust intra check for short_circuit_flat_blocks

For non-rd pickmode: include H and V intra mode check for
spatially flat blocks when the sf->short_circuit_flat_blocks
speed feature is set.
Small improvement on screen content tests.

Change-Id: I3391d02cce6a46160be6ccc8a1e33fd8547eb467

5 years agoFix integer overflow issue in bits allocated
Deepa K G [Wed, 30 Jan 2019 09:20:56 +0000 (14:50 +0530)]
Fix integer overflow issue in bits allocated

When encoding at high bitrates, integer overflow
occurs in the the calculation of bits allocated
for layered ARF frames.

Change-Id: I94ad9eea759367a222235a3b5d1c777578dc6ba9

5 years agoMerge "Add y4m input to vp9 example encoder tests."
Jerome Jiang [Thu, 31 Jan 2019 05:35:58 +0000 (05:35 +0000)]
Merge "Add y4m input to vp9 example encoder tests."

5 years agoImplement get_mv_cost()
Angie Chiang [Thu, 31 Jan 2019 02:30:56 +0000 (18:30 -0800)]
Implement get_mv_cost()

The mv_cost contains mv_mode cost and mv_diff cost.

The mv_mode cost is inferred from default_inter_mode_probs.
The mv_diff cost is estimated used the log2 function.

Change-Id: I62702bdb5c3fec018e3302765f5dd749fceebc12

5 years agoAdd highbd yuv_temporal_filter
chiyotsai [Sat, 26 Jan 2019 00:12:18 +0000 (16:12 -0800)]
Add highbd yuv_temporal_filter

This changes the highbd version of temporal filter to information from
both luma and chroma planes.

Performance:
 AVG_PSNR | OVR_PSNR |  SSIM
  -0.144% |  -0.165% | -0.150%

The performance is evaluated on lowres_bd10.

Change-Id: I89d1bd46cd60c26d658b6a53aa63835e90d8e291

5 years agovp9-svc: Fix to non-rd pickmode for screen content
Marco Paniconi [Thu, 31 Jan 2019 00:30:49 +0000 (16:30 -0800)]
vp9-svc: Fix to non-rd pickmode for screen content

For screen content mode: always force intra check
for spatially flat blocks that have moved. Also
adjust/fix condition for forcing check of
zeromv-golden for quality layers.
Reduces artifacts in screensharing tests.

Change-Id: Iafd62fb24a4e05f5b12af663dde2805fdb4c7b36

5 years agoAdd y4m input to vp9 example encoder tests.
Jerome Jiang [Wed, 30 Jan 2019 22:37:34 +0000 (14:37 -0800)]
Add y4m input to vp9 example encoder tests.

Change-Id: Ie64a3ee22e6b21e5b3a0cef4734930db3144bea0

5 years agoMerge "add y4m support to vp9 example encoders."
Jerome Jiang [Wed, 30 Jan 2019 22:06:12 +0000 (22:06 +0000)]
Merge "add y4m support to vp9 example encoders."

5 years agoadd y4m support to vp9 example encoders.
Jerome Jiang [Mon, 28 Jan 2019 23:49:42 +0000 (15:49 -0800)]
add y4m support to vp9 example encoders.

vp9_spatial_svc_encoder and vpx_temporal_svc_encoder.

Change-Id: I8dfa1dfad83c83a26ddac4e7c57b5f1ff161e588

5 years agoAdd assertion in get_block_src_pred_buf
Angie Chiang [Wed, 30 Jan 2019 00:26:57 +0000 (16:26 -0800)]
Add assertion in get_block_src_pred_buf

Print error message and assert when ref_frame_idx is invalid

Change-Id: Ice6d06c53ddae0a77d578671b896c4e4d04d5366

5 years agoMerge changes I49a760ea,I792df86e
Harish Mahendrakar [Wed, 30 Jan 2019 18:21:42 +0000 (18:21 +0000)]
Merge changes I49a760ea,I792df86e

* changes:
  Modify map read/write to sync logic in row_mt case
  Revert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""

5 years agoMerge "Add some const qualifiers where applicable"
Hui Su [Wed, 30 Jan 2019 18:17:11 +0000 (18:17 +0000)]
Merge "Add some const qualifiers where applicable"

5 years agoMerge "Reuse simple motion search results"
Hui Su [Wed, 30 Jan 2019 18:17:05 +0000 (18:17 +0000)]
Merge "Reuse simple motion search results"

5 years agoMerge "Reland "Enable SSE4 version of apply temporal filter""
Chi Yo Tsai [Wed, 30 Jan 2019 17:52:41 +0000 (17:52 +0000)]
Merge "Reland "Enable SSE4 version of apply temporal filter""

5 years agovp9-svc: Modify early breakout for non-rd pickmode
Marco Paniconi [Wed, 30 Jan 2019 01:19:02 +0000 (17:19 -0800)]
vp9-svc: Modify early breakout for non-rd pickmode

Modify early breakout condition for non-rd pickmode
for quality layers: when lower layer has lower QP force
test of zeromv on golden (lower layer reference) before
breakout due to skip.

Reduce artifacts, observed in cases of scrolling content.

Change-Id: Id834b1eb024a4c97f0e74d8b7f7a0351459e088f

5 years agoModify map read/write to sync logic in row_mt case
Ritu Baldwa [Wed, 23 Jan 2019 04:09:06 +0000 (09:39 +0530)]
Modify map read/write to sync logic in row_mt case

Adds conditional wait/signal instead of sched_yield.

Change-Id: I49a760eacdd6b6ac690e797ea5f10febf6a1a084

5 years agoFix bug in predict_mv_mode
Angie Chiang [Wed, 30 Jan 2019 00:00:13 +0000 (16:00 -0800)]
Fix bug in predict_mv_mode

Use kMvPreCheckLines in the for loops.

Change-Id: I60204c6294560d47421a8621d907dfa95c9dde18

5 years agoAllocate memory for mv_mode_arr[]
Angie Chiang [Tue, 29 Jan 2019 23:36:38 +0000 (15:36 -0800)]
Allocate memory for mv_mode_arr[]

Change-Id: Ib9fdf65e263dbaace8d4c86766eba2c6f35f652b

5 years agoMerge "Clean up TODOs for vpx_img_* functions."
Jerome Jiang [Tue, 29 Jan 2019 23:04:33 +0000 (23:04 +0000)]
Merge "Clean up TODOs for vpx_img_* functions."

5 years agoAdd some const qualifiers where applicable
Hui Su [Tue, 29 Jan 2019 18:43:32 +0000 (10:43 -0800)]
Add some const qualifiers where applicable

Change-Id: Ib820f625e0b616fd57a2722ec3614b4fccf307f8

5 years agoReuse simple motion search results
Hui Su [Mon, 28 Jan 2019 22:33:13 +0000 (14:33 -0800)]
Reuse simple motion search results

In the ML based partition search speed feature, use MV result of
previous simple motion search as the starting point for the next one.

Compression change is neutral; encoding speed becomes slightly faster.

Change-Id: Iea554f28f7966fc5b5857e12b06de58e3fa312a6

5 years agoMerge changes I7dcfcdb3,Ie0b2c67b
Angie Chiang [Tue, 29 Jan 2019 21:25:24 +0000 (21:25 +0000)]
Merge changes I7dcfcdb3,Ie0b2c67b

* changes:
  Add predict_mv_mode_arr()
  Add predict_mv_mode()

5 years agoClean up TODOs for vpx_img_* functions.
Jerome Jiang [Fri, 25 Jan 2019 22:04:33 +0000 (14:04 -0800)]
Clean up TODOs for vpx_img_* functions.

They should stay in tools_common.{c,h}

Change-Id: I34bd05e8b000ce780bb1f77abcb8cbfd1e83158f

5 years agoReland "Enable SSE4 version of apply temporal filter"
Chi Yo Tsai [Tue, 29 Jan 2019 20:24:29 +0000 (20:24 +0000)]
Reland "Enable SSE4 version of apply temporal filter"

This reverts commit a4d2f59b691ac57698d299430495b398a8bb682c.

Reason for revert: Re-enables SSE4_1 version of apply temporal filter now that the mismatch is fixed in fa540837aa23ae8cdd926961ddbef71998a2a525,

Original change's description:
> Revert "Enable SSE4 version of apply temporal filter"
>
> This reverts commit 4f3cd48bfe4541ca64883db51f57c1376c6d8a73.
>
> Reason for revert: Found a mismatch with c version
>
> Original change's description:
> > Enable SSE4 version of apply temporal filter
> >
> > Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1
> > auto_alt_ref=1, there is a speed up of 1.660%.
> >
> > BUG=webm:1591
> >
> > Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690
>
> TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com
>
> Change-Id: Ibca973576d72d6db4b647a08aef23389d5d6605a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webm:1591

TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webm:1591
Change-Id: I26effdbaf4d52e4650c263b6ed9d3d80e505f5cb

5 years agoMerge "Fix mismatch between SIMD/C version of vp9_apply_temporal_filter"
Chi Yo Tsai [Tue, 29 Jan 2019 20:21:41 +0000 (20:21 +0000)]
Merge "Fix mismatch between SIMD/C version of vp9_apply_temporal_filter"

5 years agoMerge "Refactor ml_predict_var_rd_paritioning()"
Hui Su [Tue, 29 Jan 2019 17:56:29 +0000 (17:56 +0000)]
Merge "Refactor ml_predict_var_rd_paritioning()"

5 years agoFix mismatch between SIMD/C version of vp9_apply_temporal_filter
chiyotsai [Sat, 26 Jan 2019 03:30:49 +0000 (19:30 -0800)]
Fix mismatch between SIMD/C version of vp9_apply_temporal_filter

Change-Id: I6503ebc79beaac2947992437ac133f3ac4379019

5 years agoMerge "Fix test case name for yuv_temporal_filter"
Chi Yo Tsai [Mon, 28 Jan 2019 23:14:07 +0000 (23:14 +0000)]
Merge "Fix test case name for yuv_temporal_filter"

5 years agoFix test case name for yuv_temporal_filter
chiyotsai [Mon, 28 Jan 2019 22:03:04 +0000 (14:03 -0800)]
Fix test case name for yuv_temporal_filter

This should fix valgrind's failure.

BUG=webm:1591

Change-Id: Idab2d6281484c36e6de193d6f45d13f97762625e

5 years agoRefactor ml_predict_var_rd_paritioning()
Hui Su [Mon, 28 Jan 2019 19:13:35 +0000 (11:13 -0800)]
Refactor ml_predict_var_rd_paritioning()

Refactor out code about simple motion search.

Change-Id: Ie6895db2aff3c13e7a45554d6bc1c7c0af8f2d51

5 years agoAdd predict_mv_mode_arr()
Angie Chiang [Mon, 28 Jan 2019 20:15:58 +0000 (12:15 -0800)]
Add predict_mv_mode_arr()

The function predicts the mv_mode for each prediction block in
diagonal order.

Change-Id: I7dcfcdb317ffa334cb40bb435baa71b5db62252b