platform/upstream/libvpx.git
11 years agoclean out experiments
Yaowu Xu [Mon, 15 Apr 2013 17:35:59 +0000 (10:35 -0700)]
clean out experiments

that are related to using reconstructed pixel for selecting reference
motion vectors.

Change-Id: I048dfae39ca7385e344b57d46347ecc6e753e1bb

11 years agomake lf_deltas dependent on filter_lvl
Yaowu Xu [Thu, 4 Apr 2013 16:00:53 +0000 (09:00 -0700)]
make lf_deltas dependent on filter_lvl

Change-Id: Idb0d11e3ae9afabe667a9f327bf4d3aa84f63649

11 years agoreplace hev_thr_lut[][] with simpler logic
Yaowu Xu [Wed, 3 Apr 2013 22:22:54 +0000 (15:22 -0700)]
replace hev_thr_lut[][] with simpler logic

Using filter_level/16 instead.

Change-Id: I73a7e83a785d6aa6f9b5d22cf66e22f0a39ed078

11 years agoChange to do LPF in SB64 order
Yaowu Xu [Thu, 11 Apr 2013 00:43:58 +0000 (17:43 -0700)]
Change to do LPF in SB64 order

Change-Id: I41b3f5932ecd6256e8207369ad19aa81e7987be1

11 years agoRecursive partition syntax coding
Jingning Han [Tue, 16 Apr 2013 07:18:02 +0000 (00:18 -0700)]
Recursive partition syntax coding

Enable recursive partition information coding from SB64X64 down to
MB16X16. The bit-stream syntax is now supporting rectangular block
sizes. It starts from SB64X64 and recursively describes the partition
type of the current block. If the partition type is PARTITION_NONE,
the block is coded as a single unit; if it is PARTITION_HORZ or
PARTITION_VERT, the block is segmented into two independently coded
rectangular units, with no further partition needed; otherwise, the
block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case,
each can be potentially further partitioned.

Forward adaptive probability modeling is used for the partition
information coding, conditioned on the current block size.

Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87

11 years agoMerge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv." into experimental
Dmitry Kovalev [Wed, 17 Apr 2013 01:27:35 +0000 (18:27 -0700)]
Merge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv." into experimental

11 years agoMerge "Adding vp9_write_prob function (macro for now)." into experimental
Dmitry Kovalev [Wed, 17 Apr 2013 01:22:21 +0000 (18:22 -0700)]
Merge "Adding vp9_write_prob function (macro for now)." into experimental

11 years agoReplacing BOOL_DECODER with vp9_reader inside vp9_decodemv.
Dmitry Kovalev [Tue, 16 Apr 2013 21:03:05 +0000 (14:03 -0700)]
Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv.

Also a little bit of code cleanup: replacing pbi->common with cm,
pbi->mb with xd.

Change-Id: I2f70a005704a2833d644dfaafc4cd354e6e8532b

11 years agoMerge "Adding write_le16 and write_le32 functions." into experimental
John Koleszar [Wed, 17 Apr 2013 00:45:48 +0000 (17:45 -0700)]
Merge "Adding write_le16 and write_le32 functions." into experimental

11 years agoMerge "Slightly hackish workaround to support rectangles in directional intra predict...
Ronald S. Bultje [Wed, 17 Apr 2013 00:05:20 +0000 (17:05 -0700)]
Merge "Slightly hackish workaround to support rectangles in directional intra predictors." into experimental

11 years agoMerge "Faster vp9_short_fdct4x4 and vp9_short_fdct8x4." into experimental
Jim Bankoski [Tue, 16 Apr 2013 23:33:43 +0000 (16:33 -0700)]
Merge "Faster vp9_short_fdct4x4 and vp9_short_fdct8x4." into experimental

11 years agoAdding write_le16 and write_le32 functions.
Dmitry Kovalev [Tue, 16 Apr 2013 23:26:25 +0000 (16:26 -0700)]
Adding write_le16 and write_le32 functions.

Change-Id: I7057ed8e2a13a3c5367e2923eb4b3260bd7cf546

11 years agoAdding vp9_write_prob function (macro for now).
Dmitry Kovalev [Tue, 16 Apr 2013 23:23:17 +0000 (16:23 -0700)]
Adding vp9_write_prob function (macro for now).

Change-Id: Ic795cf6fc202bf32c9b5b0b3cef9ac422af53cd0

11 years agoFaster vp9_short_fdct4x4 and vp9_short_fdct8x4.
Christian Duvivier [Mon, 25 Mar 2013 23:18:38 +0000 (16:18 -0700)]
Faster vp9_short_fdct4x4 and vp9_short_fdct8x4.

Scalar path is about 1.3x faster (2.1% overall encoder speedup).
SSE2 path is about 5.0x faster (8.4% overall encoder speedup).

Change-Id: I360d167b5ad6f387bba00406129323e2fe6e7dda

11 years agoSlightly hackish workaround to support rectangles in directional intra predictors.
Ronald S. Bultje [Sun, 14 Apr 2013 17:37:49 +0000 (10:37 -0700)]
Slightly hackish workaround to support rectangles in directional intra predictors.

Change-Id: I8a4da6925f2d58a426c4d122df8b97bb69452e49

11 years agoMerge "Moving tx_type == DCT_DCT checks inside iht_add functions." into experimental
Dmitry Kovalev [Tue, 16 Apr 2013 21:18:37 +0000 (14:18 -0700)]
Merge "Moving tx_type == DCT_DCT checks inside iht_add functions." into experimental

11 years agoRemove the mb_no_coeff_skip flag
John Koleszar [Tue, 9 Apr 2013 17:54:19 +0000 (10:54 -0700)]
Remove the mb_no_coeff_skip flag

This flag was added to VP8 to allow a mode where MB-level skipping
was not allowed, saving a bit per mb. It was never used in practice,
and hasn't been tested in VP9, so remove it.

Change-Id: Id450ec6904c6d06c1919508e7efc52d05cde5631

11 years agoMoving tx_type == DCT_DCT checks inside iht_add functions.
Dmitry Kovalev [Tue, 16 Apr 2013 18:02:57 +0000 (11:02 -0700)]
Moving tx_type == DCT_DCT checks inside iht_add functions.

tx_type == DCT_DCT check is an implementation detail of iht_add. Also
adding dequant_add_y function with explicit DCT_DCT check inside.

Change-Id: Ia3cb0225601752cdef0ff6f0acd3a09d9dbd8938

11 years agoMerge "Code cleanup inside vp9_reconintra4x4.c file." into experimental
Dmitry Kovalev [Tue, 16 Apr 2013 17:24:32 +0000 (10:24 -0700)]
Merge "Code cleanup inside vp9_reconintra4x4.c file." into experimental

11 years agoMerge "Adding mv_joint_vertical and mv_joint_horizontal functions." into experimental
Dmitry Kovalev [Tue, 16 Apr 2013 17:24:01 +0000 (10:24 -0700)]
Merge "Adding mv_joint_vertical and mv_joint_horizontal functions." into experimental

11 years agoMerge "Optimize the scaling calculation" into experimental
Yunqing Wang [Tue, 16 Apr 2013 16:14:22 +0000 (09:14 -0700)]
Merge "Optimize the scaling calculation" into experimental

11 years agoMerge "Removing extra params from x_add_residual() functions" into experimental
Scott LaVarnway [Tue, 16 Apr 2013 15:58:28 +0000 (08:58 -0700)]
Merge "Removing extra params from x_add_residual() functions" into experimental

11 years agoOptimize the scaling calculation
Yunqing Wang [Thu, 4 Apr 2013 16:56:02 +0000 (09:56 -0700)]
Optimize the scaling calculation

In decoder, the scaling calculation, such as (mv * x_num / x_den),
is fairly time-consuming. In this patch, we check if the scaling
happens or not at frame level, and then decide which function to
call to skip scaling calculation when no scaling is needed. Tests
showed a 3% decoder performance gain.

Change-Id: I270901dd0331048e50368cfd51ce273dd82b8733

11 years agoMerge "Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions....
John Koleszar [Tue, 16 Apr 2013 14:00:40 +0000 (07:00 -0700)]
Merge "Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions." into experimental

11 years agoRemoving extra params from x_add_residual() functions
Scott LaVarnway [Tue, 16 Apr 2013 13:59:01 +0000 (09:59 -0400)]
Removing extra params from x_add_residual() functions

Now that the predictor is the dest, we do not need the
extra parameters.

Change-Id: I31e2c3d2015f4a1cd12e7f04536d8db478582a0a

11 years agoMerge "Removing TRUE and FALSE macro definitions." into experimental
John Koleszar [Tue, 16 Apr 2013 13:55:13 +0000 (06:55 -0700)]
Merge "Removing TRUE and FALSE macro definitions." into experimental

11 years agoMerge "Removing extra params in dequant functions" into experimental
Scott LaVarnway [Tue, 16 Apr 2013 13:37:00 +0000 (06:37 -0700)]
Merge "Removing extra params in dequant functions" into experimental

11 years agoRemoving TRUE and FALSE macro definitions.
Dmitry Kovalev [Mon, 15 Apr 2013 22:24:39 +0000 (15:24 -0700)]
Removing TRUE and FALSE macro definitions.

Using regular 0 and 1 constants now.

Change-Id: Ie763503cbb727847cc8f1d6506cd6f2ee607f056

11 years agoReplacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.
Dmitry Kovalev [Mon, 15 Apr 2013 21:54:19 +0000 (14:54 -0700)]
Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.

This is the first CL with vp9_reader changes. All another macro
definitions will be replaced after.

Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063

11 years agoMerge "Fix lingering x->skip settings if static_threshold is used." into experimental
Ronald S. Bultje [Mon, 15 Apr 2013 21:20:47 +0000 (14:20 -0700)]
Merge "Fix lingering x->skip settings if static_threshold is used." into experimental

11 years agoMerge "Add rectangular block size variance/sad functions." into experimental
Ronald S. Bultje [Mon, 15 Apr 2013 21:20:25 +0000 (14:20 -0700)]
Merge "Add rectangular block size variance/sad functions." into experimental

11 years agoMerge "Make filter RD code and encode breakout variance size-independent." into exper...
Ronald S. Bultje [Mon, 15 Apr 2013 20:58:01 +0000 (13:58 -0700)]
Merge "Make filter RD code and encode breakout variance size-independent." into experimental

11 years agoFix lingering x->skip settings if static_threshold is used.
Ronald S. Bultje [Mon, 15 Apr 2013 19:50:32 +0000 (12:50 -0700)]
Fix lingering x->skip settings if static_threshold is used.

Keyframes don't set this variable, so it would use the last set
values from inter frames.

Change-Id: Ie1ef45ece2c44b21b5d55f6cea9f7d6e7a445692

11 years agoAdd rectangular block size variance/sad functions.
Jingning Han [Mon, 15 Apr 2013 17:00:34 +0000 (10:00 -0700)]
Add rectangular block size variance/sad functions.

With this, the RD loop properly supports rectangular blocks.

Change-Id: Iece79048fb4e84741ee1ada982da129a7bf00470

11 years agoMake filter RD code and encode breakout variance size-independent.
Ronald S. Bultje [Sat, 13 Apr 2013 17:01:46 +0000 (10:01 -0700)]
Make filter RD code and encode breakout variance size-independent.

Static threshold results slightly up (+0.1% on derf), probably b/c
we now take the filter (sharp/lowpass) into account for the breakout
decision.

Change-Id: I9f597601da434205142afd05f32690e7ba8fd690

11 years agoAdding mv_joint_vertical and mv_joint_horizontal functions.
Dmitry Kovalev [Mon, 15 Apr 2013 19:07:26 +0000 (12:07 -0700)]
Adding mv_joint_vertical and mv_joint_horizontal functions.

Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d

11 years agoMerge "Motion vector decoder cleanup." into experimental
Dmitry Kovalev [Mon, 15 Apr 2013 18:28:52 +0000 (11:28 -0700)]
Merge "Motion vector decoder cleanup." into experimental

11 years agoCode cleanup inside vp9_reconintra4x4.c file.
Dmitry Kovalev [Mon, 15 Apr 2013 17:54:40 +0000 (10:54 -0700)]
Code cleanup inside vp9_reconintra4x4.c file.

Using ROUND_POWER_OF_TWO macro, using array initialization syntax for
less code.

Change-Id: I661453a6b29a9046fcff0a3f18fccb452b5eb39d

11 years agoRemoving extra params in dequant functions
Scott LaVarnway [Mon, 15 Apr 2013 17:43:11 +0000 (13:43 -0400)]
Removing extra params in dequant functions

Now that the predictor is the dest, we do not need the
extra parameters.

Change-Id: I78db73d39b5aff62f15303f3d51ad2797eae74b6

11 years agoMerge "Reorder enum i4X4 predcition modes" into experimental
Yaowu Xu [Mon, 15 Apr 2013 17:37:37 +0000 (10:37 -0700)]
Merge "Reorder enum i4X4 predcition modes" into experimental

11 years agoMerge "Fix width/height switch-up in U/V SB quantize code." into experimental
Ronald S. Bultje [Mon, 15 Apr 2013 17:27:22 +0000 (10:27 -0700)]
Merge "Fix width/height switch-up in U/V SB quantize code." into experimental

11 years agoMerge "Removed unused structs in vp9_onyx_int.h." into experimental
Ronald S. Bultje [Mon, 15 Apr 2013 17:27:10 +0000 (10:27 -0700)]
Merge "Removed unused structs in vp9_onyx_int.h." into experimental

11 years agoFix width/height switch-up in U/V SB quantize code.
Ronald S. Bultje [Sat, 13 Apr 2013 19:40:34 +0000 (12:40 -0700)]
Fix width/height switch-up in U/V SB quantize code.

Change-Id: I697514efd6024e1b4153bbde58ae5e323b030981

11 years agoRemoved unused structs in vp9_onyx_int.h.
Ronald S. Bultje [Sat, 13 Apr 2013 17:06:58 +0000 (10:06 -0700)]
Removed unused structs in vp9_onyx_int.h.

Change-Id: I1f2dbf04a0140a7cc2060b0a9efb4ed8e5270d3d

11 years agoMerge "Initial addition of multiple ARF frames" into experimental
Adrian Grange [Mon, 15 Apr 2013 16:46:16 +0000 (09:46 -0700)]
Merge "Initial addition of multiple ARF frames" into experimental

11 years agoInitial addition of multiple ARF frames
Adrian Grange [Tue, 2 Apr 2013 22:08:50 +0000 (15:08 -0700)]
Initial addition of multiple ARF frames

This is work-in-progress, it implements multiple ARF
encoding behind an experimental flag.

It adds the ability to insert multiple ARF frames into a
single ARF group. This patch implements the reordering
of the coded frames, and implements a fixed-length coding
pattern. It applies a fixed quantizer strategy based on
where the frame is in the coding sequence.

Further work to modify the rate control strategy is
ongoing and will be submitted via a set of future patches.

In this first step, each ARF group is recursively
bisected and an ARF frame added at that position in the
sequence. The recursion continues until ARF frames are
within MIN_GF_INTERVAL frames.

The code sits behind the "multiple-arf" experimental
flag ("CONFIG_MULTIPLE_ARF"). The experimental flag
"oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled
for this patch to work correctly.

Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2

11 years agoMerge "Encoder code cleanup." into experimental
Dmitry Kovalev [Sun, 14 Apr 2013 17:58:44 +0000 (10:58 -0700)]
Merge "Encoder code cleanup." into experimental

11 years agoMerge "Adding vp9_read_and_apply_sign function." into experimental
Dmitry Kovalev [Sun, 14 Apr 2013 11:37:39 +0000 (04:37 -0700)]
Merge "Adding vp9_read_and_apply_sign function." into experimental

11 years agoMerge "Intra code cleanup." into experimental
Dmitry Kovalev [Sun, 14 Apr 2013 11:34:16 +0000 (04:34 -0700)]
Merge "Intra code cleanup." into experimental

11 years agoMerge "Renaming vp9_token_struct to vp9_token and removing previous typedef." into...
Dmitry Kovalev [Sun, 14 Apr 2013 11:31:39 +0000 (04:31 -0700)]
Merge "Renaming vp9_token_struct to vp9_token and removing previous typedef." into experimental

11 years agoIntra code cleanup.
Dmitry Kovalev [Fri, 12 Apr 2013 23:53:04 +0000 (16:53 -0700)]
Intra code cleanup.

Removing redundant code.

Change-Id: I71bfc40a1fb06d8e3149ed5400aa4dfd87a51aac

11 years agoMotion vector decoder cleanup.
Dmitry Kovalev [Fri, 12 Apr 2013 19:31:23 +0000 (12:31 -0700)]
Motion vector decoder cleanup.

Change-Id: I7d3b2ef26aba3dfb1d5c83309aab2024e04ee819

11 years agoMerge "Enable inter predictor for rectangular block size" into experimental
John Koleszar [Fri, 12 Apr 2013 19:21:13 +0000 (12:21 -0700)]
Merge "Enable inter predictor for rectangular block size" into experimental

11 years agoEnable inter predictor for rectangular block size
Jingning Han [Fri, 12 Apr 2013 18:25:53 +0000 (11:25 -0700)]
Enable inter predictor for rectangular block size

Combine superblock inter predictors into a unified function that
allows configurable block width and height. The inter predictions
of block sizes smaller than 16x16 are handled differently. To be
continued on merging them later.

Change-Id: I14075959dd5e221f00c205c99ca35c1c31ef728e

11 years agoRemoved unnecessary copy from vp9_dequant_iht_add_8x8_c
Scott LaVarnway [Fri, 12 Apr 2013 18:33:39 +0000 (14:33 -0400)]
Removed unnecessary copy from vp9_dequant_iht_add_8x8_c

Change-Id: I8fff2216c169c872f7073e66357e400f78a3445d

11 years agoMerge changes I196814c0,I896fdfa0 into experimental
Jingning Han [Fri, 12 Apr 2013 17:51:06 +0000 (10:51 -0700)]
Merge changes I196814c0,I896fdfa0 into experimental

* changes:
  Move prediction hit counting to update_state().
  Merge loop over all macroblock modes into encode_sb_row().

11 years agoReorder enum i4X4 predcition modes
Yaowu Xu [Thu, 11 Apr 2013 22:52:28 +0000 (15:52 -0700)]
Reorder enum i4X4 predcition modes

To match the order of  directional intra prediction modes for larger
blocks, also renamed the i4x4 prediction modes to mirror the larger
variants.

Change-Id: I77cea4d0add6c7758460bf9c7a2fe59aca601f0b

11 years agoRename B_PRED to I4X4_PRED
Yaowu Xu [Thu, 11 Apr 2013 19:16:35 +0000 (12:16 -0700)]
Rename B_PRED to I4X4_PRED

So it is consistent with I8x8_PRED.

Change-Id: Iefa65124b2419690d83e526c611129c0ede29d11

11 years agoMerge "Remove unnecessary vp9_copy_memNxN() calls" into experimental
Scott LaVarnway [Fri, 12 Apr 2013 12:24:30 +0000 (05:24 -0700)]
Merge "Remove unnecessary vp9_copy_memNxN() calls" into experimental

11 years agoMove prediction hit counting to update_state().
Ronald S. Bultje [Fri, 12 Apr 2013 00:13:02 +0000 (17:13 -0700)]
Move prediction hit counting to update_state().

The probabilities derived from these statistics are used in bitstream
writing; therefore, we should only do this when we actually decide to
use macroblock coding (over superblock coding). Derf gains +0.15%.

Change-Id: I196814c070a7c79889590658ce10a6eb07454389

11 years agoRemove unnecessary vp9_copy_memNxN() calls
Scott LaVarnway [Fri, 12 Apr 2013 00:03:48 +0000 (20:03 -0400)]
Remove unnecessary vp9_copy_memNxN() calls

The build predictors now output directly to the dest.  These
copies are no longer required.

Change-Id: I8e91eda6b49993e6c16cfadc705d82a7e80f19b2

11 years agoMake intra predictor support rectangular blocks
Jingning Han [Thu, 11 Apr 2013 19:12:11 +0000 (12:12 -0700)]
Make intra predictor support rectangular blocks

The intra predictor supports configurable block sizes. It can handle
intra prediction down to 4x4 sizes, when enabled in BLOCK_SIZE_TYPE.

Change-Id: I7399ec2512393aa98aadda9813ca0c83e19af854

11 years agoMerge loop over all macroblock modes into encode_sb_row().
Ronald S. Bultje [Thu, 11 Apr 2013 22:56:39 +0000 (15:56 -0700)]
Merge loop over all macroblock modes into encode_sb_row().

Rename pick_mb_modes to pick_mb_mode, since it now handles only a
single macroblock. This is consistent with pick_sb_mode handling a
single non-macroblock.

Change-Id: I896fdfa06436b2d8c24d6474718cc74420df6b3b

11 years agoMerge "Remove unused vp9_recon_mb{y,uv}_s" into experimental
John Koleszar [Thu, 11 Apr 2013 22:51:20 +0000 (15:51 -0700)]
Merge "Remove unused vp9_recon_mb{y,uv}_s" into experimental

11 years agoMerge "Remove subtract_mb* functions." into experimental
Ronald S. Bultje [Thu, 11 Apr 2013 22:50:40 +0000 (15:50 -0700)]
Merge "Remove subtract_mb* functions." into experimental

11 years agoAdding vp9_read_and_apply_sign function.
Dmitry Kovalev [Thu, 11 Apr 2013 22:36:43 +0000 (15:36 -0700)]
Adding vp9_read_and_apply_sign function.

Change-Id: I9951a06dbe4514cc1cf69ff4349c4e12cb4a318c

11 years agoMerge "WIP: removing predictor buffer usage from decoder" into experimental
Scott LaVarnway [Thu, 11 Apr 2013 22:24:33 +0000 (15:24 -0700)]
Merge "WIP: removing predictor buffer usage from decoder" into experimental

11 years agoMerge "Remove unused macroblock versions of reconstruction functions." into experimental
Ronald S. Bultje [Thu, 11 Apr 2013 22:19:08 +0000 (15:19 -0700)]
Merge "Remove unused macroblock versions of reconstruction functions." into experimental

11 years agoMerge "Remove "tplist" from VP9_COMP." into experimental
Ronald S. Bultje [Thu, 11 Apr 2013 22:17:03 +0000 (15:17 -0700)]
Merge "Remove "tplist" from VP9_COMP." into experimental

11 years agoMerge "Merge pick_sb_modes and pick_sb64_modes." into experimental
Ronald S. Bultje [Thu, 11 Apr 2013 22:06:37 +0000 (15:06 -0700)]
Merge "Merge pick_sb_modes and pick_sb64_modes." into experimental

11 years agoMerge "Turning model-based updates on with modelcoefprob" into experimental
Deb Mukherjee [Thu, 11 Apr 2013 21:54:53 +0000 (14:54 -0700)]
Merge "Turning model-based updates on with modelcoefprob" into experimental

11 years agoTurning model-based updates on with modelcoefprob
Deb Mukherjee [Tue, 26 Mar 2013 15:34:56 +0000 (08:34 -0700)]
Turning model-based updates on with modelcoefprob

This patch changes the default with the modecoefprob expt
to use mode-based forward updates with one-node pegged
modeling.

The maximum difference with fully trained tables is now
less that 0.1%.

Change-Id: I06b44322e10c6703f93f3c1d48d973b1136a0618

11 years agoMerge "Remove unused vp9 ppc files" into experimental
John Koleszar [Thu, 11 Apr 2013 21:39:18 +0000 (14:39 -0700)]
Merge "Remove unused vp9 ppc files" into experimental

11 years agoRemove unused vp9_recon_mb{y,uv}_s
John Koleszar [Thu, 11 Apr 2013 21:05:11 +0000 (14:05 -0700)]
Remove unused vp9_recon_mb{y,uv}_s

These functions now are handled through the common superblock code.

Change-Id: Ib6688971bae297896dcec42fae1d3c79af7a611c

11 years agoWIP: removing predictor buffer usage from decoder
Scott LaVarnway [Wed, 10 Apr 2013 23:46:52 +0000 (19:46 -0400)]
WIP: removing predictor buffer usage from decoder

This patch will use the dest buffer instead of the
predictor buffer.  This will allow us in future commits
to remove the extra mem copy that occurs in the dequant
functions when eob == 0.  We should also be able to remove
extra params that are passed into the dequant functions.

Change-Id: I7241bc1ab797a430418b1f3a95b5476db7455f6a

11 years agoMerge "vp8: set y_crop_{width,height}" into experimental
John Koleszar [Thu, 11 Apr 2013 20:36:44 +0000 (13:36 -0700)]
Merge "vp8: set y_crop_{width,height}" into experimental

11 years agoMerge changes I6721e42f,Iaffb1ae8 into experimental
John Koleszar [Thu, 11 Apr 2013 20:36:25 +0000 (13:36 -0700)]
Merge changes I6721e42f,Iaffb1ae8 into experimental

* changes:
  tokenize: convert skippable functions
  Add foreach_transformed_block

11 years agoRemove unused vp9 ppc files
John Koleszar [Thu, 11 Apr 2013 20:29:37 +0000 (13:29 -0700)]
Remove unused vp9 ppc files

Change-Id: I3fe8c529ddec658cfa2376cfc05d9c8a5366e978

11 years agoRenaming vp9_token_struct to vp9_token and removing previous typedef.
Dmitry Kovalev [Thu, 11 Apr 2013 20:01:52 +0000 (13:01 -0700)]
Renaming vp9_token_struct to vp9_token and removing previous typedef.

Change-Id: If69c3d795f87af5cc7bfdfe70ef733c41b4d55c8

11 years agotokenize: convert skippable functions
John Koleszar [Thu, 11 Apr 2013 18:14:31 +0000 (11:14 -0700)]
tokenize: convert skippable functions

Use the common block walker to calculate skippability.

Change-Id: I6721e42f065df237426c91c1d871ec226ba7cdcb

11 years agoRemove subtract_mb* functions.
Ronald S. Bultje [Thu, 11 Apr 2013 18:32:58 +0000 (11:32 -0700)]
Remove subtract_mb* functions.

Use subtract_sb* instead.

Change-Id: I3f34140ab97061063a4452945347ef1fe37e13d1

11 years agoRemove unused macroblock versions of reconstruction functions.
Ronald S. Bultje [Thu, 11 Apr 2013 17:57:16 +0000 (10:57 -0700)]
Remove unused macroblock versions of reconstruction functions.

More specifically, remove vp9_quantize_mb*, vp9_optimize_mb*,
vp9_inverse_transform_mb* and vp9_transform_mb*. Instead, use the
generic _sb* functions that take a size argument, and call them with
BLOCK_SIZE_MB16X16.

Change-Id: I33024afea95d3a23ffbc1df7da426e4645110f29

11 years agoRemove "tplist" from VP9_COMP.
Ronald S. Bultje [Thu, 11 Apr 2013 17:28:45 +0000 (10:28 -0700)]
Remove "tplist" from VP9_COMP.

It is write-only.

Change-Id: I2412344688d96593cc01c038e7f51410d0f85ed0

11 years agoAdd foreach_transformed_block
John Koleszar [Tue, 9 Apr 2013 17:15:10 +0000 (10:15 -0700)]
Add foreach_transformed_block

Adds a framework for doing arbitrary functions on each transform-
sized block in the mb/sb.

Change-Id: Iaffb1ae8db5ff2abfa8720c608c78376b42f2096

11 years agoRemove vp9_reset_mb_tokens_context
John Koleszar [Thu, 11 Apr 2013 18:38:14 +0000 (11:38 -0700)]
Remove vp9_reset_mb_tokens_context

Use sb-common version instead.

Change-Id: If2552b5a39fd2e5272f66a41c5667dda85fd3939

11 years agoEncoder code cleanup.
Dmitry Kovalev [Thu, 11 Apr 2013 18:08:00 +0000 (11:08 -0700)]
Encoder code cleanup.

Removing duplicated code from vp9_encodemv.c and reusing ROUND_POWER_OF_TWO
macro definitions.

Change-Id: I9caf0c17f761ada7905cb99a3e2a31f871fef0f9

11 years agoMerge pick_sb_modes and pick_sb64_modes.
Ronald S. Bultje [Thu, 11 Apr 2013 16:33:49 +0000 (09:33 -0700)]
Merge pick_sb_modes and pick_sb64_modes.

Change-Id: Iad69e7a3b7e470acf6094f6a52e7da69066fd552

11 years agoSlight simplification of SB RD loop recursion conditions.
Ronald S. Bultje [Thu, 11 Apr 2013 16:14:55 +0000 (09:14 -0700)]
Slight simplification of SB RD loop recursion conditions.

Change-Id: I87a406fcd18ab043253ca0c009d1182fdc5c3046

11 years agoA few more cases where sb_type was used arithmetically.
Ronald S. Bultje [Thu, 11 Apr 2013 01:04:57 +0000 (18:04 -0700)]
A few more cases where sb_type was used arithmetically.

With these fixed, the codec produces identical results regardless of
what literal values are used for the enum members in BLOCK_SIZE_*.

Change-Id: I26db8e08019b58ba432af1f0950ebe6b0eb4ad8c

11 years agoRemove copying of coefficients and predictor in i8x8 RD loop.
Ronald S. Bultje [Wed, 10 Apr 2013 23:56:22 +0000 (16:56 -0700)]
Remove copying of coefficients and predictor in i8x8 RD loop.

The resulting values are never used.

Change-Id: I688caf30da9aab87aa280cce913eda4f33172293

11 years agoMake usage of sb_type independent of literal values.
Ronald S. Bultje [Wed, 10 Apr 2013 23:50:01 +0000 (16:50 -0700)]
Make usage of sb_type independent of literal values.

Change-Id: I0d12f9ef9d960df0172a1377f8e5236eb6d90492

11 years agoMake RD superblock mode search size-agnostic.
Ronald S. Bultje [Wed, 10 Apr 2013 22:55:59 +0000 (15:55 -0700)]
Make RD superblock mode search size-agnostic.

Merge various super_block_yrd and super_block_uvrd versions into one
common function that works for all sizes. Make transform size selection
size-agnostic also. This fixes a slight bug in the intra UV superblock
code where it used the wrong transform size for txsz > 8x8, and stores
the txsz selection for superblocks properly (instead of forgetting it).
Lastly, it removes the trellis search that was done for 16x16 intra
predictors, since trellis is relatively expensive and should thus only
be done after RD mode selection.

Gives basically identical results on derf (+0.009%).

Change-Id: If4485c6f0a0fe4038b3172f7a238477c35a6f8d3

11 years agoMerge "Make dequant/idct block size independent" into experimental
Jingning Han [Wed, 10 Apr 2013 23:47:53 +0000 (16:47 -0700)]
Merge "Make dequant/idct block size independent" into experimental

11 years agoMake dequant/idct block size independent
Jingning Han [Wed, 10 Apr 2013 19:30:20 +0000 (12:30 -0700)]
Make dequant/idct block size independent

The unified dequantization, inverse transform, and adding functions
support rectangular block sizes. Also separate the operations on
luma and chroma components, in the consideration of the txfm_size
for uv components in rectangular block sizes.

Change-Id: I2a13246b2a9086b37d575d346070990d854cc110

11 years agoMerge "Remove obselete code" into experimental
Yaowu Xu [Wed, 10 Apr 2013 21:56:28 +0000 (14:56 -0700)]
Merge "Remove obselete code" into experimental

11 years agoRemove obselete code
Yaowu Xu [Wed, 10 Apr 2013 20:45:22 +0000 (13:45 -0700)]
Remove obselete code

The strategy to run fast loop filter picking for encoder speed-up
should be revisited at a later stage.

Change-Id: I3b75e06d767cff41be952a42e63b3292f4eab996

11 years agoMerge "Make SB Decoding units size-independent" into experimental
Jingning Han [Wed, 10 Apr 2013 20:43:51 +0000 (13:43 -0700)]
Merge "Make SB Decoding units size-independent" into experimental

11 years agoMerge "Fixing upper case names." into experimental
Dmitry Kovalev [Wed, 10 Apr 2013 20:29:38 +0000 (13:29 -0700)]
Merge "Fixing upper case names." into experimental

11 years agoMake SB Decoding units size-independent
Jingning Han [Wed, 10 Apr 2013 03:34:25 +0000 (20:34 -0700)]
Make SB Decoding units size-independent

Unify the sb32x32 and sb64x64 decoding units, which also allow for
other rectangular block sizes.

Change-Id: Ia5187ab2af56f98c3f99272bdf4dbcabe798ad5d

11 years agoMerge "Code cleanup in bitstream code." into experimental
Dmitry Kovalev [Wed, 10 Apr 2013 17:18:50 +0000 (10:18 -0700)]
Merge "Code cleanup in bitstream code." into experimental