platform/upstream/libvpx.git
11 years agoMerge "border mvref issue" into experimental
Ronald S. Bultje [Mon, 10 Jun 2013 16:22:49 +0000 (09:22 -0700)]
Merge "border mvref issue" into experimental

11 years agoborder mvref issue
Jim Bankoski [Mon, 10 Jun 2013 16:21:11 +0000 (09:21 -0700)]
border mvref issue

Fixes mvref issue.

Change-Id: I07dc1b0682845bc18fe0efa6af5e4f4da3abfa3a

11 years agoMerge "Loopfilter: bug fix in sb_type usage" into experimental
Yaowu Xu [Mon, 10 Jun 2013 15:56:38 +0000 (08:56 -0700)]
Merge "Loopfilter: bug fix in sb_type usage" into experimental

11 years agoLoopfilter: bug fix in sb_type usage
Janne Salonen [Mon, 10 Jun 2013 06:21:12 +0000 (09:21 +0300)]
Loopfilter: bug fix in sb_type usage

Was always using sb_type of first column in a row of 8x8 units when
determining decoded block edges as a subcondition for loop filter
skipping.

Change-Id: Ib17554633a63a90b70cdaa7bed65db035a8ad9d8

11 years agoMerge "Loopfilter: Always filter intra edges" into experimental
Yaowu Xu [Mon, 10 Jun 2013 04:18:00 +0000 (21:18 -0700)]
Merge "Loopfilter: Always filter intra edges" into experimental

11 years agoMerge "Loopfilter: use the current block only for skip" into experimental
Yaowu Xu [Mon, 10 Jun 2013 04:17:54 +0000 (21:17 -0700)]
Merge "Loopfilter: use the current block only for skip" into experimental

11 years agoMerge "Modified loop filter edge skipping" into experimental
Yaowu Xu [Mon, 10 Jun 2013 04:17:47 +0000 (21:17 -0700)]
Merge "Modified loop filter edge skipping" into experimental

11 years agoLoopfilter: Always filter intra edges
John Koleszar [Sun, 9 Jun 2013 16:02:47 +0000 (09:02 -0700)]
Loopfilter: Always filter intra edges

Change-Id: Ifb1ce2bd52147981ca1aec9ec6cfea8738a23e45

11 years agoMerge "New comp_inter defaults." into experimental
Ronald S. Bultje [Sun, 9 Jun 2013 13:40:02 +0000 (06:40 -0700)]
Merge "New comp_inter defaults." into experimental

11 years agoMerge "Fix firstpass if framesize is not a multiple of 16." into experimental
Ronald S. Bultje [Sun, 9 Jun 2013 00:40:17 +0000 (17:40 -0700)]
Merge "Fix firstpass if framesize is not a multiple of 16." into experimental

11 years agoMerge "New default tables" into experimental
Ronald S. Bultje [Sun, 9 Jun 2013 00:39:50 +0000 (17:39 -0700)]
Merge "New default tables" into experimental

11 years agoMerge "Align frame size to 8 instead of 16." into experimental
Ronald S. Bultje [Sun, 9 Jun 2013 00:39:41 +0000 (17:39 -0700)]
Merge "Align frame size to 8 instead of 16." into experimental

11 years agoNew comp_inter defaults.
Ronald S. Bultje [Sat, 8 Jun 2013 22:13:57 +0000 (15:13 -0700)]
New comp_inter defaults.

It seems like I inverted the meaning of the contexts by accident?

Change-Id: Iafb2346d9933930949578342b84519b719dd5dd3

11 years agoFix firstpass if framesize is not a multiple of 16.
Ronald S. Bultje [Sat, 8 Jun 2013 19:04:12 +0000 (12:04 -0700)]
Fix firstpass if framesize is not a multiple of 16.

Change-Id: Iec41736c2b6140715f90f40de5ae6cf52497a9b8

11 years agoMerge "Fix the rd loop over partition types" into experimental
Yaowu Xu [Sat, 8 Jun 2013 20:30:27 +0000 (13:30 -0700)]
Merge "Fix the rd loop over partition types" into experimental

11 years agoNew default tables
Ronald S. Bultje [Fri, 7 Jun 2013 22:27:47 +0000 (15:27 -0700)]
New default tables

Change-Id: Ice8c73a2a843113877b8f8ed78737a1442c25ced

11 years agoTX_SIZE contexts simplification.
Deb Mukherjee [Sat, 8 Jun 2013 07:09:44 +0000 (00:09 -0700)]
TX_SIZE contexts simplification.

Reduces TX_SIZE contexts to 2 for each kind. The code is
cleaner and there is hardly any performance difference with
more than two contexts.

Results: almost neutral

Change-Id: I17656bd6db76224ae2856adf882504560e7dbaa4

11 years agoMinor fix in TX_SIZE contexts
Deb Mukherjee [Sat, 8 Jun 2013 14:14:58 +0000 (07:14 -0700)]
Minor fix in TX_SIZE contexts

Change-Id: I9e81f84877e18ba7e55d66389ed60e64a5b7abcc

11 years agoFix the rd loop over partition types
Jingning Han [Sat, 8 Jun 2013 06:33:33 +0000 (23:33 -0700)]
Fix the rd loop over partition types

This commit enables boundary blocks properly tested over allowable
partition types.

Change-Id: I405a9a46ddcfa0c7af2b63e3644cabfa3b6a951d

11 years agoMerge "Fix mv range border in pixels" into experimental
Jingning Han [Sat, 8 Jun 2013 06:20:36 +0000 (23:20 -0700)]
Merge "Fix mv range border in pixels" into experimental

11 years agoMerge "Uncompressed header: new encoding for frame size" into experimental
Dmitry Kovalev [Sat, 8 Jun 2013 01:22:53 +0000 (18:22 -0700)]
Merge "Uncompressed header: new encoding for frame size" into experimental

11 years agoMerge "Handle partition type coding of boundary blocks" into experimental
Yaowu Xu [Sat, 8 Jun 2013 01:16:16 +0000 (18:16 -0700)]
Merge "Handle partition type coding of boundary blocks" into experimental

11 years agoUncompressed header: new encoding for frame size
Dmitry Kovalev [Sat, 8 Jun 2013 01:09:29 +0000 (18:09 -0700)]
Uncompressed header: new encoding for frame size

For key frames everything is the same as before. For inter frames we try
to reference last/golden/altref frame size. If there is no match then the
actual size is encoded. Also we don't allow zero width and height anymore.

Change-Id: I49d791fd94af749c823579b0c5ef17c961372678

11 years agoLoopfilter: use the current block only for skip
John Koleszar [Fri, 7 Jun 2013 18:21:35 +0000 (11:21 -0700)]
Loopfilter: use the current block only for skip

Use the current block's skip flag to determine edge skipping.

Change-Id: I4ba81f899286afbc3f6bb83eba2ef146a01b6fa4

11 years agoAlign frame size to 8 instead of 16.
Ronald S. Bultje [Sat, 8 Jun 2013 00:20:50 +0000 (17:20 -0700)]
Align frame size to 8 instead of 16.

Change-Id: Ic606ef1b31e49963a779455a1e010a9ebb0f3f1f

11 years agoFrame header changes to support intra_only frames
Adrian Grange [Fri, 7 Jun 2013 22:55:15 +0000 (15:55 -0700)]
Frame header changes to support intra_only frames

Made changes to the frame header to write the sync
code in the frame header for a non-displayable,
intra-only frame.

Extended reset_frame_context to 2-bits.

(Submitting on behalf of Dmitri)

Change-Id: Ie836ae0df9ed572fb4f08aabe9351a555c4f3b96

11 years agoCoding tx-size selection by use of spatial context
Deb Mukherjee [Thu, 6 Jun 2013 18:14:04 +0000 (11:14 -0700)]
Coding tx-size selection by use of spatial context

Adds coding of transform size within a frame by use of context
of transform sizes selected in left and above blocks.

Also incorporates code for generating stats.

TODO: generate and incorporate new default stats

Change-Id: I6a7af099f6ad61d448521d9a51167aedaf638ed6

11 years agoCleans up mbskip encoding
Deb Mukherjee [Fri, 7 Jun 2013 20:24:14 +0000 (13:24 -0700)]
Cleans up mbskip encoding

Refactors mbskip coding to be compatible with coding of the rest of
the symbols. Adds forward/backward adaptation and removes a lot of
the legacy code.

Results:
fast50: +1.6%
derfraw300: +0.317%

Change-Id: I395a2976d15af044d3b8ded5acfa45f6f065f980

11 years agoFix mv range border in pixels
Jingning Han [Fri, 7 Jun 2013 22:43:08 +0000 (15:43 -0700)]
Fix mv range border in pixels

WIP: trying to resolve the mismatch issue in extending frame
dimension into multiples of 8.

Change-Id: I24e7638ab3c50e21e6969c1eeed4f607d6f11f65

11 years agoAdd slightly more colorspace variations.
Ronald S. Bultje [Fri, 7 Jun 2013 21:45:49 +0000 (14:45 -0700)]
Add slightly more colorspace variations.

Change-Id: Ib44541fbbdcf71ec881814bd6715ea1c6bd82cf4

11 years agoMerge "Preparation to new frame size encoding." into experimental
Dmitry Kovalev [Fri, 7 Jun 2013 21:42:49 +0000 (14:42 -0700)]
Merge "Preparation to new frame size encoding." into experimental

11 years agoHandle partition type coding of boundary blocks
Jingning Han [Thu, 6 Jun 2013 22:33:57 +0000 (15:33 -0700)]
Handle partition type coding of boundary blocks

The partition types of blocks sitting on the frame boundary are
constrained by the block size and the position of each sub-block
relative to the frame. Hence we use truncated probability models
to handle the coding of such information.

100 frames run:
yt 0.138%

Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d

11 years agoFix ref_frame segment feature when it is intra.
Ronald S. Bultje [Fri, 7 Jun 2013 18:54:20 +0000 (11:54 -0700)]
Fix ref_frame segment feature when it is intra.

Change-Id: Ifbf790c14cee0c08a27f6728e3c637404e1f8477

11 years agoFix segment feature data size.
Ronald S. Bultje [Fri, 7 Jun 2013 18:44:33 +0000 (11:44 -0700)]
Fix segment feature data size.

Change-Id: I4331cfd99a717938f4f970cad81c468cbf287b00

11 years agoFix line that disables the line above it.
Ronald S. Bultje [Fri, 7 Jun 2013 18:43:43 +0000 (11:43 -0700)]
Fix line that disables the line above it.

Change-Id: I19d5cb60a00a001f6e5b3d90ce2db6e49d6209ad

11 years agoFix segment feature data type.
Ronald S. Bultje [Fri, 7 Jun 2013 18:41:00 +0000 (11:41 -0700)]
Fix segment feature data type.

It has a range of -255,255, so should be int16_t, not int8_t.

Change-Id: I5ef4b6aefb6212b0f35f4754f3c4d73fddbc52a0

11 years agoDon't crash if motion vector ref points to out-of-bounds area.
Ronald S. Bultje [Fri, 7 Jun 2013 18:40:42 +0000 (11:40 -0700)]
Don't crash if motion vector ref points to out-of-bounds area.

This can only happen if partition is partly out-of-frame, in which
case the referenced mv is either out-of-frame also (and thus has the
same value as an already-read one), or it is actually uninitialized,
in which case we don't want to use it.

Change-Id: Icf39fa4d987c7abcbebb9bbdcdd6311e8fb9d3c9

11 years agoFix static segmentation feature.
Ronald S. Bultje [Fri, 7 Jun 2013 17:20:03 +0000 (10:20 -0700)]
Fix static segmentation feature.

Change-Id: Ia36f626b9b3c2fe7eb89bb9acddf4701db1baef2

11 years agoChange to segment ref frame feature.
Paul Wilkins [Fri, 7 Jun 2013 13:59:53 +0000 (14:59 +0100)]
Change to segment ref frame feature.

Simplify feature to only support a single reference frame
instead of a mask.

Change-Id: I5dd3a98c7a224aafb35708850ab82e2f220e68fb

11 years agoPreparation to new frame size encoding.
Dmitry Kovalev [Fri, 7 Jun 2013 20:41:44 +0000 (13:41 -0700)]
Preparation to new frame size encoding.

Just an intermediate change set to simplify merges. Reordering several
uncompressed header bits, code restructuring + minor cleanups.

Change-Id: I28272f520762f8c4e3ad230ae39fff5102ba5c0d

11 years agoMerge "Fix mingw build error" into experimental
John Koleszar [Fri, 7 Jun 2013 19:10:22 +0000 (12:10 -0700)]
Merge "Fix mingw build error" into experimental

11 years agoMerge "Add cheap show-buffer operation" into experimental
John Koleszar [Fri, 7 Jun 2013 18:41:08 +0000 (11:41 -0700)]
Merge "Add cheap show-buffer operation" into experimental

11 years agoMerge "Add bits for colorspace, profile" into experimental
John Koleszar [Fri, 7 Jun 2013 18:41:02 +0000 (11:41 -0700)]
Merge "Add bits for colorspace, profile" into experimental

11 years agoMerge "Add marker bit to bool-coded partition start" into experimental
John Koleszar [Fri, 7 Jun 2013 18:40:58 +0000 (11:40 -0700)]
Merge "Add marker bit to bool-coded partition start" into experimental

11 years agoMerge "Remove two un-used entries in mode_lf_delta[]" into experimental
Yaowu Xu [Fri, 7 Jun 2013 17:10:45 +0000 (10:10 -0700)]
Merge "Remove two un-used entries in mode_lf_delta[]" into experimental

11 years agoMerge "Specify mv neighborhood for block larger than 8x8" into experimental
Yaowu Xu [Fri, 7 Jun 2013 17:09:35 +0000 (10:09 -0700)]
Merge "Specify mv neighborhood for block larger than 8x8" into experimental

11 years agoRemove two un-used entries in mode_lf_delta[]
Yaowu Xu [Fri, 7 Jun 2013 05:55:31 +0000 (22:55 -0700)]
Remove two un-used entries in mode_lf_delta[]

With the removal of i4X4 and SPLIT_MV modes, the two entries for the
modes are no longer used. This patch remove the coding of the deltas.

Change-Id: Iea4eb500404ebe9706159380a03b8eca542fb4c3

11 years agoMerge "Coding updates for tx-size selection" into experimental
Deb Mukherjee [Fri, 7 Jun 2013 16:19:36 +0000 (09:19 -0700)]
Merge "Coding updates for tx-size selection" into experimental

11 years agoMerge "Revert "Align frame size to 8 instead of 16."" into experimental
Ronald S. Bultje [Fri, 7 Jun 2013 16:01:33 +0000 (09:01 -0700)]
Merge "Revert "Align frame size to 8 instead of 16."" into experimental

11 years agoSpecify mv neighborhood for block larger than 8x8
Yaowu Xu [Thu, 6 Jun 2013 00:05:19 +0000 (17:05 -0700)]
Specify mv neighborhood for block larger than 8x8

The new neighorbhood adapts to the shape and size of the block type
cif +.16%
stdhd +.13%

Change-Id: I978db58278e9ae3fbd6726ef831bdfc5f5f37d02

11 years agoRevert "Align frame size to 8 instead of 16."
Ronald S. Bultje [Fri, 7 Jun 2013 15:59:27 +0000 (08:59 -0700)]
Revert "Align frame size to 8 instead of 16."

This reverts commit c2574414d432c7d040f3b2b05f23a109a801ea69

Change-Id: Ie9013cb0bb43e639e01b4588f630b1da59295d38

11 years agoCoding updates for tx-size selection
Deb Mukherjee [Thu, 6 Jun 2013 18:14:04 +0000 (11:14 -0700)]
Coding updates for tx-size selection

Changes to the coding of transform sizes, along with forward
and backward probability updates.

Results:
derf300: +0.241%

Context based coding of transform sizes will be in a separate
patch.

Change-Id: I97241d60a926f014fee2de21fa4446ca56495756

11 years agoModified loop filter edge skipping
Janne Salonen [Fri, 7 Jun 2013 11:01:23 +0000 (14:01 +0300)]
Modified loop filter edge skipping

Added condition to not to skip filtering of transform block edges when
the edge is also a decoding block edge.

Change-Id: Iaccb6206c4202b78e5dca3b89379556e0f4aba0c

11 years agoFix bug in segment skip.
Paul Wilkins [Fri, 7 Jun 2013 12:27:08 +0000 (13:27 +0100)]
Fix bug in segment skip.

Wrong max data size (skip has no data) and use of vp9_get_segdata()
when it should be vp9_segfeature_active().

Change-Id: I1eb97d33df6e2a42cc589049f704266fe3639902

11 years agoCompound inter encoder bug fix.
Paul Wilkins [Fri, 7 Jun 2013 11:29:15 +0000 (12:29 +0100)]
Compound inter encoder bug fix.

In the longer term the encoder should allow compound as long
as one of the buffers has opposite sign bias and as per the decoder
this buffer is then set as the fixed reference. However at the moment
the encoder and RD loop only supports the case where the ALTREF_FRAME
buffer (or third of the 3 allowed in any given frame) is the odd one out.

This patch fixes a bug that would allow compound inter and set
fixed ref to ALTREF_FRAME when it is not the odd one out.

Change-Id: Ic83a69486e088a147ba83a4aedc2a0042f6b3721

11 years agoAdd cheap show-buffer operation
John Koleszar [Wed, 3 Oct 2012 19:11:05 +0000 (12:11 -0700)]
Add cheap show-buffer operation

Adds the ability to have the decoder show one of the existing reference
frames directly, without having to code it indirectly as a series of
skip blocks.

Change-Id: Ib6c26c5f6a8709863cf304ab890db8559687d25e

11 years agoAdd bits for colorspace, profile
John Koleszar [Fri, 7 Jun 2013 06:53:56 +0000 (23:53 -0700)]
Add bits for colorspace, profile

Adds 3 bits for colorspace (sent on keyframes), 2 bits for version.

Change-Id: Iaa0cf1dcdd085cebb46e2bc4a7c78cd33cf24325

11 years agoAdd marker bit to bool-coded partition start
John Koleszar [Fri, 7 Jun 2013 01:03:44 +0000 (18:03 -0700)]
Add marker bit to bool-coded partition start

Adds a marker bit to allow distinguishing the frame header from its residual
data.

Change-Id: Id75d47acc9e5a97007e4690c4f8748a4ce63e641

11 years agoMerge "Removed rectangular intra prediction code" into experimental
Yaowu Xu [Fri, 7 Jun 2013 05:58:07 +0000 (22:58 -0700)]
Merge "Removed rectangular intra prediction code" into experimental

11 years agofix a typo
Yaowu Xu [Fri, 7 Jun 2013 05:25:13 +0000 (22:25 -0700)]
fix a typo

Change-Id: I8fd21e3a8435b873c5687d8b273922fc60988295

11 years agoFix a merge conflict
Yaowu Xu [Fri, 7 Jun 2013 05:10:07 +0000 (22:10 -0700)]
Fix a merge conflict

ref_frame in MB_Mode_Info was changed in the ref frame coding patch
to be an array to handle first and second reference frame, this patch
fix the loop filter code that use the pointer directly as reference
frame.

Change-Id: I71afa5a49deb50c1bc38029fd07470b984c6dfe9

11 years agoRemoved rectangular intra prediction code
Yaowu Xu [Tue, 4 Jun 2013 17:59:27 +0000 (10:59 -0700)]
Removed rectangular intra prediction code

As all intra predictions happen on squared transform block now.

Change-Id: I7ec91e3f0ad01383a03d2bd3099bbf32e87e3466

11 years agoMerge "Fix FIXME." into experimental
Jim Bankoski [Fri, 7 Jun 2013 03:50:51 +0000 (20:50 -0700)]
Merge "Fix FIXME." into experimental

11 years agoMerge "Align frame size to 8 instead of 16." into experimental
Jim Bankoski [Fri, 7 Jun 2013 03:49:59 +0000 (20:49 -0700)]
Merge "Align frame size to 8 instead of 16." into experimental

11 years agoMerge "Reimplementation of loop filter" into experimental
John Koleszar [Fri, 7 Jun 2013 00:34:26 +0000 (17:34 -0700)]
Merge "Reimplementation of loop filter" into experimental

11 years agoAlign frame size to 8 instead of 16.
Ronald S. Bultje [Thu, 6 Jun 2013 22:43:06 +0000 (15:43 -0700)]
Align frame size to 8 instead of 16.

Change-Id: Ic22f416a33de558519d5c30a929f6a954546ade9

11 years agoFix FIXME.
Ronald S. Bultje [Thu, 6 Jun 2013 23:18:41 +0000 (16:18 -0700)]
Fix FIXME.

Change-Id: I47a9857d35da1bff6153f8090c6b98b689b31a61

11 years agoChange ref frame coding.
Ronald S. Bultje [Thu, 6 Jun 2013 20:44:34 +0000 (13:44 -0700)]
Change ref frame coding.

Code intra/inter, then comp/single, then the ref frame selection.
Use contextualization for all steps. Don't code two past frames
in comp pred mode.

Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95

11 years agoMerge "fix vp9_wb_write_bit uninitialized variable" into experimental
Jim Bankoski [Fri, 7 Jun 2013 00:13:57 +0000 (17:13 -0700)]
Merge "fix vp9_wb_write_bit uninitialized variable" into experimental

11 years agofix vp9_wb_write_bit uninitialized variable
Jim Bankoski [Thu, 6 Jun 2013 23:48:34 +0000 (16:48 -0700)]
fix vp9_wb_write_bit uninitialized variable

This fixes a valgrind error.

Change-Id: I0e1ef212ba09d65e3d71dd209f0786ae6530d2c8

11 years agoMerge "Moving segmentation and tile info to uncompressed header." into experimental
Dmitry Kovalev [Thu, 6 Jun 2013 22:34:00 +0000 (15:34 -0700)]
Merge "Moving segmentation and tile info to uncompressed header." into experimental

11 years agoMoving segmentation and tile info to uncompressed header.
Dmitry Kovalev [Thu, 6 Jun 2013 19:33:12 +0000 (12:33 -0700)]
Moving segmentation and tile info to uncompressed header.

Change-Id: I0ca77329d882a2026f6c1941b8e447d86bc87bda

11 years agoNew intra mode and partitioning probabilities.
Ronald S. Bultje [Mon, 3 Jun 2013 17:39:40 +0000 (10:39 -0700)]
New intra mode and partitioning probabilities.

Split partition probabilities between keyframes and non-keyframes,
since they are fairly different. Also have per-blocksize interframe
y intramode probabilities, since these vary heavily between different
blocksizes.

Lastly, replace default probabilities for partitioning and intra modes
with new ones generated from current codec. Replace counts with actual
probabilities also.

Change-Id: I77ca996e25e4a28e03bdbc542f27a3e64ca1234f

11 years agoBug fix in rd_pick_inter_mode_sb_
Jingning Han [Thu, 6 Jun 2013 17:02:08 +0000 (10:02 -0700)]
Bug fix in rd_pick_inter_mode_sb_

Fix the calculation of step size in height.

Change-Id: I0e0c0175f141f5a41214ae51cef233d13942d3c5

11 years agoMerge "Rd thresholds change with block size." into experimental
Paul Wilkins [Thu, 6 Jun 2013 16:27:44 +0000 (09:27 -0700)]
Merge "Rd thresholds change with block size." into experimental

11 years agoMerge "Turn off compound inter search refinement for good quality." into experimental
Paul Wilkins [Thu, 6 Jun 2013 16:27:31 +0000 (09:27 -0700)]
Merge "Turn off compound inter search refinement for good quality." into experimental

11 years agosigns reverted
Jim Bankoski [Thu, 6 Jun 2013 15:59:22 +0000 (08:59 -0700)]
signs reverted

Change-Id: Ieface458c83eb6e7ee95595d9fc662f372117c9a

11 years agoReimplementation of loop filter
John Koleszar [Thu, 30 May 2013 16:12:57 +0000 (09:12 -0700)]
Reimplementation of loop filter

This version of the loop filter supports non-4:2:0 subsampling and
a fourth plane, as well as changing the filtering order to be more
friendly to hardware implementations.

The filters are applied first to all vertical edges within the
64x64 SB, followed by the top horizontal edge and any internal
horizontal edges. Since filtering is applied on each 4x4 edge
serially, a dependency is created from filtering one block edge
to the next. It would be possible to remove this depencnecy by
building all filtering decisions from the unfiltered
reconstruction data.

Change-Id: I08f3e9683eb7bded8a76651cbc50fc0dfdd05fa7

11 years agoRd thresholds change with block size.
Paul Wilkins [Mon, 3 Jun 2013 11:51:29 +0000 (12:51 +0100)]
Rd thresholds change with block size.

Added structures to support independent rd thresholds
for different block sizes (and set experimental block
size correction factors).

Added structure to to allow dynamic adaptation of thresholds
per mode and per block size basis depending on how often
the mode/block size combination is seen (currently fixed factor).

Removed some unused variables.

TODO
- Adaptation of thresholds based on how often each mode chosen.
- The baseline mode values could also be adjusted based on
  the block size (e.g. for a particular intra mode use a low threshold
  for 4x4 prediction blocks but a relatively high value for 64x64.

Change-Id: Iddee65ff3324ee309815ae7c1c5a8584720e7568

11 years agoTurn off compound inter search refinement for good quality.
Paul Wilkins [Tue, 4 Jun 2013 14:58:53 +0000 (15:58 +0100)]
Turn off compound inter search refinement for good quality.

Turn this feature off for some modes in  "good" quality.

Change-Id: I3f262d62cca8f01736b977af1465291e8be29f0a

11 years agodon't tokenize & encode tokens for blocks in UMV
Jim Bankoski [Thu, 6 Jun 2013 13:07:09 +0000 (06:07 -0700)]
don't tokenize & encode tokens for blocks in UMV

This avoids encoding tokens for blocks that are entirely
in the UMV border. This changes the bitstream.

Change-Id: I32b4df46ac8a990d0c37cee92fd34f8ddd4fb6c9

11 years agoMerge "Moving bits from compressed header to uncompressed one." into experimental
Dmitry Kovalev [Thu, 6 Jun 2013 08:15:43 +0000 (01:15 -0700)]
Merge "Moving bits from compressed header to uncompressed one." into experimental

11 years agoMerge "Fix in forward updates for INTRA modes/partitions" into experimental
Deb Mukherjee [Thu, 6 Jun 2013 07:07:06 +0000 (00:07 -0700)]
Merge "Fix in forward updates for INTRA modes/partitions" into experimental

11 years agoMerge "Fix UV intra coding rd loop" into experimental
Jingning Han [Thu, 6 Jun 2013 04:47:00 +0000 (21:47 -0700)]
Merge "Fix UV intra coding rd loop" into experimental

11 years agoFix UV intra coding rd loop
Jingning Han [Thu, 6 Jun 2013 04:14:14 +0000 (21:14 -0700)]
Fix UV intra coding rd loop

This commit makes the coding/reconstruction operations of intra
coding rate-distortion loop for UV components consistent with those
of the encoding process.

key frame coding gains:
derf:   0.11%
stdhd:  0.42%

Change-Id: I8d49f83924a320e3689ef2d60096c49d7f0c7a40

11 years agoMoving bits from compressed header to uncompressed one.
Dmitry Kovalev [Thu, 6 Jun 2013 03:56:37 +0000 (20:56 -0700)]
Moving bits from compressed header to uncompressed one.

Bits moved: refresh_frame_flags, active_ref_idx[], ref_frame_sign_bias[],
allow_high_precision_mv, mcomp_filter_type, ref_pred_probs[].

Derf results: +0.040%

Change-Id: I011f43c7eac0371d533b255fd99aee5ed75b85a5

11 years agoFix in forward updates for INTRA modes/partitions
Deb Mukherjee [Wed, 5 Jun 2013 17:42:52 +0000 (10:42 -0700)]
Fix in forward updates for INTRA modes/partitions

Results:
derfraw300: +0.2

Change-Id: Ie40dc3b31e877ee705f936066d7fa5702bd01ecd

11 years agoCosmetic renaming VP9_MVREFS to VP9_INTER_MODES
Deb Mukherjee [Wed, 5 Jun 2013 18:21:44 +0000 (11:21 -0700)]
Cosmetic renaming VP9_MVREFS to VP9_INTER_MODES

NO bitstream change

Change-Id: I79f6146dac5fdd157051b6f8dc611c0b7b5e5f7f

11 years agoClean-ups on switchable interpolation and mv_ref
Deb Mukherjee [Tue, 4 Jun 2013 22:25:16 +0000 (15:25 -0700)]
Clean-ups on switchable interpolation and mv_ref

Adds backward adaptation and differential forward updates of switchable
interpolation filter probabilities. Also adds some cosmetic cleanups
and minor fixes on mv_ref probabilities.

derfraw300: +0.353% (with most coming from switchable interp changes)

Change-Id: Ie2718be73528c945fd0d80cfd63ca2d9cb3032de

11 years agoMerge "Make sb intra rd search consistent with encoding" into experimental
Jingning Han [Tue, 4 Jun 2013 21:59:05 +0000 (14:59 -0700)]
Merge "Make sb intra rd search consistent with encoding" into experimental

11 years agoMake sb intra rd search consistent with encoding
Jingning Han [Mon, 3 Jun 2013 22:33:31 +0000 (15:33 -0700)]
Make sb intra rd search consistent with encoding

This commit makes operations of the superblock intra coding rate
distortion optimization consistent with those used in the encoding
process. Given the test prediction mode and transform size, the rd
optimizer encodes and reconstructs each transformed block of the
superblock consecutively, then computes the total rate-distortion
costs accosicated with the current superblock to select the coding
decisions.

It achieves coding performance gains:
derf 0.353%
yt   1.111%

Change-Id: I0da2eb7a71361dfb8c1384927fc536b0c2790d07

11 years agoFix mingw build error
John Koleszar [Tue, 4 Jun 2013 20:08:54 +0000 (13:08 -0700)]
Fix mingw build error

Fixes an issue where newer versions of GCC would try to compile the
visual studio inline assembly.

Fixes issue #571

Change-Id: I8e4500a9277447fdab0b55e5efa1f24ca97bdc03

11 years agoMerge "Fix a off-by-one bug" into experimental
Yaowu Xu [Mon, 3 Jun 2013 21:56:38 +0000 (14:56 -0700)]
Merge "Fix a off-by-one bug" into experimental

11 years agoMerge "Replacing memcpy with struct assignment." into experimental
Dmitry Kovalev [Mon, 3 Jun 2013 21:32:05 +0000 (14:32 -0700)]
Merge "Replacing memcpy with struct assignment." into experimental

11 years agoMerge "Moving quantization and loopfilter data to uncompressed header." into experimental
Dmitry Kovalev [Mon, 3 Jun 2013 21:29:34 +0000 (14:29 -0700)]
Merge "Moving quantization and loopfilter data to uncompressed header." into experimental

11 years agoFix a off-by-one bug
Yaowu Xu [Fri, 31 May 2013 18:18:23 +0000 (11:18 -0700)]
Fix a off-by-one bug

in the calculation of maximum number of tiles in log2 scale.

Change-Id: Id283d6e51a8b926015fd3fc631cdbfb4b8268d4a

11 years agoMoving quantization and loopfilter data to uncompressed header.
Dmitry Kovalev [Mon, 3 Jun 2013 17:50:57 +0000 (10:50 -0700)]
Moving quantization and loopfilter data to uncompressed header.

Overall PSNR drop on derf set is -0.024.

Change-Id: I1c05d2ace83488205ca16e3b06cd5f0ebceec8d6

11 years agoPut iterative motion search under speed control
Jingning Han [Mon, 3 Jun 2013 16:16:48 +0000 (09:16 -0700)]
Put iterative motion search under speed control

Enable iterative motion search for compound inter-inter prediction
of block sizes 4x4/4x8/8x4 only when best coding quality is selected.
The iterative motion search provides about 0.1% gains for derf and
stdhd at this point, at the expense of longer runtime.

Change-Id: Idc03e7f827e51f1bb8d269bc3752ee297a6bbfe5

11 years agoMerge "Replace scatter scan 32x32 with HW friendly scan." into experimental
Paul Wilkins [Mon, 3 Jun 2013 09:42:37 +0000 (02:42 -0700)]
Merge "Replace scatter scan 32x32 with HW friendly scan." into experimental

11 years agoMerge "vp9_find_mv_refs_idx change for last frame." into experimental
Paul Wilkins [Mon, 3 Jun 2013 09:34:46 +0000 (02:34 -0700)]
Merge "vp9_find_mv_refs_idx change for last frame." into experimental