Commit Graph

3650 Commits

Author SHA1 Message Date
Ronald S. Bultje
f090b6b47b Restructure vp9_decode_mb_tokens_16x16() a bit.
Don't declare variables if they only ever have a single value and are
used only as argument to another function call; instead, just hardcode
the value in the function call directly. Also remove unneeded brackets
around a code block, and remove the magic offsets 64 and 256 for chroma
values in the coefficient memory block.

Change-Id: I14fc14120a81ea1d6fb862674e8bf8cf6ba3d114
2012-11-23 09:11:12 -08:00
Ronald S. Bultje
0312c3d6d9 Make get_eob() function static.
Change-Id: Idde3ab97960eda7022367c1f91a873a479bc9d7b
2012-11-23 08:17:06 -08:00
Ronald S. Bultje
4422847143 Rename "block_type" function argument to "txfm_size".
Also fix the type (TX_SIZE instead of int).

Change-Id: Ib9b3f33835e58a6e758ed5f37bb64543e62b6a86
2012-11-23 08:15:00 -08:00
Jim Bankoski
91d703b2b2 Merge "remove subpixel invoke functions" into experimental 2012-11-21 19:55:16 -08:00
Ronald S. Bultje
a5e542e74b Fix enc/dec mismatch with b_context_pred experiment enabled.
Change-Id: I1272ae3f0fdfb7ed8eb364ef0c6dd1818d3179d7
2012-11-21 12:39:55 -08:00
Jim Bankoski
3338af4109 remove subpixel invoke functions
Removed the rtcd subpixel invoke functions.

Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
2012-11-21 09:16:30 -08:00
Jim Bankoski
e25bd474ad fixed const problem
NEEDED FOR BUILD

Change-Id: I56a3e68f15dff480b34de048e30231ba821b1ee2
2012-11-21 06:46:25 -08:00
Jim Bankoski
4ad2f08c72 Merge "clean out some of the rtcd code." into experimental 2012-11-21 06:41:37 -08:00
John Koleszar
efb2f92702 Merge "vpxenc: don't print STATS_PKT size w/--quiet" 2012-11-20 20:35:41 -08:00
John Koleszar
9cc6f078dc Merge "vp8_loop_filter_bh_y_sse2: save/restore xmm registers" 2012-11-20 20:23:41 -08:00
James Zern
17718fbbcd vp8_filter_block1d4_h6_ssse3: add missing xmm restore
Change-Id: Ia8f6b6c2a9ed60bee7949dd06fcc18b392e91d76
2012-11-20 17:52:03 -08:00
James Zern
0d80584327 vp8_loop_filter_bh_y_sse2: save/restore xmm registers
xmm[6-11] should be saved and restored for Windows x64; prevents an
encoder mismatch and some datarate issues.

Change-Id: I03c38eb18ec20c6c441cae19416393058baad1ee
2012-11-20 17:49:24 -08:00
John Koleszar
414f68d266 Merge "Pack invisible frames without lengths" into experimental 2012-11-20 17:22:50 -08:00
John Koleszar
b551d82d92 Merge "make: fix dependency generation for flat build tree" into experimental 2012-11-20 17:22:37 -08:00
Yunqing Wang
bbe5e032a4 Fix ref_stride in sad function
Used ref_stride.

Change-Id: I31f0a3bb935520f54d11a1d87315627f162ae845
2012-11-20 10:01:20 -08:00
John Koleszar
2978bb8762 make: fix dependency generation for flat build tree
Update the fmt_deps function to use a new sed expression to convert the
object file name generated by the compiler into the path-transformed
name of the .o and .d files.

Prior to this patch, changing a header file would not trigger an
incremental build.

Change-Id: I07f498a1d134577b89a72e3f1143c737b31a0636
2012-11-20 07:36:35 -08:00
James Zern
b52288aaff vp8_intra_pred_y_tm_sse2: save/restore xmm registers
xmm6/xmm7 should be saved and restored for Windows x64; prevents an
encoder mismatch and some datarate issues.

Change-Id: Ifa1a82ab25fbdc5112d66f5332e14b16e69ac164
2012-11-19 18:45:17 -08:00
Johann
8bb82fded5 Upstream build bug for chromium
https://codereview.chromium.org/11413061/

The Android NDK automatically manages the include directories. Trying
to do so manually for the Android GYP files can cause the wrong setjmp.h
to be included.

Change-Id: I5c3769f983fcbad1ed602feda781690c6e4e97b3
2012-11-19 12:47:27 -08:00
Jim Bankoski
f4871b6a3f clean out some of the rtcd code.
This removes functions that are no longer needed and cleans up some warnings.

Change-Id: I292a4c3694e9c1d68ce99cea390905b198434719
2012-11-18 12:33:18 -08:00
James Zern
6475224e4f vpxenc: don't print STATS_PKT size w/--quiet
missed in 1fc3cc8

Change-Id: I80ffc1179245bc124e9938aad92a4d5fdfee187b
2012-11-17 16:36:02 -08:00
Ronald S. Bultje
4db08237e0 Merge "Assign above/left context in decode_coefs() instead of in caller." into experimental 2012-11-17 14:41:15 -08:00
Ronald S. Bultje
18e42dddf2 Merge "Remove unused argument from decode_coefs() function prototype." into experimental 2012-11-17 14:41:07 -08:00
Ronald S. Bultje
d0b525656b Merge "Remove coef_bands_x[] array and related machinery in decode_coefs()." into experimental 2012-11-17 14:40:56 -08:00
Ronald S. Bultje
825b20b0ae Merge "Inline count_tokens() in decode_coefs()." into experimental 2012-11-17 14:40:48 -08:00
Ronald S. Bultje
4db4f98b52 Merge "Merge various count_token() functions into a single one." into experimental 2012-11-17 14:40:41 -08:00
Ronald S. Bultje
5d7cb59035 Assign above/left context in decode_coefs() instead of in caller.
this prevents duplicating the same line of code in each caller of
decode_coefs().

Change-Id: Id7996ad394828bf77ef3d5e03002f577c9f79609
2012-11-17 11:22:38 -08:00
Ronald S. Bultje
3bdf302ce7 Remove unused argument from decode_coefs() function prototype.
Change-Id: I8d2539ba1046012c948520ac23a1f1978be921c5
2012-11-17 11:11:06 -08:00
Ronald S. Bultje
a253b3791b Remove coef_bands_x[] array and related machinery in decode_coefs().
Change-Id: I0a36d1efb3bb81a54005b10316550ec67100559e
2012-11-17 11:07:23 -08:00
Ronald S. Bultje
511ef2072c Inline count_tokens() in decode_coefs().
This prevents the relatively expensive token-from-coefficient lookup
function get_token(), plus a duplicate loop..

Change-Id: Ibecd407b2a91d3593d439ec4646e43fa26d2ff91
2012-11-17 10:35:47 -08:00
Ronald S. Bultje
56352f189d Merge various count_token() functions into a single one.
Change-Id: I1970f43e2cb5f7d9744c7249099eed226f16f162
2012-11-17 10:18:41 -08:00
Jim Bankoski
b38b6abccc Merge "removal of temporal invoke" into experimental 2012-11-17 09:53:02 -08:00
Ronald S. Bultje
166d24d07e Remove unused function count_tokens() in detokenize.c.
Change-Id: I178f250b1a4d41d5a9c1619091f5ae51cebffb10
2012-11-17 07:45:46 -08:00
Jim Bankoski
cb98b83239 removal of temporal invoke
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
2012-11-17 06:11:01 -08:00
Ronald S. Bultje
f19a1cafed Remove special-case inline detokenization in b_pred reconstruction.
Just like for all other block modes, b_pred tokens can be read together
before starting macroblock reconstruction. This removes special cases
for b_pred in decode_macroblock() and allows to make decode_coefs_4x4()
static in detokenize.c.

While at it, remove the redundant handling and checking of plane_type
and block_index (i) in decode_coefs_4x4(). Since the function is static,
and is called only from decode_mb_tokens_4x4(), we don't need to worry
that the arguments ever go out of sync.

Change-Id: I2d415da0b51b89d0490a6b9e24cc86363c2090f7
2012-11-16 22:26:12 -08:00
Yunqing Wang
0eb5590425 Merge "Add const before the dequant(dq)" into experimental 2012-11-16 12:35:17 -08:00
Yunqing Wang
4c7c15ee69 Merge "Optimize 8x8 dequant and idct" into experimental 2012-11-16 12:23:06 -08:00
Yunqing Wang
47d9d48fa4 Add const before the dequant(dq)
Modified code to use const before dq.

Change-Id: I6fa59c2ed9743ded33ad08df70e15c2fe1ae7b99
2012-11-16 12:13:13 -08:00
Yaowu Xu
7bb2afa1da Merge "remove yasm.rules" into experimental 2012-11-16 11:46:58 -08:00
Yaowu Xu
9152f4851d remove yasm.rules
As we changed the scripts to compile asm files using customized command
for each file.

Change-Id: I975713f3d0cce2238de3ee3fe44e3227385f0c64
2012-11-16 11:09:26 -08:00
Ronald S. Bultje
5b11052ac1 Support 32x32 intra modes in non-keyframe superblocks.
Change-Id: Icf8ad313c543462e523bff89690e5daa8d49bcc0
2012-11-16 09:54:43 -08:00
Johann
999f31f71c Move documentation file list to relevant make file
Change-Id: I2fe3095c4eb60233f00830d4124583ce7a64caa4
2012-11-16 09:16:25 -08:00
Paul Wilkins
a57dbd957b Further experimentation with the mode context
Experiments with a larger set of contexts and some
clean up to replace magic numbers regarding the
number of contexts.

The starting values and rate of backwards adaption
are still suspect and based on a small set of tests.
Added forwards adjustment of probabilities.

The net result of adding the new context and forward
update is small compared to the old context from the
legacy find_near function.  (down a little on derf but
up by a similar amount for HD)

HOWEVER.... with the new context and forward update
the impact of disabling the reverse update (which may be
necessary in some use cases to facilitate parallel decoding)
is hugely reduced.

For the old context without forward update, the impact of
turning off reverse update (Experiment was with SB off) was
Derf - 0.9, Yt -1.89, ythd -2.75 and sthd -8.35. The impact was
mainly at low data rates.

With the new context and forward update enabled the impact
for all the test sets was no more than 0.5-1% (again most at
the low end).

Change-Id: Ic751b414c8ce7f7f3ebc6f19a741d774d2b4b556
2012-11-16 16:58:00 +00:00
John Koleszar
6bca6decbf Merge "Don't write recon.yuv by default" into experimental 2012-11-16 08:41:40 -08:00
Deb Mukherjee
cb2d06ceac Merge "Compound inter-intra experiment" into experimental 2012-11-16 08:30:34 -08:00
Yaowu Xu
170305dcd3 Merge "changed mv candidate search for superblocks" into experimental 2012-11-16 07:21:55 -08:00
Yaowu Xu
415e6bff4d changed mv candidate search for superblocks
added additional motion vectors at close neighborhood of a superblock
to the list of candiate motion vectors, and removed a couple that are
further away.

The change helped std-hd set about .8% (all metrics) and smaller gain
for derf set.

Change-Id: Iaa69b98614db43420ed3fd4738d0ca5587b90045
2012-11-16 07:01:13 -08:00
Deb Mukherjee
0c917fc975 Compound inter-intra experiment
A patch on compound inter-intra prediction.

In compound inter-intra prediction, a new predictor for
16x16 inter coded MBs are obtained by combining a single
inter predictor with a 16x16 intra predictor, in a manner
that the weight varies with distance from the top/left
boundary. The current search strategy is to combine the best
inter mode with the best intra mode obtained independently.

Results so far:

derf +0.31%
yt +0.32%
std-hd +0.35%
hd +0.42%

It is conceivable that the results would improve somewhat
with a more thorough search strategy where all intra modes
are searched given the best mv, or even a joint search for
the best mv and the best intra mode.

Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
2012-11-16 06:56:29 -08:00
Yaowu Xu
1c56946ec1 Merge "subpelrefmv for superblocks" into experimental 2012-11-16 05:49:32 -08:00
Johann
7c7801e34d Each make file is responsible for its own directory
Change-Id: Ia8a59ce79045af209e49c68810bae44616422db5
2012-11-15 16:41:03 -08:00
Johann
a5ffcdd8d4 Sequester vpx_ports file list
Move BUILD_LIBVPX evaluation before the include.

Change-Id: I8860414c42a8161765a17bf433ff2607c0d027ca
2012-11-15 16:28:20 -08:00