platform/upstream/libvpx.git
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 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 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

11 years agoMerge "Refactor encode_sb_ for 4x8/8x4 partition" into experimental
Jingning Han [Fri, 17 May 2013 16:19:48 +0000 (09:19 -0700)]
Merge "Refactor encode_sb_ for 4x8/8x4 partition" into experimental

11 years agoMerge "Replace default counts with default probs." into experimental
Paul Wilkins [Fri, 17 May 2013 15:58:53 +0000 (08:58 -0700)]
Merge "Replace default counts with default probs." into experimental

11 years agoMerge "New inter mode context." into experimental
Paul Wilkins [Fri, 17 May 2013 13:59:09 +0000 (06:59 -0700)]
Merge "New inter mode context." into experimental

11 years agoReplace default counts with default probs.
Paul Wilkins [Thu, 16 May 2013 15:29:33 +0000 (16:29 +0100)]
Replace default counts with default probs.

Replace vp9_kf_default_bmode_counts structure with
direct default probabilities. The probability structure is
smaller and it removes the need to specify in the bitstream
how to convert the counts to probabilities.

Note that I have concerns still about the size and value of
the large intra mode context. This may cause problems for
HW but it also means we rely heavily on reverse update as
forwards update of a structure this size is problematic. I
intend to review this more generally in the next few days to
see if we can come up with a competitive solution that does
not rely on such a large context.

Change-Id: I0a36071079d5d26a57ab0e9fbf91af4199aa7984

11 years agoholds utility debugging functions
Jim Bankoski [Fri, 17 May 2013 13:29:28 +0000 (06:29 -0700)]
holds utility debugging functions

This one prints out a visual version of the partitioning for human
eyes to follow...

Change-Id: Iba434589a2f55eb069484686d99a382db93b9548

11 years agoRemove MODE_STATS flag and code
Paul Wilkins [Thu, 16 May 2013 12:40:32 +0000 (13:40 +0100)]
Remove MODE_STATS flag and code

Change-Id: I6c70a8a8a4633399842ac74792003ae5f7859ffa

11 years agoInitial version of alpha channel support
John Koleszar [Thu, 16 May 2013 00:55:08 +0000 (17:55 -0700)]
Initial version of alpha channel support

This is a mostly-working implementation of an extra channel in the
bitstream. Configure with --enable-alpha to test. Notable TODOs:

 - Add extra channel to all mismatch tests, PSNR, SSIM, etc
 - Configurable subsampling
 - Variable number of planes (currently always uses all 4)
 - Loop filtering
 - Per-plane lossless quantizer
 - ARNR support

This implementation just uses the same contents as the Y channel
for the A channel, due to lack of content and general pain in
playing back 4 channel content. A later patch will use the actual
alpha channel passed in from outside the codec.

Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592

11 years agoRefactor encode_sb_ for 4x8/8x4 partition
Jingning Han [Thu, 16 May 2013 23:13:33 +0000 (16:13 -0700)]
Refactor encode_sb_ for 4x8/8x4 partition

Deprecate set_block_index. Replace it with get_sb_index_ for
consistency with partition search and bit-stream writing/reading.

Use b_width/height_log2 instead of mi_width/height_log2, to support
4x4 resolution partition types.

Change-Id: Ic1e71981e163c669f7ea6b3c12b831c284c4a494

11 years agoMerge "Use b_width_log2_ in partition type parse" into experimental
Jingning Han [Thu, 16 May 2013 23:02:35 +0000 (16:02 -0700)]
Merge "Use b_width_log2_ in partition type parse" into experimental

11 years agoMerge "Remove vp9_extend_mb_row()" into experimental
John Koleszar [Thu, 16 May 2013 22:22:38 +0000 (15:22 -0700)]
Merge "Remove vp9_extend_mb_row()" into experimental

11 years agoMerge "WIP: 8x8 idct/recon merge" into experimental
Scott LaVarnway [Thu, 16 May 2013 21:28:30 +0000 (14:28 -0700)]
Merge "WIP: 8x8 idct/recon merge" into experimental

11 years agoMerge "Combining integer and fractional parts of mvs for entropy coding." into experi...
Dmitry Kovalev [Thu, 16 May 2013 21:16:47 +0000 (14:16 -0700)]
Merge "Combining integer and fractional parts of mvs for entropy coding." into experimental

11 years agoUse b_width_log2_ in partition type parse
Jingning Han [Thu, 16 May 2013 20:30:00 +0000 (13:30 -0700)]
Use b_width_log2_ in partition type parse

Replace mi_width/height_log2 with b_width/height_log2 in partition
type parsing at bit-stream writing stage. This allows parsing
resolution at 4x4 block level and makes the 4x4/4x8/8x4 partition
coding consistent with other superblock types.

Change-Id: I7db3617ea042e0db2dc898999b0c323bff91a22f

11 years agoRemoved Q threshold in the usage of ADST
Yaowu Xu [Tue, 14 May 2013 17:35:11 +0000 (10:35 -0700)]
Removed Q threshold in the usage of ADST

Test on cif set showed small but consistent compression gain for
almost all encodings with overall impact of .08%. The gains average
aournd .12% combined with D63 adst change.

Test encoding on std-hd set is ongoing..

Change-Id: If4d94799cf0486fb9c770b193e5c386d13d99d59

11 years agoMerge "Removing lossless flag from the bitstream." into experimental
Dmitry Kovalev [Thu, 16 May 2013 19:08:27 +0000 (12:08 -0700)]
Merge "Removing lossless flag from the bitstream." into experimental

11 years agoRemove vp9_extend_mb_row()
John Koleszar [Thu, 16 May 2013 18:48:34 +0000 (11:48 -0700)]
Remove vp9_extend_mb_row()

This code is no longer needed for correct intra prediction.

Change-Id: I822d1a8b0ad0a00e7c4c6e7b2931790c39d1267d

11 years agoWIP: 8x8 idct/recon merge
Scott LaVarnway [Thu, 16 May 2013 17:52:15 +0000 (13:52 -0400)]
WIP: 8x8 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: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45

11 years agoAdd building blocks for 4x8/8x4 rd search
Jingning Han [Wed, 15 May 2013 19:19:59 +0000 (12:19 -0700)]
Add building blocks for 4x8/8x4 rd search

These building blocks enable rate-distortion optimization search
over block sizes of 8x4 and 4x8. Need to convert them into mmx/sse
forms.

Change-Id: I570ea2d22d14ceec3fe3575128d7dfa172a577de

11 years agoMerge "Fix the transform type selection in 4x4 partition" into experimental
Jingning Han [Thu, 16 May 2013 17:14:49 +0000 (10:14 -0700)]
Merge "Fix the transform type selection in 4x4 partition" into experimental

11 years agoNew inter mode context.
Paul Wilkins [Thu, 16 May 2013 10:27:12 +0000 (11:27 +0100)]
New inter mode context.

This patch creates a new inter mode contest that avoids
a dependence on the reconstructed motion vectors from
neighboring blocks. This was a change requested by
a hardware vendor to improve decode performance.

As part of this change I have also made some modifications
to stats output code (under a flag) to allow accumulation of
inter mode context flags over multiple clips

Some further changes will be required to accommodate the
deprecation of the split mv mode over the next few days.

Performance as stands is around -0.25% on derf and
std-hd but up on the YT and YT-HD sets. With further tuning
or some adjustment to the context criteria it should be
possible to make this change broadly neutral.

Change-Id: Ia15cb4470969b9e87332a59c546ae0bd40676f6c

11 years agoMerge "Further Implicit Segmentation Changes" into experimental
Paul Wilkins [Thu, 16 May 2013 10:03:44 +0000 (03:03 -0700)]
Merge "Further Implicit Segmentation Changes" into experimental

11 years agoAdd vp9_extend_frame_borders
John Koleszar [Wed, 8 May 2013 23:18:44 +0000 (16:18 -0700)]
Add vp9_extend_frame_borders

Adds a subsampling aware border extension function. This may be reworked
soon to support more than 3 planes.

Change-Id: I76b81901ad10bb1e678dd4f0d22740ca6c76c43b

11 years agoMerge "Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0" into experimental
John Koleszar [Thu, 16 May 2013 03:58:15 +0000 (20:58 -0700)]
Merge "Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0" into experimental

11 years agoRemoving lossless flag from the bitstream.
Dmitry Kovalev [Thu, 16 May 2013 01:20:51 +0000 (18:20 -0700)]
Removing lossless flag from the bitstream.

Change-Id: If6aee510cbc4910f2f24fcd92dddc65fdf8edeea

11 years agoFix vp9_build_intra_predictors_sbuv_s for non-4:2:0
John Koleszar [Wed, 8 May 2013 23:17:09 +0000 (16:17 -0700)]
Fix vp9_build_intra_predictors_sbuv_s for non-4:2:0

Remove an assumption about chroma size, and the number of planes.

Change-Id: I286a7fac296ec334c6a8ad847f663f3adbb9f43e

11 years agoMerge "Fix first-pass encoding test" into experimental
Jingning Han [Thu, 16 May 2013 00:01:04 +0000 (17:01 -0700)]
Merge "Fix first-pass encoding test" into experimental

11 years agoMerge "Moving the same code to new function vp9_setup_scale_factors." into experimental
Dmitry Kovalev [Wed, 15 May 2013 23:50:33 +0000 (16:50 -0700)]
Merge "Moving the same code to new function vp9_setup_scale_factors." into experimental

11 years agoMerge "Adding alpha plane to YV12_BUFFER_CONFIG structure." into experimental
Dmitry Kovalev [Wed, 15 May 2013 23:49:53 +0000 (16:49 -0700)]
Merge "Adding alpha plane to YV12_BUFFER_CONFIG structure." into experimental

11 years agoMoving the same code to new function vp9_setup_scale_factors.
Dmitry Kovalev [Wed, 15 May 2013 00:10:17 +0000 (17:10 -0700)]
Moving the same code to new function vp9_setup_scale_factors.

Change-Id: I2408ad22717784a40e23701ccb9d978265440e4f

11 years agoAdding alpha plane to YV12_BUFFER_CONFIG structure.
Dmitry Kovalev [Wed, 15 May 2013 23:29:20 +0000 (16:29 -0700)]
Adding alpha plane to YV12_BUFFER_CONFIG structure.

Change-Id: I8b2687138df636b2b78c8cc5156e3882b0009de0

11 years agoFix the transform type selection in 4x4 partition
Jingning Han [Wed, 15 May 2013 17:19:40 +0000 (10:19 -0700)]
Fix the transform type selection in 4x4 partition

This commit allows proper transform type (DCT/ADST) selection in
the settings of partition 4x4 level.

Change-Id: Iec6f922a46480d777e7ca9142a99e8c131f0077b

11 years agoMerge "Preparing vp9_deblock and vp9_denoise to alpha support." into experimental
Dmitry Kovalev [Wed, 15 May 2013 22:40:52 +0000 (15:40 -0700)]
Merge "Preparing vp9_deblock and vp9_denoise to alpha support." into experimental

11 years agoMerge "Moving several static functions from vp9_reconinter.h to vp9_reconinter.c...
Dmitry Kovalev [Wed, 15 May 2013 22:39:43 +0000 (15:39 -0700)]
Merge "Moving several static functions from vp9_reconinter.h to vp9_reconinter.c." into experimental

11 years agoFix first-pass encoding test
Jingning Han [Wed, 15 May 2013 21:12:33 +0000 (14:12 -0700)]
Fix first-pass encoding test

Always initialize the mode_info with sb_type of BLOCK_SIZE_MB16X16
for the first-pass encoding test.

Change-Id: Ic86393eeef981bdd523a5b44cfac3f0b24c068b7

11 years agoCombining integer and fractional parts of mvs for entropy coding.
Dmitry Kovalev [Wed, 15 May 2013 19:37:03 +0000 (12:37 -0700)]
Combining integer and fractional parts of mvs for entropy coding.

Combining encode_nmv_component with encode_nmv_component_fp
and read_nmv_component with read_nmv_component_fp. Bitstream is slightly
changed (only the order of bits), here are the results on test sets:
stdhd: +0.047, yt: -0.038, derf: +0.001, hd: -0.011.

Change-Id: I1be312e976796df78ca63368702d0ee19f2b8c50

11 years agoWIP: 16x16 idct/recon merge
Scott LaVarnway [Wed, 15 May 2013 17:16:02 +0000 (13:16 -0400)]
WIP: 16x16 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: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1

11 years agoFurther Implicit Segmentation Changes
Paul Wilkins [Sat, 27 Apr 2013 22:49:49 +0000 (23:49 +0100)]
Further Implicit Segmentation Changes

Trial use of a combination of reference frame,
prediction block size and mv to define segmentation.

Change-Id: Ie8946a0446dbad777fdcf7626f89e5af0994db50

11 years agoMoving several static functions from vp9_reconinter.h to vp9_reconinter.c.
Dmitry Kovalev [Wed, 15 May 2013 00:49:41 +0000 (17:49 -0700)]
Moving several static functions from vp9_reconinter.h to vp9_reconinter.c.

Change-Id: I5da9c16bab26f6ff0c9d3a2a29ef6c84f5093161

11 years agoWIP: 32x32 idct/recon merge
Scott LaVarnway [Tue, 14 May 2013 15:58:13 +0000 (11:58 -0400)]
WIP: 32x32 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: I4ea09df0e162591e420d869b7431c2e7f89a8c1a

11 years agoEnable recursive partition down to 4x4
Jingning Han [Sat, 11 May 2013 00:06:37 +0000 (17:06 -0700)]
Enable recursive partition down to 4x4

This commit allows the rate-distortion optimization recursion
at encoder to go down to 4x4 block size. It deprecates the use
of I4X4_PRED and SPLITMV syntax elements from bit-stream
writing/reading. Will remove the unused probability models in
the next patch.

The partition type search and bit-stream are now capable of
supporting the rectangular partition of 8x8 block, i.e., 8x4
and 4x8. Need to revise the rate-distortion parts to get these
two partition tested in the rd loop.

Change-Id: I0dfe3b90a1507ad6138db10cc58e6e237a06a9d6

11 years agoPreparing vp9_deblock and vp9_denoise to alpha support.
Dmitry Kovalev [Tue, 14 May 2013 18:01:57 +0000 (11:01 -0700)]
Preparing vp9_deblock and vp9_denoise to alpha support.

Change-Id: I299feefa64b93bd62263aea1ff1e41e85faeb6ca

11 years agoMerge "Do joint motion search iteratively" into experimental
Yunqing Wang [Tue, 14 May 2013 17:18:11 +0000 (10:18 -0700)]
Merge "Do joint motion search iteratively" into experimental

11 years agoMerge "changed to use adst for D63_PRED" into experimental
Yaowu Xu [Tue, 14 May 2013 16:30:17 +0000 (09:30 -0700)]
Merge "changed to use adst for D63_PRED" into experimental

11 years agoMerge "Revert "Preparing vp9_deblock and vp9_denoise to alpha support."" into experim...
John Koleszar [Tue, 14 May 2013 13:47:44 +0000 (06:47 -0700)]
Merge "Revert "Preparing vp9_deblock and vp9_denoise to alpha support."" into experimental

11 years agoRevert "Preparing vp9_deblock and vp9_denoise to alpha support."
John Koleszar [Tue, 14 May 2013 13:46:11 +0000 (06:46 -0700)]
Revert "Preparing vp9_deblock and vp9_denoise to alpha support."

This reverts commit a933311131bfc77ffd1c64b29f7e1688a1c4b192

Change-Id: I2321f88011178381adbcffeda1bcc6a430ab8f1d

11 years agochanged to use adst for D63_PRED
Yaowu Xu [Mon, 13 May 2013 23:51:47 +0000 (16:51 -0700)]
changed to use adst for D63_PRED

To be consistent with other prediciton modes

Change-Id: If9e1464e5c807f0b36047a046c4ac59d91b1b868

11 years agoMerge "Using loop through all planes inside scale_and_extend_frame function." into...
Dmitry Kovalev [Tue, 14 May 2013 04:50:39 +0000 (21:50 -0700)]
Merge "Using loop through all planes inside scale_and_extend_frame function." into experimental

11 years agoMerge "Preparing vp9_deblock and vp9_denoise to alpha support." into experimental
Dmitry Kovalev [Tue, 14 May 2013 04:48:37 +0000 (21:48 -0700)]
Merge "Preparing vp9_deblock and vp9_denoise to alpha support." into experimental

11 years agoMerge "Moving vp9_decode_frame declaration to vp9_decodframe.h." into experimental
Dmitry Kovalev [Tue, 14 May 2013 04:47:10 +0000 (21:47 -0700)]
Merge "Moving vp9_decode_frame declaration to vp9_decodframe.h." into experimental

11 years agoMerge "Adding encode_quantization function." into experimental
Dmitry Kovalev [Tue, 14 May 2013 04:46:54 +0000 (21:46 -0700)]
Merge "Adding encode_quantization function." into experimental

11 years agoMerge "Code cleanup inside vp9_firstpass.c." into experimental
Dmitry Kovalev [Tue, 14 May 2013 04:46:14 +0000 (21:46 -0700)]
Merge "Code cleanup inside vp9_firstpass.c." into experimental

11 years agoMerge "Removing simple loopfilter and code duplication from loopfilter code." into...
Dmitry Kovalev [Tue, 14 May 2013 01:25:15 +0000 (18:25 -0700)]
Merge "Removing simple loopfilter and code duplication from loopfilter code." into experimental