]> granicus.if.org Git - libvpx/log
libvpx
8 years agoCosmetic changes to loop restoration
Debargha Mukherjee [Wed, 27 Jan 2016 21:01:27 +0000 (13:01 -0800)]
Cosmetic changes to loop restoration

Also adds a normalized filtering function to be used later.

Change-Id: I30e2140e664db635602f26a73b81ce8e008dff5e

8 years agoMerge "Fixes ext-interp experiment" into nextgenv2
Debargha Mukherjee [Wed, 27 Jan 2016 19:16:55 +0000 (19:16 +0000)]
Merge "Fixes ext-interp experiment" into nextgenv2

8 years agoFixes ext-interp experiment
Debargha Mukherjee [Wed, 27 Jan 2016 16:09:39 +0000 (08:09 -0800)]
Fixes ext-interp experiment

Fixes integer pel MV usage for the sub8x8 case, which fixes a
rare mismatch issue.

Also adds some other minor missing code related to filter threshes.

Change-Id: I6b07e6cf9b287ba4b5bd6599af4a7412e50b3bdc

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 27 Jan 2016 13:00:06 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Fix a clang/win build error"
Yunqing Wang [Tue, 26 Jan 2016 19:00:06 +0000 (19:00 +0000)]
Merge "Fix a clang/win build error"

8 years agoFix a clang/win build error
Yunqing Wang [Tue, 26 Jan 2016 18:10:07 +0000 (10:10 -0800)]
Fix a clang/win build error

Made the definition of THREAD_FUNCTION consistent.

Change-Id: I1ac099484e201e359298ed16de0b81ec781075ce

8 years agoMerge "vp9: Be more responsive to massive overshoot."
Alex Converse [Tue, 26 Jan 2016 17:59:59 +0000 (17:59 +0000)]
Merge "vp9: Be more responsive to massive overshoot."

8 years agoReintroduce VAR_TX fix
Geza Lore [Tue, 26 Jan 2016 15:27:43 +0000 (15:27 +0000)]
Reintroduce VAR_TX fix

Reintroduce part of
Iaf2b717e6b8626b2b6a03226127221b776b49884
Which was later reverted in
I4c5b40ec63a6f19521191d3c730af87db3c4bc00

Change-Id: If3e5610ba3985ae7b4d952d8e616982465ac667a

8 years agoAlways recode SUPERTX blocks.
Geza Lore [Tue, 26 Jan 2016 14:40:32 +0000 (14:40 +0000)]
Always recode SUPERTX blocks.

There is still an assertion failure when tokenizing transform
coefficients for a supertx block, due to the eob not being set
consistently with the coefficients, so we always recode supertx blocks
for now. Also added further PICK_MODE_CONTEXT instances to avoid
potential clash between horizontal/vertical/split partition SUPERTX
trials.

Change-Id: I5f3da1fa0d8d20fc21face170487e1a285fd1cc6

8 years agoMerge "Update VAR_TX related context when using SUPERTX." into nextgenv2
Geza Lore [Tue, 26 Jan 2016 15:20:32 +0000 (15:20 +0000)]
Merge "Update VAR_TX related context when using SUPERTX." into nextgenv2

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Tue, 26 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoUpdate VAR_TX related context when using SUPERTX.
Geza Lore [Tue, 19 Jan 2016 18:15:40 +0000 (18:15 +0000)]
Update VAR_TX related context when using SUPERTX.

The encoder did not update left_txfm_context and above_txfm_context in
MACROBLOCKD (used for choosing the probability context for the vartx
split bits) when the supertx bit was set for a block. The deoder on the
other hand did update these for supertx blocks. The encoder used these
to compute the context counts, which the packer then uses to adapt it's
probabilities. This results in the packer and the decoder using
different probabilities.

This patch harmonizes the encoder and the decoder by making the encoder
update the mentioned context for supertx coded blocks.

Change-Id: I3a22132124b1bce2ee501d640ceab374b19e3ca1

8 years agoInitalize mbmi->tx_size during rdopt.
Geza Lore [Mon, 25 Jan 2016 15:46:59 +0000 (15:46 +0000)]
Initalize mbmi->tx_size during rdopt.

This is necessary when using SUPERTX, as the bitstream packer relies on
tx_size being set correctly to decide whether to output the block using
supertx or not.

Change-Id: I79e776b3b810f4a15b9dbc6afdd6fc90c73c8934

8 years agoSet inter_tx_size for supertx coded blocks.
Geza Lore [Thu, 21 Jan 2016 10:46:33 +0000 (10:46 +0000)]
Set inter_tx_size for supertx coded blocks.

The loop filter relies on inter_tx_size in MB_MODE_INFO being set
properly when VAR_TX is enabled. Supertx coded blocks did not set this
previously at all, and the differing garbage values eventually resulted
in in a YUV mismatch between encoder and decoder after loop filtering.

This patch fixes this by setting inter_tx_size to the proper supertx
size in both the encoder and the decoder. This should also mean that
loop filtering is done at the proper transform boundaries, even when
supertx or vartx is being used.

Change-Id: I41a564cd6d34ce4a8313ad4efa89d905f5ead731

8 years agoA minor assert fix for supertx
Debargha Mukherjee [Tue, 26 Jan 2016 01:13:26 +0000 (17:13 -0800)]
A minor assert fix for supertx

Change-Id: I532fff64ccaa1f38240ba7ca5ce2f7e1eb531771

8 years agoMerge "Some supertx fixes" into nextgenv2
Debargha Mukherjee [Mon, 25 Jan 2016 22:21:53 +0000 (22:21 +0000)]
Merge "Some supertx fixes" into nextgenv2

8 years agoMerge "Code clean of sad4xNx4D_sse"
James Zern [Mon, 25 Jan 2016 20:57:15 +0000 (20:57 +0000)]
Merge "Code clean of sad4xNx4D_sse"

8 years agovp9: Be more responsive to massive overshoot.
Alex Converse [Mon, 25 Jan 2016 20:03:50 +0000 (12:03 -0800)]
vp9: Be more responsive to massive overshoot.

Limit oscilation detection in the case where overshoot is very very
large.

This keeps the 9-bit cost patch from breaking the DownUp reisze test.
The patch pushed us to an 11% undershoot right before a scene cut
causing a 1200% overshoot. (Whereas before we were undershooting by
only 6% before overshooting by 1200%).

Change-Id: Id90ccfab8aba872ccadc45b73b3bb097b895677f

8 years agoSome supertx fixes
Debargha Mukherjee [Fri, 22 Jan 2016 22:52:38 +0000 (14:52 -0800)]
Some supertx fixes

Fixes some of the issues introduced by a merge from master.

derflr: -0.893% BDRATE
hevcmr: -1.667% BDRATE

Change-Id: I4c5b40ec63a6f19521191d3c730af87db3c4bc00

8 years agoCleaned a code in define_gf_group() for firstpass
Zoe Liu [Sat, 23 Jan 2016 01:13:03 +0000 (17:13 -0800)]
Cleaned a code in define_gf_group() for firstpass

Change-Id: I0b8eff9e74e3446024482d011ec4fb28b19136d3

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sun, 24 Jan 2016 13:00:05 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Short circuit flat blocks when coding screen content at realtime speed."
Alex Converse [Sat, 23 Jan 2016 02:04:37 +0000 (02:04 +0000)]
Merge "Short circuit flat blocks when coding screen content at realtime speed."

8 years agoMerge "VP9: Do not set up/left available in vp9_first_pass()"
Scott LaVarnway [Fri, 22 Jan 2016 21:53:26 +0000 (21:53 +0000)]
Merge "VP9: Do not set up/left available in vp9_first_pass()"

8 years agoAdding new compound modes to EXT_INTER experiment
Yue Chen [Wed, 20 Jan 2016 00:45:45 +0000 (16:45 -0800)]
Adding new compound modes to EXT_INTER experiment

Combinations of different mv modes for two reference frames
are allowed in compound inter modes. 9 options are enabled,
including NEAREST_NEARESTMV, NEAREST_NEARMV, NEAR_NEARESTMV,
NEAREST_NEWMV, NEW_NEARESTMV, NEAR_NEWMV, NEW_NEARMV, ZERO_ZEROMV,
and NEW_NEWMV.
This experiment is mostly deported from the nextgen branch.
It is made compatible with other experiments

Coding gain of EXT_INTER(derflr/hevcmr/hevchd): 0.533%/0.728%/0.639%

Change-Id: Id47e97284e6481b186870afbad33204b7a33dbb0

8 years agoShort circuit flat blocks when coding screen content at realtime speed.
Alex Converse [Wed, 20 Jan 2016 22:28:09 +0000 (14:28 -0800)]
Short circuit flat blocks when coding screen content at realtime speed.

In inter mode search skip all modes except NEARESTMV and DC_PRED.

10% less encode latency for large frames using the chromium remoting_perftests.

+0.313% BDRATE on the screencast set at speed -6.

Change-Id: Ib97a39dd8bcdeab545509e0e02d78ce7033f8c63

8 years agoVP9: Do not set up/left available in vp9_first_pass()
Scott LaVarnway [Fri, 22 Jan 2016 17:22:53 +0000 (09:22 -0800)]
VP9: Do not set up/left available in vp9_first_pass()

These values are set in set_mi_row_col()

Change-Id: Ie44c9d2dcb79797a8473b5fc29394277a7117547

8 years agoFix a minor typo
Yaowu Xu [Fri, 22 Jan 2016 18:57:16 +0000 (10:57 -0800)]
Fix a minor typo

a wrong variable.

Change-Id: I9fa02621dbdc508a12ba1ef9c8f98dbeab68e958

8 years agoFix a merge mistake
Yaowu Xu [Fri, 22 Jan 2016 18:48:10 +0000 (10:48 -0800)]
Fix a merge mistake

Change-Id: I0769ca1abd42521a24078dc9ba7093ccb5e362ee

8 years agoMerge "A fix for a missing tx_type" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 18:36:46 +0000 (18:36 +0000)]
Merge "A fix for a missing tx_type" into nextgenv2

8 years agoMerge "Properly set segmentation for error-resilient mode"
Yaowu Xu [Fri, 22 Jan 2016 16:52:41 +0000 (16:52 +0000)]
Merge "Properly set segmentation for error-resilient mode"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Fri, 22 Jan 2016 16:45:37 +0000 (08:45 -0800)]
Merge branch 'master' into nextgenv2

Change-Id: I0a82fa1cbe4ee7c7831d2d174f140a40d09a06c5

8 years agoA fix for a missing tx_type
Debargha Mukherjee [Fri, 22 Jan 2016 11:29:39 +0000 (03:29 -0800)]
A fix for a missing tx_type

Change-Id: I165cd06256175edb7739020379ba3098251f4a7c

8 years agoMerge "Fixes for var_tx when ext_tx is not enabled" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 06:09:36 +0000 (06:09 +0000)]
Merge "Fixes for var_tx when ext_tx is not enabled" into nextgenv2

8 years agoMerge "Some fixes on tx size/type selection" into nextgenv2
Debargha Mukherjee [Fri, 22 Jan 2016 04:02:11 +0000 (04:02 +0000)]
Merge "Some fixes on tx size/type selection" into nextgenv2

8 years agoMerge "Relocate supertx prob update" into nextgenv2
Yue Chen [Fri, 22 Jan 2016 03:45:38 +0000 (03:45 +0000)]
Merge "Relocate supertx prob update" into nextgenv2

8 years agoFixes for var_tx when ext_tx is not enabled
Julia Robson [Thu, 21 Jan 2016 17:14:29 +0000 (17:14 +0000)]
Fixes for var_tx when ext_tx is not enabled

This patch fixes a couple of issues caused by change-id:
I15d20ce5292b70f0c2b4ba55c1f1318181481596
Changes to the code for when the ext_tx experiment is not enabled
were merged from master but as var_tx does not exist on master
the changes had not been applied to the case when var_tx experiment
is enabled

Change-Id: Iaf2b717e6b8626b2b6a03226127221b776b49884

8 years agoSome fixes on tx size/type selection
Debargha Mukherjee [Wed, 6 Jan 2016 22:36:13 +0000 (14:36 -0800)]
Some fixes on tx size/type selection

For ext_tx experiment.

Change-Id: Ie37b9b456b09bde8b606fb978fee4cca8d0326b7

8 years agoBuild fix for vp9
Debargha Mukherjee [Fri, 22 Jan 2016 01:41:36 +0000 (17:41 -0800)]
Build fix for vp9

Change-Id: I1b93ea826487f9033de70fc4563ade410fe07d74

8 years agoRelocate supertx prob update
Yue Chen [Fri, 22 Jan 2016 01:08:52 +0000 (17:08 -0800)]
Relocate supertx prob update

Move it from vp10_adapt_intra_frame_probs() to
vp10_adapt_inter_frame_probs() because intra frames do not use
supertx.

Change-Id: I28c7391944848666054d4b990ac17a8ae08aaaee

8 years agoMerge "vp9 pickmode: Fix the shift on negative value."
Marco Paniconi [Fri, 22 Jan 2016 00:09:27 +0000 (00:09 +0000)]
Merge "vp9 pickmode: Fix the shift on negative value."

8 years agovp9 pickmode: Fix the shift on negative value.
Marco [Thu, 21 Jan 2016 23:13:10 +0000 (15:13 -0800)]
vp9 pickmode: Fix the shift on negative value.

Error only affected svc 1 pass mode, introduced in:
https://chromium-review.googlesource.com/#/c/319609/

Change-Id: Ifc078c82d38b742966a81baaf5ad532f7dbc13a4

8 years agoMerge "Remove the vestigal skip_eob feature from tokenization."
Alex Converse [Thu, 21 Jan 2016 23:11:14 +0000 (23:11 +0000)]
Merge "Remove the vestigal skip_eob feature from tokenization."

8 years agoMerge "vp9_aq_cyclicrefresh: fix double->float warning"
James Zern [Thu, 21 Jan 2016 23:08:02 +0000 (23:08 +0000)]
Merge "vp9_aq_cyclicrefresh: fix double->float warning"

8 years agovp9_aq_cyclicrefresh: fix double->float warning
James Zern [Thu, 21 Jan 2016 22:07:33 +0000 (14:07 -0800)]
vp9_aq_cyclicrefresh: fix double->float warning

Change-Id: I39d3a150de9a77967a4e25ca89d2eda51fd18d47

8 years agoMerge "Fix a typo in ctrl_set_render_size()"
Yaowu Xu [Thu, 21 Jan 2016 20:06:29 +0000 (20:06 +0000)]
Merge "Fix a typo in ctrl_set_render_size()"

8 years agoFix a typo in ctrl_set_render_size()
Yaowu Xu [Thu, 21 Jan 2016 19:19:08 +0000 (11:19 -0800)]
Fix a typo in ctrl_set_render_size()

Change-Id: I6a7fa6d0ae8ce8de7b426189d5eb00413f21bc17

8 years agoMerge "Tie the bit cost scale to a define."
Alex Converse [Thu, 21 Jan 2016 19:17:56 +0000 (19:17 +0000)]
Merge "Tie the bit cost scale to a define."

8 years agoMerge "Loop restoration filter" into nextgenv2
Debargha Mukherjee [Thu, 21 Jan 2016 17:43:39 +0000 (17:43 +0000)]
Merge "Loop restoration filter" into nextgenv2

8 years agoMerge "Making the forward transform consistent with high bit depth" into nextgenv2
Debargha Mukherjee [Thu, 21 Jan 2016 15:22:48 +0000 (15:22 +0000)]
Merge "Making the forward transform consistent with high bit depth" into nextgenv2

8 years agovp9-aqmode=3: Reduce condition below which we turn off delta-qp.
Marco [Thu, 21 Jan 2016 01:44:02 +0000 (17:44 -0800)]
vp9-aqmode=3: Reduce condition below which we turn off delta-qp.

Add TODO to consider turning-off more smoothly.

Change-Id: Id6dd4c5c515f5b09c388af965eb27dbe24924362

8 years agoFix build with --enable-internal-stats
hui su [Thu, 21 Jan 2016 02:02:30 +0000 (18:02 -0800)]
Fix build with --enable-internal-stats

Change-Id: I9649647cc5755c8411ddd56f92e7f96d421c2663

8 years agoLoop restoration filter
Debargha Mukherjee [Tue, 19 Jan 2016 21:01:01 +0000 (13:01 -0800)]
Loop restoration filter

Current implementation is a bilateral filter whose
parameters are transmitted in the bitstream.

derflr: -0.647% BDRATE
hevcmr: -0.794% BDRATE

This is a prelimary patch. Various other variations are to
be investigated next, that will hopefully be less expensive
on the decoder side.

Change-Id: I50634ae8f5014ad0bf7432306348908a349d81e1

8 years agoMerge "vp9-svc: Allow frame-dropping in svc datarate control tests."
Marco Paniconi [Thu, 21 Jan 2016 01:39:53 +0000 (01:39 +0000)]
Merge "vp9-svc: Allow frame-dropping in svc datarate control tests."

8 years agoRemove the vestigal skip_eob feature from tokenization.
Alex Converse [Wed, 20 Jan 2016 22:09:45 +0000 (14:09 -0800)]
Remove the vestigal skip_eob feature from tokenization.

Repack TOKENEXTRA fields.

Speed impact within measurment margin of error.

Change-Id: I9a6d1dde1bb4a0766b02d0cb74c871ddde907cde

8 years agovp9-svc: Allow frame-dropping in svc datarate control tests.
Marco [Wed, 20 Jan 2016 21:51:12 +0000 (13:51 -0800)]
vp9-svc: Allow frame-dropping in svc datarate control tests.

Remove comment(s) and enable frame-dropper for tests.
Frame dropper for 1 pass svc was fixed a while ago:
https://chromium-review.googlesource.com/#/c/309230/

Change-Id: I5fd3192825b22e562db9210d3dc7b246a1799d8d

8 years agovp8-denoiser: Fix threshold for skin map.
Marco [Wed, 20 Jan 2016 21:46:39 +0000 (13:46 -0800)]
vp8-denoiser: Fix threshold for skin map.

Make it consistent with the comment/intended behavior,
that is, only denoise if current block is zero_mv.

Change-Id: I3909761e802e80089752a493ab3646dc32698ded

8 years agoMerge "Remove duplicate definitions"
Yaowu Xu [Wed, 20 Jan 2016 18:12:51 +0000 (18:12 +0000)]
Merge "Remove duplicate definitions"

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Wed, 20 Jan 2016 15:47:00 +0000 (07:47 -0800)]
Merge branch 'master' into nextgenv2

Change-Id: I4e5dd38caa9608252235265c7f2342b183f99815

8 years agoRemove duplicate definitions
Yaowu Xu [Wed, 20 Jan 2016 16:56:41 +0000 (08:56 -0800)]
Remove duplicate definitions

This fixes the build errors with msvc.

Change-Id: Ie2716e4c15a1bacfb00a8d41ec3283d718af88fc

8 years agoVidyo patch: Changes to the scalability code.
Marco [Fri, 15 Jan 2016 17:35:41 +0000 (09:35 -0800)]
Vidyo patch: Changes to the scalability code.

Changes to mode selection for 1 pass SVC mode:
use base layer motion vector, changes to intra-prediction.

Change-Id: I3e883aa04db521cfa026a0b12c9478ea35a344c9

8 years agoMerge "VP9: Eliminate MB_MODE_INFO"
Scott LaVarnway [Wed, 20 Jan 2016 12:19:27 +0000 (12:19 +0000)]
Merge "VP9: Eliminate MB_MODE_INFO"

8 years agoMaking the forward transform consistent with high bit depth
Julia Robson [Wed, 20 Jan 2016 12:03:16 +0000 (12:03 +0000)]
Making the forward transform consistent with high bit depth

This patch changes the code for 16bit buffers to use the same
optimisation as is used for 8bit buffers. (See change-Id:
I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1 for more information
about the optimisation)

Change-Id: I5f327a13a7b01fc356114a2aa9d1261bf76d8d69

8 years agoMerge "Use input framerate as timebase if none was explicitly specified."
James Zern [Wed, 20 Jan 2016 02:27:29 +0000 (02:27 +0000)]
Merge "Use input framerate as timebase if none was explicitly specified."

8 years agoMerge "Amend and improve VP8 multithreading implementation"
Yunqing Wang [Wed, 20 Jan 2016 01:51:37 +0000 (01:51 +0000)]
Merge "Amend and improve VP8 multithreading implementation"

8 years agoVP9: Eliminate MB_MODE_INFO
Scott LaVarnway [Wed, 20 Jan 2016 00:40:20 +0000 (16:40 -0800)]
VP9: Eliminate MB_MODE_INFO

Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185

8 years agoFix a bug with ext-intra when skip_recode is enabled
hui su [Tue, 19 Jan 2016 22:51:07 +0000 (14:51 -0800)]
Fix a bug with ext-intra when skip_recode is enabled

Change-Id: I906945d61254149b315a6de81ac6373ed31791e6

8 years agoMerge "Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens"
Alex Converse [Tue, 19 Jan 2016 20:04:28 +0000 (20:04 +0000)]
Merge "Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens"

8 years agoMerge "Adding experimental tags for new experiments" into nextgenv2
Debargha Mukherjee [Tue, 19 Jan 2016 16:58:21 +0000 (16:58 +0000)]
Merge "Adding experimental tags for new experiments" into nextgenv2

8 years agoUse input framerate as timebase if none was explicitly specified.
Ronald S. Bultje [Mon, 18 Jan 2016 19:03:45 +0000 (14:03 -0500)]
Use input framerate as timebase if none was explicitly specified.

After patch:
$ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30
$ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7f8913c21e40] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271

Before patch:
$ vpxenc tennis_sif.y4m --end-usage=q -q 20 -o x.ivf --ivf --codec=vp9 --limit=30
$ ffmpeg -i x.ivf -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7fbdaac22780] PSNR y:27.427366 u:41.505376 v:36.853477 average:28.990890 min:22.219454 max:52.509271
$ ffmpeg -i x.ivf -f rawvideo x.yuv
$ ffmpeg -f rawvideo -vcodec rawvideo -video_size 352x240 -framerate 29.97 -i x.yuv -i tennis_sif.y4m -lavfi psnr -f null -
[..]
[Parsed_psnr_0 @ 0x7fadf9e013a0] PSNR y:43.270594 u:46.300362 v:47.011172 average:44.097994 min:43.460704 max:52.509271

Change-Id: Ifac2d6c2ff8379b2d318fe5cfe4be0bf1bc9f27f

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Sat, 16 Jan 2016 13:00:06 +0000 (05:00 -0800)]
Merge branch 'master' into nextgenv2

8 years agoTie the bit cost scale to a define.
Alex Converse [Fri, 15 Jan 2016 22:32:52 +0000 (14:32 -0800)]
Tie the bit cost scale to a define.

This is a pure-refactor in preparation to potentially raise the bit-cost
resolution.

Verified at good speed 0 and rt speed -6.

Change-Id: I5347e6e8c28a9ad9dd0aae1d76a3d0f3c2335bb9

8 years agovp9-denoiser: Set motion threshold for skin_map to 0.
Marco [Fri, 15 Jan 2016 23:02:09 +0000 (15:02 -0800)]
vp9-denoiser: Set motion threshold for skin_map to 0.

More aggresive on avoiding denoising on skin.
May supplement this later by adding condtion onn consec_zeromv.

Change-Id: Ied92b332f9b24e821d2009f81d1565758588d9a5

8 years agoEXT_INTER experiment
Yue Chen [Thu, 7 Jan 2016 23:13:52 +0000 (15:13 -0800)]
EXT_INTER experiment

NEW2MV is enabled, representing a new motion vector predicted from
NEARMV. It is mostly ported from nextgen, where it was named
NEW_INTER.
A few fixes are done for sub8x8 RDO to correct some misused
mv references in the original patch.
A 'bug-fix' for encoding complexity is done, reducing the additional
encoding time from 50% to 20%. In sub8x8 case, the old patch
did motion search for every interpolation filter (vp9 only
searches once). This fix also slightly improves the coding gain.
This experiment has been made compatible with REF_MV and EXT_REFS.

Coding gain (derflr/hevcmr/hevchd): 0.267%/0.542%/0.257%

Change-Id: I9a94c5f292e7454492a877f65072e8aedba087d4

8 years agoDeduplicate sign cost for ONE/TWO/THREE/FOUR tokens
Alex Converse [Fri, 15 Jan 2016 21:55:29 +0000 (13:55 -0800)]
Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens

Change-Id: I9c383d604dfd240e38b198ac5bf86ddd3456f442

8 years agoAdding experimental tags for new experiments
Debargha Mukherjee [Fri, 15 Jan 2016 20:55:03 +0000 (12:55 -0800)]
Adding experimental tags for new experiments

ext-partition: to hold partition extensions (ex. ext-partition,
ext-coding-unit-size from nextgen)
loop-restore: to hold in-loop restoration filter (ex. loop-postfilter
from nextgen and other Wiener restoration filters)

Change-Id: I71c7f1588f05fb0f2b00f7004a78e90c9cceae3f

8 years agoFixing some compile issues
Debargha Mukherjee [Fri, 15 Jan 2016 19:02:30 +0000 (11:02 -0800)]
Fixing some compile issues

Fixes a breakage introduced with the latest merge from master and
cleans up a couple of compiler warnings.

Change-Id: Ia55b39ba78e43f6fe52c54d7f34faa4dd6bbbf26

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Thu, 14 Jan 2016 21:57:27 +0000 (13:57 -0800)]
Merge branch 'master' into nextgenv2

8 years agoMerge "Adding an aq mode for 360 videos"
Debargha Mukherjee [Thu, 14 Jan 2016 16:13:56 +0000 (16:13 +0000)]
Merge "Adding an aq mode for 360 videos"

8 years agoMerge "VP9: inline vp9_use_mv_hp()"
Scott LaVarnway [Thu, 14 Jan 2016 13:36:40 +0000 (13:36 +0000)]
Merge "VP9: inline vp9_use_mv_hp()"

8 years agoMerge "VP9: Remove decoder args from find_mv_refs_idx()"
Scott LaVarnway [Thu, 14 Jan 2016 13:30:30 +0000 (13:30 +0000)]
Merge "VP9: Remove decoder args from find_mv_refs_idx()"

8 years agoMerge changes I6998e15f,I88891d9f
James Zern [Thu, 14 Jan 2016 04:13:24 +0000 (04:13 +0000)]
Merge changes I6998e15f,I88891d9f

* changes:
  Remove unused POSIX_MMAP references
  Remove unused stdint.h check

8 years agoMerge "Handle single ref mv pair in the candidate list for compound mode" into nextgenv2
Jingning Han [Thu, 14 Jan 2016 02:55:36 +0000 (02:55 +0000)]
Merge "Handle single ref mv pair in the candidate list for compound mode" into nextgenv2

8 years agoProperly set segmentation for error-resilient mode
Yaowu Xu [Thu, 14 Jan 2016 01:27:17 +0000 (17:27 -0800)]
Properly set segmentation for error-resilient mode

Change-Id: I0c85b637e51dc949a4e919f10a78870f23c2ca6a

8 years agoMerge "Merge branch 'master' into nextgenv2" into nextgenv2
Yaowu Xu [Thu, 14 Jan 2016 00:26:45 +0000 (00:26 +0000)]
Merge "Merge branch 'master' into nextgenv2" into nextgenv2

8 years agoHandle single ref mv pair in the candidate list for compound mode
Jingning Han [Wed, 13 Jan 2016 17:03:15 +0000 (09:03 -0800)]
Handle single ref mv pair in the candidate list for compound mode

This commit considers the case where a single reference motion
vector pair is found in the candidate list. It treats this pair
as the effective motion vector for nearestmv mode. This improves
the coding performance by 0.06% for stdhd sets.

Change-Id: I9ce12f456b52912933e05c18c3841a78c26155d2

8 years agoAdding an aq mode for 360 videos
Debargha Mukherjee [Wed, 16 Dec 2015 23:34:07 +0000 (15:34 -0800)]
Adding an aq mode for 360 videos

Different quality levels are used for different regions in
the frame depending on how far they are vertically from the
center. Specifically, three segments are used based on the
mi_row index with respect number to the number of mi_rows in
the frame.

Change-Id: Ifc8b777bc58ea8521dffc4640360c67d99f8d381

8 years agoMerge "Revert "Merge "Change highbd variance rounding to prevent negative variance."""
Alex Converse [Wed, 13 Jan 2016 21:51:23 +0000 (21:51 +0000)]
Merge "Revert "Merge "Change highbd variance rounding to prevent negative variance."""

8 years agoVP9: Remove decoder args from find_mv_refs_idx()
Scott LaVarnway [Wed, 13 Jan 2016 21:30:40 +0000 (13:30 -0800)]
VP9: Remove decoder args from find_mv_refs_idx()

The decoder does not use this function.

Change-Id: Ie67f909c0f4108ef286789c70df867d4b960a780

8 years agoMerge branch 'master' into nextgenv2
Yaowu Xu [Mon, 11 Jan 2016 18:27:35 +0000 (10:27 -0800)]
Merge branch 'master' into nextgenv2

Manually resovled the following conflicts:
vp10/common/blockd.h
vp10/common/entropy.h
vp10/common/entropymode.c
vp10/common/entropymode.h
vp10/common/enums.h
vp10/common/thread_common.c
vp10/decoder/decodeframe.c
vp10/decoder/decodemv.c
vp10/encoder/bitstream.c
vp10/encoder/encodeframe.c
vp10/encoder/rd.c
vp10/encoder/rdopt.c

Change-Id: I15d20ce5292b70f0c2b4ba55c1f1318181481596

8 years agoMerge "Fix encoder crashes and enc/dec mismatches"
Yaowu Xu [Wed, 13 Jan 2016 21:07:53 +0000 (21:07 +0000)]
Merge "Fix encoder crashes and enc/dec mismatches"

8 years agoMerge "Use specific PICK_MODE_CONTEXT for supertx." into nextgenv2
Debargha Mukherjee [Wed, 13 Jan 2016 19:41:39 +0000 (19:41 +0000)]
Merge "Use specific PICK_MODE_CONTEXT for supertx." into nextgenv2

8 years agoMerge "Generate compound reference motion vector" into nextgenv2
Jingning Han [Wed, 13 Jan 2016 19:37:38 +0000 (19:37 +0000)]
Merge "Generate compound reference motion vector" into nextgenv2

8 years agoMerge "Refactor ref mv stack system" into nextgenv2
Jingning Han [Wed, 13 Jan 2016 19:36:16 +0000 (19:36 +0000)]
Merge "Refactor ref mv stack system" into nextgenv2

8 years agoRevert "Merge "Change highbd variance rounding to prevent negative variance.""
Alex Converse [Wed, 13 Jan 2016 19:18:19 +0000 (11:18 -0800)]
Revert "Merge "Change highbd variance rounding to prevent negative variance.""

This reverts commit ea48370a500537906d62544ca4ed75301d79e772, reversing
changes made to 15939cb2d76c773950cda40988ede89e111872ea.

The commit was insufficiently tested and causes failures.

Change-Id: I623d6fc2cd3ae6fd42d0abab1f8eada465ae57a7

8 years agoFix encoder crashes and enc/dec mismatches
Yaowu Xu [Tue, 12 Jan 2016 17:47:07 +0000 (09:47 -0800)]
Fix encoder crashes and enc/dec mismatches

This commit adds the logic for segmentation map initialization and
disable temporal update of segmentation map when error-resilient
mode is on. It fixes the enc/dec mistmates (release build) and
assertions(debug) when both aq-mode and error-resilient are on.

Change-Id: Id2155e8b28962cf1f64494f4df0c8d79499b6890

8 years agoVP9: inline vp9_use_mv_hp()
Scott LaVarnway [Wed, 13 Jan 2016 16:02:05 +0000 (08:02 -0800)]
VP9: inline vp9_use_mv_hp()

Change-Id: Ib275bfc4c29c572d6c70e5ec6dbfc241590d3e3e

8 years agoMerge "Change highbd variance rounding to prevent negative variance."
Alex Converse [Wed, 13 Jan 2016 00:25:54 +0000 (00:25 +0000)]
Merge "Change highbd variance rounding to prevent negative variance."

8 years agoGenerate compound reference motion vector
Jingning Han [Tue, 12 Jan 2016 23:06:59 +0000 (15:06 -0800)]
Generate compound reference motion vector

This commit allows the codec to add motion vector pairs into
the candidate list. It further improves the compression performance
by 0.1% across derf, hevcmr, stdhd, and hevchr sets without adding
encode/decode time.

Change-Id: I88d36da25a2a89bb506d411844af667081eba98b

8 years agoCompress the final ANS state.
Alex Converse [Tue, 12 Jan 2016 00:16:19 +0000 (16:16 -0800)]
Compress the final ANS state.

The '110' prefix on a final byte indicates a superframe marker. Coded
data is not allowed to use this pattern on a final byte.

Code |state - l_base| little endian with the following prefix scheme:
Prefix '00': Single byte coded state.
Prefix '01': Two bytes le coded state.
Prefix '10': Three bytes le coded state.

Change-Id: Ibc953b67675b567394b93de39b7cb22cadc47435

8 years agoMerge "Code DCT tokens with ANS" into nextgenv2
Alex Converse [Tue, 12 Jan 2016 23:08:36 +0000 (23:08 +0000)]
Merge "Code DCT tokens with ANS" into nextgenv2