platform/upstream/libvpx.git
11 years agoMerge "Merge all intra mode coding trees into a single one." into experimental
Ronald S. Bultje [Thu, 30 May 2013 18:27:51 +0000 (11:27 -0700)]
Merge "Merge all intra mode coding trees into a single one." into experimental

11 years agoMerge "Enable iterative motion search for 4x4 inter pred" into experimental
Jingning Han [Thu, 30 May 2013 18:02:10 +0000 (11:02 -0700)]
Merge "Enable iterative motion search for 4x4 inter pred" into experimental

11 years agoMerge "Add intra_only and reset_frame_context flags" into experimental
Adrian Grange [Thu, 30 May 2013 17:56:25 +0000 (10:56 -0700)]
Merge "Add intra_only and reset_frame_context flags" into experimental

11 years agoMerge "Using vp9 function prefix instead of vp8 inside vp9_cx_iface.c." into experimental
Dmitry Kovalev [Thu, 30 May 2013 17:41:55 +0000 (10:41 -0700)]
Merge "Using vp9 function prefix instead of vp8 inside vp9_cx_iface.c." into experimental

11 years agoMerge all intra mode coding trees into a single one.
Ronald S. Bultje [Thu, 30 May 2013 16:58:53 +0000 (09:58 -0700)]
Merge all intra mode coding trees into a single one.

Also merge all counters. This removes a few unused probability updates
from the bitstream.

Change-Id: I20f58853e9dac84d8c0d9703ae012c55917516eb

11 years agoMerge "valgrind - txfm_thresh not set" into experimental
Jim Bankoski [Thu, 30 May 2013 16:34:48 +0000 (09:34 -0700)]
Merge "valgrind - txfm_thresh not set" into experimental

11 years agoMerge "Balancing coef-tree to reduce bool decodes" into experimental
Deb Mukherjee [Thu, 30 May 2013 15:10:47 +0000 (08:10 -0700)]
Merge "Balancing coef-tree to reduce bool decodes" into experimental

11 years agoMerge "fix valgrind warning" into experimental
Jim Bankoski [Thu, 30 May 2013 15:04:49 +0000 (08:04 -0700)]
Merge "fix valgrind warning" into experimental

11 years agoEnable iterative motion search for 4x4 inter pred
Jingning Han [Thu, 30 May 2013 04:59:41 +0000 (21:59 -0700)]
Enable iterative motion search for 4x4 inter pred

This commit enables iterative motion search for 4x4/4x8/8x4 block
size compound inter-inter prediction.

WIP: borg run testing

Change-Id: I2b318db4a03cdca5a8002b3fa6c0fa89b129288b

11 years agosad_test: fix msvc compile
James Zern [Thu, 30 May 2013 00:47:18 +0000 (17:47 -0700)]
sad_test: fix msvc compile

Fixes:
error C2121: '#' : invalid character : possibly the result of a macro expansion

Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d

11 years agoMerge "Remove some unused code related to macroblock/splitmv coding." into experimental
Ronald S. Bultje [Thu, 30 May 2013 00:35:05 +0000 (17:35 -0700)]
Merge "Remove some unused code related to macroblock/splitmv coding." into experimental

11 years agoMerge "Remove unused and outdated debug code." into experimental
Ronald S. Bultje [Thu, 30 May 2013 00:33:32 +0000 (17:33 -0700)]
Merge "Remove unused and outdated debug code." into experimental

11 years agoAdd intra_only and reset_frame_context flags
Adrian Grange [Thu, 30 May 2013 00:16:00 +0000 (17:16 -0700)]
Add intra_only and reset_frame_context flags

Added two flags to the frame header:

intra_only:
Signals that the frame is encoded using only INTRA
coding modes.

reset_frame_context:
Indicates that the coding context specified
in the frame header should be reset to default values before the
frame is encoded/decoded.

Change-Id: I182d46f1f84fb67a13c46ad767f246a38d7861a2

11 years agoMerge "Build fix when ENTROPY_STATS is defined" into experimental
Deb Mukherjee [Thu, 30 May 2013 00:01:43 +0000 (17:01 -0700)]
Merge "Build fix when ENTROPY_STATS is defined" into experimental

11 years agoMerge "Refactor 4x4 block level rd loop" into experimental
Jingning Han [Wed, 29 May 2013 23:35:02 +0000 (16:35 -0700)]
Merge "Refactor 4x4 block level rd loop" into experimental

11 years agoBalancing coef-tree to reduce bool decodes
Deb Mukherjee [Wed, 8 May 2013 17:04:14 +0000 (10:04 -0700)]
Balancing coef-tree to reduce bool decodes

This patch changes the coefficient tree to move the EOB to below
the ZERO node in order to save number of bool decodes.

The advantages of moving EOB one step down as opposed to two steps down
in the other parallel patch are: 1. The coef modeling based on
the One-node becomes independent of the tree structure above it, and
2. Fewer conext/counter increases are needed.

The drawback is that the potential savings in bool decodes will be
less, but assuming that 0s are much more predominant than 1's the
potential savings is still likely to be substantial.

Results on derf300: -0.237%

Change-Id: Ie784be13dc98291306b338e8228703a4c2ea2242

11 years agoMerge "Compressed/uncompressed frame header changes." into experimental
Dmitry Kovalev [Wed, 29 May 2013 22:29:44 +0000 (15:29 -0700)]
Merge "Compressed/uncompressed frame header changes." into experimental

11 years agovalgrind - txfm_thresh not set
Jim Bankoski [Wed, 29 May 2013 20:56:08 +0000 (13:56 -0700)]
valgrind - txfm_thresh not set

For 4x4 blocks valgrind points out the cache was uninitalized.
This resolves the issue by setting it.

Change-Id: I22733000da048643762813a84fbda66d8e4040d2

11 years agoRefactor 4x4 block level rd loop
Jingning Han [Wed, 29 May 2013 19:52:57 +0000 (12:52 -0700)]
Refactor 4x4 block level rd loop

This commit makes clean-ups in the rate-distortion loop for 4x4,
4x8, and 8x4 block sizes for the use of iterative motion search.

Removed unnecessary use of bmi in handle_inter_mode.

Deprecated loop over labels in the 4x4/4x8/8x4 block rd search.

Change-Id: I71203dbb68b65e66f073b37abd90d82ef5ae6826

11 years agofix valgrind warning
Jim Bankoski [Wed, 29 May 2013 19:34:10 +0000 (12:34 -0700)]
fix valgrind warning

scales for second reference frame vars are unitialized if the
second ref frame is one of of those disallowed by refframeflags

Change-Id: I4ce42de391178c1699dcaede18c5f12c84993c61

11 years agoMerge "Refactor rd loop for inter modes" into experimental
Jingning Han [Wed, 29 May 2013 17:55:23 +0000 (10:55 -0700)]
Merge "Refactor rd loop for inter modes" into experimental

11 years agoMerge "further clean-ups on intra4x4 coding" into experimental
Jingning Han [Wed, 29 May 2013 17:55:14 +0000 (10:55 -0700)]
Merge "further clean-ups on intra4x4 coding" into experimental

11 years agoResidual coding to cache energy class of tokens.
Sami Pietila [Thu, 23 May 2013 10:08:00 +0000 (13:08 +0300)]
Residual coding to cache energy class of tokens.

Proposal for tuning the residual coding by changing how the context
from previous tokens is calculated. Storing the energy class of previous
tokens instead of the token itself eases the critical path of
HW implementations.

Change-Id: I6d71d856b84518f6c88de771ddd818436f794bab

11 years agoRemove some unused code related to macroblock/splitmv coding.
Ronald S. Bultje [Wed, 29 May 2013 13:29:56 +0000 (06:29 -0700)]
Remove some unused code related to macroblock/splitmv coding.

Change-Id: Ic40d56fb162f4e201547dfae33e62ccd9e865889

11 years agoRemove unused and outdated debug code.
Ronald S. Bultje [Wed, 29 May 2013 02:15:45 +0000 (19:15 -0700)]
Remove unused and outdated debug code.

Change-Id: I0e789bdeaed60f920f7a470e56a8d4ea374233fc

11 years agoCompressed/uncompressed frame header changes.
Dmitry Kovalev [Wed, 29 May 2013 01:07:54 +0000 (18:07 -0700)]
Compressed/uncompressed frame header changes.

Adding API to read/write uncompressed frame header bits (it is not final
yet). Separate functions to read/write uncompressed header. Moving
clr_type, error_resilient_mode, refresh_frame_context,
frame_parallel_decoding_mode, frame_context_idx from compressed partition
to uncompressed frame header.

Change-Id: Id3ed8a387980c652ae147549412f4ec24a0a5bd0

11 years agoBuild fix when ENTROPY_STATS is defined
Deb Mukherjee [Wed, 29 May 2013 00:07:27 +0000 (17:07 -0700)]
Build fix when ENTROPY_STATS is defined

Fixes a build issue due to removal of VP9_KF_BINTRAMODES macro,
when ENTROPY_STATS is on.

Change-Id: I75c61702bf626376c942ab49ab887714b43284f0

11 years agoMerge "Clean up related to coefficient modeling" into experimental
Deb Mukherjee [Tue, 28 May 2013 23:55:02 +0000 (16:55 -0700)]
Merge "Clean up related to coefficient modeling" into experimental

11 years agoClean up related to coefficient modeling
Deb Mukherjee [Tue, 28 May 2013 23:25:43 +0000 (16:25 -0700)]
Clean up related to coefficient modeling

Uses reduced arrays for probabilities and branch counts in the
encoder. No change in bitstream.

Change-Id: Iec605446f44db4cd325eb45fa12a3003a6ee29db

11 years agoRefactor rd loop for inter modes
Jingning Han [Tue, 28 May 2013 21:02:29 +0000 (14:02 -0700)]
Refactor rd loop for inter modes

This commit pulls the iterative motion search for compound inter-
inter out from handle_inter_mode_ as a separate function. Hence,
it is applicable to 4x4/4x8/8x4 level compound inter search to be
enabled later.

Also edit the rd loop for 4x4 inter block sizes for cosmetic
purpose.

Change-Id: Ibc71a11cbe5a26cd52faba01026cf8446cf4d2b4

11 years agofurther clean-ups on intra4x4 coding
Jingning Han [Fri, 24 May 2013 22:21:01 +0000 (15:21 -0700)]
further clean-ups on intra4x4 coding

Removed one 4x4 prediction step that was unnessary in the rd loop.
Removed a unused modecosts estimate from encoder side.

Change-Id: I65221a52719d6876492996955ef04142d2752d86

11 years agoMerge "Moving txfm_size bits before prediction mode bits." into experimental
Ronald S. Bultje [Tue, 28 May 2013 16:40:42 +0000 (09:40 -0700)]
Merge "Moving txfm_size bits before prediction mode bits." into experimental

11 years agoMerge "Removed setup_pre_planes() call in read_mb_modes_mv()" into experimental
Scott LaVarnway [Tue, 28 May 2013 16:07:51 +0000 (09:07 -0700)]
Merge "Removed setup_pre_planes() call in read_mb_modes_mv()" into experimental

11 years agoMerge "Remove loop dering experiment." into experimental
Paul Wilkins [Tue, 28 May 2013 12:34:14 +0000 (05:34 -0700)]
Merge "Remove loop dering experiment." into experimental

11 years agoRevert "Adding API to read/write uncompressed frame header bits." because of bitstrea...
Dmitry Kovalev [Tue, 28 May 2013 09:24:52 +0000 (02:24 -0700)]
Revert "Adding API to read/write uncompressed frame header bits." because of bitstream mismatches.

This reverts commit df037b615fcc0196386977faae060fdfd9a887a8

Change-Id: I1a529f2590df7bc912f5035d22311268933e3dd6

11 years agoMerge "a few clean-ups" into experimental
Yaowu Xu [Mon, 27 May 2013 22:16:21 +0000 (15:16 -0700)]
Merge "a few clean-ups" into experimental

11 years agoMerge "Decrease scope of frame_mv argument to handle_inter_mode()." into experimental
Ronald S. Bultje [Mon, 27 May 2013 21:42:38 +0000 (14:42 -0700)]
Merge "Decrease scope of frame_mv argument to handle_inter_mode()." into experimental

11 years agoDecrease scope of frame_mv argument to handle_inter_mode().
Ronald S. Bultje [Mon, 27 May 2013 21:16:45 +0000 (14:16 -0700)]
Decrease scope of frame_mv argument to handle_inter_mode().

Change-Id: I81c637c61ecc33cb66beb59a2a33166d66b9a0a2

11 years agoa few clean-ups
Yaowu Xu [Fri, 24 May 2013 23:13:54 +0000 (16:13 -0700)]
a few clean-ups

1. remove prediction mode conversion
2. unified bmode, same for key and non-key frame
3. set I4X4_PRED count for pdf to 0, as I4X4_PRED is no longer
coded ever. It is determined by ref_frame and block partition

Change-Id: If5b282957c24339b241acdb9f2afef85658fe47d

11 years agoReduce WHT complexity.
Timothy B. Terriberry [Fri, 17 May 2013 17:11:30 +0000 (10:11 -0700)]
Reduce WHT complexity.

Saves 1 add, 3 shifts (and a shift bias) per 1-D transform.

Change-Id: I1104bb1679fe342b2f9677df8a9cdc0cb9699e7d

11 years agoMerge "Reduce bmi buffer length from 16 to 4" into experimental
Jingning Han [Mon, 27 May 2013 16:18:50 +0000 (09:18 -0700)]
Merge "Reduce bmi buffer length from 16 to 4" into experimental

11 years agoReduce bmi buffer length from 16 to 4
Jingning Han [Mon, 27 May 2013 14:55:25 +0000 (07:55 -0700)]
Reduce bmi buffer length from 16 to 4

This commit removes the use of bmi_ in the first-pass encoding by
forcing encode_intra4x4block_ to use DC_PRED, followed by DCT_DCT
only, as John suggested. This makes the need for bmi buffer only
up to 4 entries, instead of 16.

Change-Id: I3410007dfae789ee46a09ae20c39d3ce3c7954aa

11 years agoRemove unused mode_index argument from handle_inter_mode().
Ronald S. Bultje [Fri, 17 May 2013 16:08:17 +0000 (09:08 -0700)]
Remove unused mode_index argument from handle_inter_mode().

Change-Id: I07b8c15f33e6e7c63dd0033c18c4ac5c0303cf32

11 years agoFix coding statistics compilation.
Ronald S. Bultje [Sat, 25 May 2013 18:41:25 +0000 (11:41 -0700)]
Fix coding statistics compilation.

Change-Id: I21e7c4ef6bc80f4b9281fc94c88fb710b1595c23

11 years agoMoving txfm_size bits before prediction mode bits.
Sami Pietila [Mon, 27 May 2013 07:14:53 +0000 (10:14 +0300)]
Moving txfm_size bits before prediction mode bits.

Hardware implementation needs to load coeff probs based on the
transform size. For selectable transform size, moving these bits
earlier in the bitstream adds some delay giving time to preload
the probs and speeds up the decoding process.

Change-Id: I3bfc1f662ae6f219c9286fe9ae6310c7d8a63ea7

11 years agoRemove splitmv.
Ronald S. Bultje [Sun, 26 May 2013 21:40:49 +0000 (14:40 -0700)]
Remove splitmv.

Also do per-partition motion vector referencing in <sb8x8 partitions,
and adjust mvref finding for sub8x8 partitions.

Change-Id: Id3ed1ed4d2a8910d11d327db6cc63b8eb79f941f

11 years agoRemove loop dering experiment.
Paul Wilkins [Fri, 24 May 2013 14:40:20 +0000 (15:40 +0100)]
Remove loop dering experiment.

Change-Id: I1a979bf74c286b157c31bab6bdcba0494acb4918

11 years agoMerge "Adding API to read/write uncompressed frame header bits." into experimental
Dmitry Kovalev [Fri, 24 May 2013 20:43:19 +0000 (13:43 -0700)]
Merge "Adding API to read/write uncompressed frame header bits." into experimental

11 years agoFix transform size coding mismatch
Jingning Han [Fri, 24 May 2013 18:11:06 +0000 (11:11 -0700)]
Fix transform size coding mismatch

This commit fixes a transform size enc/dec mismatch issue in the
key frame coding.

Change-Id: I0c4f40464a367b33dd91ace84506650b1aec2873

11 years agoRemoved setup_pre_planes() call in read_mb_modes_mv()
Scott LaVarnway [Fri, 24 May 2013 17:39:48 +0000 (13:39 -0400)]
Removed setup_pre_planes() call in read_mb_modes_mv()

This code does not seem to be necessary anymore.

For the 1080p clip used, the decoder performance improved by
~2%.

Change-Id: I66bb0496d4998b0d6c6637c746b642b77bdbef88

11 years agoFix two bugs
Yaowu Xu [Fri, 24 May 2013 16:23:15 +0000 (09:23 -0700)]
Fix two bugs

1) Added an initialization of rd_tx_select_threshs[].
2) Made updating transform size counts to be consistent

Change-Id: Iaa9d6c6be825b0364c9d61a9802873d01356815c

11 years agoupdate txfm size counting
Yaowu Xu [Thu, 23 May 2013 21:39:28 +0000 (14:39 -0700)]
update txfm size counting

Change-Id: I3a26baf8b2f945fea4f1aea156e60fa79f620f86

11 years agoFix bug in 4x4 band definition.
Paul Wilkins [Thu, 23 May 2013 14:44:45 +0000 (15:44 +0100)]
Fix bug in 4x4 band definition.

Also some unused data structures/references removed.

Change-Id: I295809e887173543e794250cb60ddaf1475ffd24

11 years agoRemoved code not in use
Yaowu Xu [Wed, 22 May 2013 18:27:38 +0000 (11:27 -0700)]
Removed code not in use

As intra coded blocks are always decoded using decode_sb_intra(), this
commmit removed the code no longer in use.

Change-Id: I09f14fa9cdc875656e8fbe245f72c8fd83b9e31e

11 years agoChange txfm_type decision
Yaowu Xu [Wed, 22 May 2013 17:37:40 +0000 (10:37 -0700)]
Change txfm_type decision

The changing in intra coding to base on transform block, i.e. pred->
txfm->quant->dequant-itxfm->recon, made all blocks within a prediction
unit behave consistently, there is no longer a need to handle blocks
differently based on the position within a predicitn block. So this
commit simplifies the decision of transform type to be based on
prediction mode only.

Change-Id: If96cb72386f2e9186126ace88afa35ef085b6c96

11 years agoFix a bug in intra4x4 level rd loop
Jingning Han [Thu, 23 May 2013 22:12:54 +0000 (15:12 -0700)]
Fix a bug in intra4x4 level rd loop

This commit fixed a uninitialized value use in the intra 4x4/8x4/4x8
rate-distortion loop.

Change-Id: I5c25b3536b59e4f5fbb23cf85baf93b2ccec7d72

11 years agoRemove type from vmvn
Johann [Thu, 23 May 2013 20:02:44 +0000 (13:02 -0700)]
Remove type from vmvn

datatype is optional for the instruction but clang refuses it.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHIJIHC.html

It is still required when using an immediate.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHGGEEB.html

Change-Id: I0fae956c8c0fa3f97578ce80abea247f7fc88705

11 years agoMake comp_inter_inter support 4x4 partition coding
Jingning Han [Thu, 23 May 2013 04:09:28 +0000 (21:09 -0700)]
Make comp_inter_inter support 4x4 partition coding

This commit refactors the iterative motion search for compound
inter-inter mode, to make it support all partition types including
4x4/4x8/8x4 block sizes.

Change-Id: I5f1212b0f307377291763e45c6bdc9693b5f04c8

11 years agoMerge Scatter Scan experiment.
Paul Wilkins [Wed, 22 May 2013 13:09:55 +0000 (14:09 +0100)]
Merge Scatter Scan experiment.

Removal from under configure flag.
A bit  renaming

Change-Id: I2213229dfe852001dfec16b149f47c52ce88f3aa

11 years agoMerge 4x4 block level partition into codebase
Jingning Han [Wed, 22 May 2013 04:28:42 +0000 (21:28 -0700)]
Merge 4x4 block level partition into codebase

Move 4x4/4x8/8x4 partition coding out of experimental list.

This commit fixed the unit test failure issues. It also resolved
the merge conflicts between 4x4 block level partition and iterative
motion search for comp_inter_inter.

Change-Id: I898671f0631f5ddc4f5cc68d4c62ead7de9c5a58

11 years agoUsing vp9 function prefix instead of vp8 inside vp9_cx_iface.c.
Dmitry Kovalev [Thu, 23 May 2013 01:04:08 +0000 (18:04 -0700)]
Using vp9 function prefix instead of vp8 inside vp9_cx_iface.c.

Change-Id: Ia74e7cf626db46ab47a74fe003602a55b949244c

11 years agoMerge "Optimize variance functions" into experimental
Yunqing Wang [Wed, 22 May 2013 20:41:04 +0000 (13:41 -0700)]
Merge "Optimize variance functions" into experimental

11 years agoMerge "Using 128 entry look up table for coef models" into experimental
Deb Mukherjee [Wed, 22 May 2013 17:38:35 +0000 (10:38 -0700)]
Merge "Using 128 entry look up table for coef models" into experimental

11 years agoOptimize variance functions
Yunqing Wang [Wed, 22 May 2013 16:07:30 +0000 (09:07 -0700)]
Optimize variance functions

Added SSE2 version of variance functions for super blocks.

Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d

11 years agoMerge "Make the intra rd search support 8x4/4x8" into experimental
Jingning Han [Wed, 22 May 2013 17:00:15 +0000 (10:00 -0700)]
Merge "Make the intra rd search support 8x4/4x8" into experimental

11 years agoUsing 128 entry look up table for coef models
Deb Mukherjee [Wed, 22 May 2013 14:28:29 +0000 (07:28 -0700)]
Using 128 entry look up table for coef models

Reverts to using 128 bit LUT for the coef models rather than 48
to ease hardware implementation.

Also incorporates some cleanups including removing various
hooks to support different lookup tables based on block_type and
ref_type.

Change-Id: I54100c120cca07a2ebd3a7776bc4630fa6a153f6

11 years agoMerge "changes intra coding to be based on txfm block" into experimental
Paul Wilkins [Wed, 22 May 2013 13:53:12 +0000 (06:53 -0700)]
Merge "changes intra coding to be based on txfm block" into experimental

11 years agoMerge "Generalized intra 4x4 encoding for all sizes" into experimental
Paul Wilkins [Wed, 22 May 2013 13:52:32 +0000 (06:52 -0700)]
Merge "Generalized intra 4x4 encoding for all sizes" into experimental

11 years agoMerge "Merge CONFIG_COMP_INTER_JOINT_SEARCH." into experimental
Paul Wilkins [Wed, 22 May 2013 13:51:43 +0000 (06:51 -0700)]
Merge "Merge CONFIG_COMP_INTER_JOINT_SEARCH." into experimental

11 years agoMerge "Removed unused idct functions" into experimental
Scott LaVarnway [Wed, 22 May 2013 12:36:36 +0000 (05:36 -0700)]
Merge "Removed unused idct functions" into experimental

11 years agochanges intra coding to be based on txfm block
Yaowu Xu [Fri, 17 May 2013 19:50:40 +0000 (12:50 -0700)]
changes intra coding to be based on txfm block

This commit changed the encoding and decoding of intra blocks to be
based on transform block. In each prediction block, the intra coding
iterates thorough each transform block based on raster scan order.

This commit also fixed a bug in D135 prediction code.

TODO next:
The RD mode/txfm_size selection should take this into account when
computing RD values.

Change-Id: I6d1be2faa4c4948a52e830b6a9a84a6b2b6850f6

11 years agoGeneralized intra 4x4 encoding for all sizes
Yaowu Xu [Thu, 16 May 2013 00:21:15 +0000 (17:21 -0700)]
Generalized intra 4x4 encoding for all sizes

Change-Id: I1b86744fa247233c8df031b3f4b87b212c8dd094

11 years agoMerge CONFIG_COMP_INTER_JOINT_SEARCH.
Paul Wilkins [Tue, 21 May 2013 12:57:29 +0000 (13:57 +0100)]
Merge CONFIG_COMP_INTER_JOINT_SEARCH.

Merge this experiment so that it is under a speed feature
flag not a configuration flag.

Change-Id: I536f7f125a4ff5149bb3a64f791e835c324535fd

11 years agoMake the intra rd search support 8x4/4x8
Jingning Han [Mon, 20 May 2013 23:04:28 +0000 (16:04 -0700)]
Make the intra rd search support 8x4/4x8

This commit allows the rate-distortion optimization of intra coding
capable of supporting 8x4 and 4x8 partition settings.

It enables the entropy coding of intra modes in key frame using a
unified contextual probability model conditioned on its above/left
prediction modes.

Coding performance:
derf 0.464%

Change-Id: Ieed055084e11fcb64d5d5faeb0e706d30268ba18

11 years agoMerge "Initial version of alpha channel support" into experimental
John Koleszar [Wed, 22 May 2013 00:29:51 +0000 (17:29 -0700)]
Merge "Initial version of alpha channel support" into experimental

11 years agoMerge "Deprecate 4x4 intra modes from bit-stream" into experimental
Jingning Han [Tue, 21 May 2013 22:59:58 +0000 (15:59 -0700)]
Merge "Deprecate 4x4 intra modes from bit-stream" into experimental

11 years agoAdding API to read/write uncompressed frame header bits.
Dmitry Kovalev [Tue, 21 May 2013 22:31:32 +0000 (15:31 -0700)]
Adding API to read/write uncompressed frame header bits.

The API is not final yet and can be changed. Actual layout of
uncompressed frame part will be finalized later. Right now moving
clr_type, error_resilient_mode, refresh_frame_context,
frame_parallel_decoding_mode from first compressed partition to
uncompressed frame part.

Change-Id: I3afc5d4ea92c5a114f4c3d88f96858cccc15b76e

11 years agoRemoved unused idct functions
Scott LaVarnway [Tue, 21 May 2013 21:59:54 +0000 (17:59 -0400)]
Removed unused idct functions

No longer used.

Change-Id: Id28c9247cebba183c6fa786dff96824ae100132c

11 years agoMerging the model coef prob experiment
Deb Mukherjee [Tue, 21 May 2013 21:39:22 +0000 (14:39 -0700)]
Merging the model coef prob experiment

Merges the experiment.

Change-Id: I4eb19af6de6df6aa3a96a2e82f231d47ed9b3ae9

11 years agoMerge "Refinements on modelcoef expt to reduce storage" into experimental
Deb Mukherjee [Tue, 21 May 2013 20:41:54 +0000 (13:41 -0700)]
Merge "Refinements on modelcoef expt to reduce storage" into experimental

11 years agoRemoved diff from macroblockd_plane
Scott LaVarnway [Tue, 21 May 2013 18:22:09 +0000 (14:22 -0400)]
Removed diff from macroblockd_plane

No longer used.

Change-Id: I171c5fa33a7600ad45b9466af23a46ccbdfe0480

11 years agoRemoved vp9_recon functions
Scott LaVarnway [Tue, 21 May 2013 17:57:50 +0000 (13:57 -0400)]
Removed vp9_recon functions

No longer used.

Change-Id: Ica5166f7117f4693dffdf7633dcfc1b263103d0d

11 years agoMerge "WIP: 4x4 idct/recon merge" into experimental
Scott LaVarnway [Tue, 21 May 2013 17:45:53 +0000 (10:45 -0700)]
Merge "WIP: 4x4 idct/recon merge" into experimental

11 years agoMerge "Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c." into...
Dmitry Kovalev [Tue, 21 May 2013 17:35:36 +0000 (10:35 -0700)]
Merge "Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c." into experimental

11 years agoMerge "Removing clamp_type from the bitstream." into experimental
Dmitry Kovalev [Tue, 21 May 2013 17:35:27 +0000 (10:35 -0700)]
Merge "Removing clamp_type from the bitstream." into experimental

11 years agoMerge "Adding get_ref_frame_idx function." into experimental
Dmitry Kovalev [Tue, 21 May 2013 17:35:12 +0000 (10:35 -0700)]
Merge "Adding get_ref_frame_idx function." into experimental

11 years agoRefinements on modelcoef expt to reduce storage
Deb Mukherjee [Mon, 20 May 2013 20:54:39 +0000 (13:54 -0700)]
Refinements on modelcoef expt to reduce storage

Uses more aggrerssive interpolation to reduce storage for the
model tables by almost more than half. Only 48 lists of probs are
stored (as opposed to 128 before), corresponding to ONE_NODE
probabilities of:
1,
3, 7, 11, ..., 115, 119,
127, 135, ..., 247, 255.

Besides, only 1 table is used as opposed to 2 before. So the overall
memory needed for the tables is just 48 * 8 = 384 bytes.

The table currently used is based on a new Pareto distribution with
heavier tail than a generalized Gaussian - which improves results on
derf by about 0.1% over a single table Generaized Gaussian.

Results overall on derfraw300 is -0.14%.

Change-Id: I19bd03559cbf5894a9f8594b8023dcc3e546f6bd

11 years agoUnnecessary passing of prev_mi
Yunqing Wang [Tue, 21 May 2013 00:32:50 +0000 (17:32 -0700)]
Unnecessary passing of prev_mi

Passing prev_mi is not needed.

Change-Id: I6453bb47514ddafd555864d190ecf6d1a6bdc136

11 years agoMoving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c.
Dmitry Kovalev [Mon, 20 May 2013 23:23:19 +0000 (16:23 -0700)]
Moving exp. coding functions from vp9_boolhuff.c to vp9_bitstream.c.

Change-Id: Ib07d1e707a87cec98ea3a1779fccca078d8c4310

11 years agoAdding get_ref_frame_idx function.
Dmitry Kovalev [Mon, 20 May 2013 22:59:39 +0000 (15:59 -0700)]
Adding get_ref_frame_idx function.

Change-Id: I4f1a4eca6794cda78d00512196caacd5567e2dcc

11 years agoUpdating the model coef experiment
Deb Mukherjee [Fri, 17 May 2013 13:40:25 +0000 (06:40 -0700)]
Updating the model coef experiment

Cleans up the experiment. Actually uses reduced counts for backward
updates, and reduced number of probabilities in the context.

No change in bitstream when the experiment is on.

Between expt on and off:
derfraw300 is down only -0.062% (which is better than when expts
were run previously).

Change-Id: I55285a049a0c22810bdb42914212ab5a4f8521b5

11 years agoDeprecate 4x4 intra modes from bit-stream
Jingning Han [Mon, 20 May 2013 19:08:22 +0000 (12:08 -0700)]
Deprecate 4x4 intra modes from bit-stream

Replace B_DC_PRED like syntax element writing/reading with sb_ymode
set (e.g., DC_PRED, etc).

Change-Id: I293006a6b3bcd130c08ea9f053e7a79c6819c6f8

11 years agoWIP: 4x4 idct/recon merge
Scott LaVarnway [Mon, 20 May 2013 17:03:17 +0000 (13:03 -0400)]
WIP: 4x4 idct/recon merge

This patch eliminates the intermediate diff buffer usage by
combining the short idct and the add residual into one function.
The encoder can use the same code as well.

Change-Id: I296604bf73579c45105de0dd1adbcc91bcc53c22

11 years agoMerge "Enable bit-stream support to 8x4 and 4x8 partition" into experimental
Jingning Han [Mon, 20 May 2013 16:25:51 +0000 (09:25 -0700)]
Merge "Enable bit-stream support to 8x4 and 4x8 partition" into experimental

11 years agoGive VP9 a different sync code from VP8
Jingning Han [Sat, 18 May 2013 23:56:12 +0000 (16:56 -0700)]
Give VP9 a different sync code from VP8

The new code is 0x49, 0x83, 0x42

There is nothing particularly special about this code bitstream wise.
Its derivation is the word "sync" coded using 4x6bit alphabetic indices.

Change-Id: Ie2430a854af32ddc5a5c25a6c1c90cf6497ba647

11 years agoEnable bit-stream support to 8x4 and 4x8 partition
Jingning Han [Thu, 16 May 2013 05:28:36 +0000 (22:28 -0700)]
Enable bit-stream support to 8x4 and 4x8 partition

The recursive partition type search is enabled down to 4x4, 4x8 and
8x4, followed by the corresponding rate-distortion optimization for
the per-partition encoding mode decisions.

The bit-stream writing/reading synchronized in supporting the
rectangular partition of 8x8 block.

This provides above 1% coding performance gains on derf.

To do next:
1. re-design the rate-distortion loop for inter prediction below 8x8.
2. re-design the rate-distortion loop for intra prediction below 4x4.
3. make the loop-filter aware of rectangular partition of 8x8 block.
4. clean the unused probability models.
5. update default probability values.

Change-Id: Idd41a315b16879db08f045a322241f46f1d53f20

11 years agoMake nmv_count update 4x8/8x4 aware
Jingning Han [Fri, 17 May 2013 22:54:49 +0000 (15:54 -0700)]
Make nmv_count update 4x8/8x4 aware

This commit modifies the vp9_update_nmv_count_ to support rectangular
partition of 8x8 block.

Change-Id: I3e742f80f18f95b031c1c785d756d9365503c24c

11 years agoRemoving clamp_type from the bitstream.
Dmitry Kovalev [Fri, 17 May 2013 22:50:26 +0000 (15:50 -0700)]
Removing clamp_type from the bitstream.

Change-Id: Ica75bdd4905c4a04b7f92795d0b8ce6836a99ef4

11 years agoFix parameters in 4x8 variance calc
Jingning Han [Fri, 17 May 2013 17:03:52 +0000 (10:03 -0700)]
Fix parameters in 4x8 variance calc

Correct the stride parameter of 4x8 in vp9_sub_pixel_variance4x8_
and vp9_sub_pixel_avg_variance4x8.

Change-Id: I2ca74d4043817503b21737563994270e3b0619ff

11 years agoMerge "holds utility debugging functions" into experimental
Jim Bankoski [Fri, 17 May 2013 16:23:36 +0000 (09:23 -0700)]
Merge "holds utility debugging functions" into experimental