platform/upstream/libvpx.git
11 years agoMerge "copy partitioning from last fame"
Jim Bankoski [Thu, 20 Jun 2013 16:32:43 +0000 (09:32 -0700)]
Merge "copy partitioning from last fame"

11 years agocopy partitioning from last fame
Jim Bankoski [Thu, 20 Jun 2013 16:32:19 +0000 (09:32 -0700)]
copy partitioning from last fame

Change-Id: I26e80ede80cb4389378a95afa95d229092a9859a

11 years agoMerge "test_libvpx: disable pthreads in gtest"
John Koleszar [Thu, 20 Jun 2013 16:05:58 +0000 (09:05 -0700)]
Merge "test_libvpx: disable pthreads in gtest"

11 years agoRemoved a number of unnecessary check on ref_frame
Yaowu Xu [Thu, 20 Jun 2013 00:34:49 +0000 (17:34 -0700)]
Removed a number of unnecessary check on ref_frame

Since intra block decoding is handled by decode_sb_intra() separately.

Change-Id: I42d757884714084c92fc23ec5d35d4dc946f4b15

11 years agotest_libvpx: disable pthreads in gtest
James Zern [Wed, 19 Jun 2013 02:19:20 +0000 (19:19 -0700)]
test_libvpx: disable pthreads in gtest

currently threading is internal to libvpx so thread safety is unneeded
in libgtest -- visual studio builds already operate in this way as they
do not have pthread.h available by default.

this removes an unconditional link to libpthread using $(extralibs)
should libvpx require it.

Change-Id: Ieae1d693406653a54b54fba818c598836797d33b

11 years agoMerge "Add two-pass quantization"
Yunqing Wang [Wed, 19 Jun 2013 18:35:40 +0000 (11:35 -0700)]
Merge "Add two-pass quantization"

11 years agoAdd two-pass quantization
Yunqing Wang [Wed, 19 Jun 2013 00:09:50 +0000 (17:09 -0700)]
Add two-pass quantization

Optimized the quantization function by making it a two-pass
process. The first pass does a quick checking of the transform
coefficients against the base ZBIN, and only keep the good
enough set of coefficients for quantization. A skipping
check is added. If all coefficients are within the base ZBIN, no
quantization is needed. The second pass is the actual quantization
pass, which only processes the coefficient subset determined
in first pass. This reduces the computation. Furthermore, an
alternitive method is used for large transform size, which often
has sparse nonzero quantized coefficients.

Overall, the encoder speedup is about 4%. The quantization function
itself gets 20% faster.

Change-Id: I3a9dd0da6db030260b6d9c314a9fa48ecae89f22

11 years agoRemove unnecessary copying of probs.
Yaowu Xu [Wed, 19 Jun 2013 01:18:25 +0000 (18:18 -0700)]
Remove unnecessary copying of probs.

Change-Id: Ic924f07c6ab0c929c6cdf11880d3c625806e272c

11 years agoMerge "tests: clear system state after non-API calls"
John Koleszar [Tue, 18 Jun 2013 23:40:15 +0000 (16:40 -0700)]
Merge "tests: clear system state after non-API calls"

11 years agoMerge "Make fdct32 computation flow within 16bit range"
Jingning Han [Tue, 18 Jun 2013 18:40:14 +0000 (11:40 -0700)]
Merge "Make fdct32 computation flow within 16bit range"

11 years agotests: clear system state after non-API calls
James Zern [Tue, 18 Jun 2013 05:58:40 +0000 (22:58 -0700)]
tests: clear system state after non-API calls

add ClearSystemState() to reset MMX registers avoiding corrupting
subsequent tests.

Change-Id: I668deb09aa7aa467709776e5819f936910698bc0

11 years agoMerge "Code cleanup inside the decoder code."
Dmitry Kovalev [Tue, 18 Jun 2013 17:16:46 +0000 (10:16 -0700)]
Merge "Code cleanup inside the decoder code."

11 years agoMerge "Removing vp9_invtrans.{c, h} files."
Dmitry Kovalev [Tue, 18 Jun 2013 17:16:25 +0000 (10:16 -0700)]
Merge "Removing vp9_invtrans.{c, h} files."

11 years agoMake fdct32 computation flow within 16bit range
Jingning Han [Fri, 14 Jun 2013 18:28:56 +0000 (11:28 -0700)]
Make fdct32 computation flow within 16bit range

This commit makes use of dual fdct32x32 versions for rate-distortion
optimization loop and encoding process, respectively. The one for
rd loop requires only 16 bits precision for intermediate steps.
The original fdct32x32 that allows higher intermediate precision (18
bits) was retained for the encoding process only.

This allows speed-up for fdct32x32 in the rd loop. No performance
loss observed.

Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3

11 years agoMerge "Move subpixel variance function from common/ to encoder/."
Ronald S. Bultje [Tue, 18 Jun 2013 16:07:21 +0000 (09:07 -0700)]
Merge "Move subpixel variance function from common/ to encoder/."

11 years agoMerge "Use assembly-optimized variance functions in sub_pixel_{avg}_var()."
Ronald S. Bultje [Tue, 18 Jun 2013 16:07:11 +0000 (09:07 -0700)]
Merge "Use assembly-optimized variance functions in sub_pixel_{avg}_var()."

11 years agoMerge "vpx_ports/x86.h: de-dup #elif block"
John Koleszar [Tue, 18 Jun 2013 15:26:54 +0000 (08:26 -0700)]
Merge "vpx_ports/x86.h: de-dup #elif block"

11 years agoconvolve_test: align filter arrays
James Zern [Tue, 18 Jun 2013 06:11:01 +0000 (23:11 -0700)]
convolve_test: align filter arrays

fixes issue #583

Change-Id: I4b855a5b5b168c8961410cef6ab5e6d86f14d301

11 years agovpx_ports/x86.h: de-dup #elif block
James Zern [Tue, 18 Jun 2013 04:58:00 +0000 (21:58 -0700)]
vpx_ports/x86.h: de-dup #elif block

Change-Id: I052647e13dd24354888c890f6b4a987d989552ae

11 years agoCode cleanup inside the decoder code.
Dmitry Kovalev [Fri, 14 Jun 2013 22:11:18 +0000 (15:11 -0700)]
Code cleanup inside the decoder code.

Change-Id: I927c7223996cdeb44f46e0e6c2e2054d458c300b

11 years agoMove subpixel variance function from common/ to encoder/.
Ronald S. Bultje [Mon, 17 Jun 2013 23:54:09 +0000 (16:54 -0700)]
Move subpixel variance function from common/ to encoder/.

This seems to only be used in the encoder. Also remove an empty wrapper
file that contained forward declarations for this function, but didn't
actually define any actual functions.

Change-Id: Ifc561eef7ebe374a7d03698055e51e105f6d614b

11 years agoRemoving vp9_invtrans.{c, h} files.
Dmitry Kovalev [Mon, 17 Jun 2013 23:09:03 +0000 (16:09 -0700)]
Removing vp9_invtrans.{c, h} files.

Moving single function from vp9_invtrans.c to vp9_encodemb.c.

Change-Id: I26bf6bb90de342a3036c0dbfba78a7dd75a61fe7

11 years agoUse assembly-optimized variance functions in sub_pixel_{avg}_var().
Ronald S. Bultje [Mon, 17 Jun 2013 21:57:13 +0000 (14:57 -0700)]
Use assembly-optimized variance functions in sub_pixel_{avg}_var().

2.5% faster when encoding first 50 frames of bus @ 1500kbps.

Change-Id: I5a64703996cf7fd39b07e32c72311c4b125ec6d4

11 years agoMerge "Fixing compilation error on Mac OS."
Dmitry Kovalev [Mon, 17 Jun 2013 21:40:29 +0000 (14:40 -0700)]
Merge "Fixing compilation error on Mac OS."

11 years agoMerge "Fix typo ('weight' instead of 'width')."
Ronald S. Bultje [Mon, 17 Jun 2013 21:30:57 +0000 (14:30 -0700)]
Merge "Fix typo ('weight' instead of 'width')."

11 years agoFix typo ('weight' instead of 'width').
Ronald S. Bultje [Mon, 17 Jun 2013 20:56:11 +0000 (13:56 -0700)]
Fix typo ('weight' instead of 'width').

Change-Id: I5d3944051d091b4bf3eb13e2a30132d34203ef74

11 years agoFixing compilation error on Mac OS.
Dmitry Kovalev [Mon, 17 Jun 2013 20:50:22 +0000 (13:50 -0700)]
Fixing compilation error on Mac OS.

The error happened because of vp8_decrypt_cb typedef redefinition in both
treereader.h and vp8dx.h. Removing typedef from vp8dx.h in favor of raw
function pointer declaration.

Change-Id: I0266eb341ce433d40caf0abf8748694d505ee786

11 years agoMerge "Removed hardcoded global->limit"
John Koleszar [Mon, 17 Jun 2013 19:33:53 +0000 (12:33 -0700)]
Merge "Removed hardcoded global->limit"

11 years agoRemoved hardcoded global->limit
Scott LaVarnway [Mon, 17 Jun 2013 19:28:45 +0000 (15:28 -0400)]
Removed hardcoded global->limit

Looks like test code.

Change-Id: I5deae2bf14ea6fdcbb9b9d993966c9abef95eb2e

11 years agoChange the encryption feature to use a callback for decryption.
Jeff Petkau [Thu, 13 Jun 2013 19:16:58 +0000 (12:16 -0700)]
Change the encryption feature to use a callback for decryption.

This allows code calling the library can choose an arbitrary
encryption algorithm.

Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to
VP8D_SET_DECRYPTOR, and now takes an small config struct instead
of just a byte array.

Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e

11 years agoMerge "Add vp9 test vectors unit test"
John Koleszar [Mon, 17 Jun 2013 17:32:08 +0000 (10:32 -0700)]
Merge "Add vp9 test vectors unit test"

11 years agoMerge "Remove unused need_to_clamp_mvs"
John Koleszar [Mon, 17 Jun 2013 17:31:58 +0000 (10:31 -0700)]
Merge "Remove unused need_to_clamp_mvs"

11 years agoMerge "vpxdec: add --loops option"
John Koleszar [Mon, 17 Jun 2013 17:31:54 +0000 (10:31 -0700)]
Merge "vpxdec: add --loops option"

11 years agovs9 build: avoid deprecated /Wp64 flag
James Zern [Sat, 6 Apr 2013 02:25:48 +0000 (19:25 -0700)]
vs9 build: avoid deprecated /Wp64 flag

quiets a warning on every file; the preference is to use a 64-bit
compiler, which is readily available at and above this version.

Change-Id: I56e7eb569022e7148249d93fe386ad5ea0eee3fc

11 years agoMerge "Fix type mismatch in array definition"
John Koleszar [Sat, 15 Jun 2013 00:07:22 +0000 (17:07 -0700)]
Merge "Fix type mismatch in array definition"

11 years agoMerge "Remove constant vp9_coef_update_prob table"
John Koleszar [Sat, 15 Jun 2013 00:07:19 +0000 (17:07 -0700)]
Merge "Remove constant vp9_coef_update_prob table"

11 years agoFix type mismatch in array definition
John Koleszar [Fri, 14 Jun 2013 23:38:42 +0000 (16:38 -0700)]
Fix type mismatch in array definition

vp9_default_inter_mode_probs was being accessed with a different type
than it was defined with. Ensure that its declaration is included
prior to its definition.

Change-Id: I2f963f513ab2f4e339f8a3c17e3d0f03749eba16

11 years agoRemove constant vp9_coef_update_prob table
John Koleszar [Fri, 14 Jun 2013 22:12:31 +0000 (15:12 -0700)]
Remove constant vp9_coef_update_prob table

All elements of this table are equal to 252, so replace it with a
single constant VP9_COEF_UPDATE_PROB.

Change-Id: I1e2d1d284326ce6df9899a740c2fc344b3ec81c9

11 years agoMerge "Enable sse2 version of sad8x4/4x8"
Jingning Han [Fri, 14 Jun 2013 20:15:49 +0000 (13:15 -0700)]
Merge "Enable sse2 version of sad8x4/4x8"

11 years agoEnable sse2 version of sad8x4/4x8
Jingning Han [Thu, 13 Jun 2013 18:07:12 +0000 (11:07 -0700)]
Enable sse2 version of sad8x4/4x8

The encoding time for bus at CIF goes from 661s to 625s. This commit
also enabled unit test of sad8x4/4x8 in sad_test.cc.

Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1

11 years agoMerge "Avoid inverse transform/recon without residual"
John Koleszar [Fri, 14 Jun 2013 15:49:58 +0000 (08:49 -0700)]
Merge "Avoid inverse transform/recon without residual"

11 years agoSome cleanups in rd motion search
Deb Mukherjee [Thu, 13 Jun 2013 22:10:42 +0000 (15:10 -0700)]
Some cleanups in rd motion search

No bitstream or output change - only cosmetics.

Change-Id: Ic8c1d7ad010a87dcf27d12a38cd7dd5adba683a7

11 years agoAvoid inverse transform/recon without residual
John Koleszar [Thu, 13 Jun 2013 23:37:52 +0000 (16:37 -0700)]
Avoid inverse transform/recon without residual

Avoid calling decode_block, inverse transform/add in the block is
a skip block for SBs smaller than 8x8 and intra-coded SBs.

Change-Id: I1684182f4a0050c8d6bb46cba6830d9425e7127d

11 years agoMerge "Fix win64 warning."
Frank Galligan [Thu, 13 Jun 2013 23:37:52 +0000 (16:37 -0700)]
Merge "Fix win64 warning."

11 years agoFix win64 warning.
Frank Galligan [Thu, 13 Jun 2013 22:17:23 +0000 (15:17 -0700)]
Fix win64 warning.

- size_t is 64bits in win64. int is 32 bits.

Change-Id: I4e756427ad42c841098a01a216469f65313987e7

11 years agoEnable sse2 version of sad8x4/4x8
Jingning Han [Thu, 13 Jun 2013 18:07:12 +0000 (11:07 -0700)]
Enable sse2 version of sad8x4/4x8

The encoding time for bus at CIF goes from 661s to 625s. This commit
also enabled unit test of sad8x4/4x8 in sad_test.cc.

Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1

11 years agoMerge "libs.mk: allow tests to be sharded"
John Koleszar [Thu, 13 Jun 2013 23:14:33 +0000 (16:14 -0700)]
Merge "libs.mk: allow tests to be sharded"

11 years agolibs.mk: allow tests to be sharded
James Zern [Fri, 31 May 2013 23:08:09 +0000 (16:08 -0700)]
libs.mk: allow tests to be sharded

Creates test_shard.#n [0,9] targets, usable with make -j [jobs]

Change-Id: Ied86dcc89ae72d1690564aa0dd86de10e06d25f9

11 years agoAdd vp9 test vectors unit test
John Koleszar [Thu, 13 Jun 2013 19:42:05 +0000 (12:42 -0700)]
Add vp9 test vectors unit test

These files can stand in until we get proper syntax vectors. They
should provide some additional assurance against inadvertant
bitstream changes.

Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d

11 years agoRemove unused need_to_clamp_mvs
John Koleszar [Wed, 12 Jun 2013 23:50:14 +0000 (16:50 -0700)]
Remove unused need_to_clamp_mvs

This flag no longer needed.

Change-Id: If13482015ddb92d225792ea5c0ee455d2285d1f6

11 years agoQuick modifications to mb loopfilter intrinsic functions
Scott LaVarnway [Wed, 12 Jun 2013 23:23:03 +0000 (19:23 -0400)]
Quick modifications to mb loopfilter intrinsic functions

Modified to work with 8x8 blocks of memory.  Will revisit
later for further optimizations.  For the HD clip used, the
decoder improved by almost 20%.

Change-Id: Iaa4785be293a32a42e8db07141bd699f504b8c67

11 years agovpxdec: add --loops option
John Koleszar [Wed, 12 Jun 2013 23:08:35 +0000 (16:08 -0700)]
vpxdec: add --loops option

Allows vpxdec to operate multiple times on the same input. Mostly
useful for debugging/development.

Change-Id: Icf25ece22e387052eade4438971eee5ff4f798ba

11 years agoMerge "Quick modifications to wide loopfilter intrinsic functions"
Yaowu Xu [Wed, 12 Jun 2013 22:16:11 +0000 (15:16 -0700)]
Merge "Quick modifications to wide loopfilter intrinsic functions"

11 years agoImplement SSE version for sad4x8x4d and SSE2 version for sad8x4x4d.
Ronald S. Bultje [Tue, 11 Jun 2013 22:19:14 +0000 (15:19 -0700)]
Implement SSE version for sad4x8x4d and SSE2 version for sad8x4x4d.

Encoding time of crew (CIF, first 50 frames) @ 1500kbps goes from 4min56
to 4min42.

Change-Id: I92c0c8b32980d2ae7c6dafc8b883a2c7fcd14a9f

11 years agoQuick modifications to wide loopfilter intrinsic functions
Scott LaVarnway [Wed, 12 Jun 2013 20:40:22 +0000 (16:40 -0400)]
Quick modifications to wide loopfilter intrinsic functions

Modified to work with 8x8 blocks of memory.  Will revisit
later for further optimizations.  For the HD clip used, the
decoder improved my 20%.

Change-Id: Ia0057f55d66d1445882351ea6c43b595a5a980e5

11 years agoMerge changes I86fe51b0,I4c9a9e0f
John Koleszar [Wed, 12 Jun 2013 20:43:30 +0000 (13:43 -0700)]
Merge changes I86fe51b0,I4c9a9e0f

* changes:
  Remove unused vp9_idct_add_{y,uv}_block
  Remove some unused loopfilter code

11 years agoMerge "Fix compile warnings on windows."
Johann [Wed, 12 Jun 2013 20:36:50 +0000 (13:36 -0700)]
Merge "Fix compile warnings on windows."

11 years agoMerge "Enable mmx loop filter routines"
John Koleszar [Wed, 12 Jun 2013 19:52:04 +0000 (12:52 -0700)]
Merge "Enable mmx loop filter routines"

11 years agoMerge "Fix row tiling."
Ronald S. Bultje [Wed, 12 Jun 2013 19:41:57 +0000 (12:41 -0700)]
Merge "Fix row tiling."

11 years agoMerge "Fix chroma output when scaling"
John Koleszar [Wed, 12 Jun 2013 19:39:10 +0000 (12:39 -0700)]
Merge "Fix chroma output when scaling"

11 years agoRemove unused vp9_idct_add_{y,uv}_block
John Koleszar [Wed, 12 Jun 2013 19:24:22 +0000 (12:24 -0700)]
Remove unused vp9_idct_add_{y,uv}_block

These functions are not used, and appear to have been superceded.

Change-Id: I86fe51b088264f6b1b8d4d232bba97b371b98120

11 years agoFix the comments in boundary block partition check
Jingning Han [Wed, 12 Jun 2013 19:05:06 +0000 (12:05 -0700)]
Fix the comments in boundary block partition check

Change-Id: Ic6b2881d8d495269edbc514b33376ca963798b45

11 years agoRemove some unused loopfilter code
John Koleszar [Wed, 12 Jun 2013 18:36:00 +0000 (11:36 -0700)]
Remove some unused loopfilter code

This code is unreachable, and not useful for later reference.

Change-Id: I4c9a9e0fbf859c1081bbcfbcda9710afb4b4741f

11 years agoFix compile warnings on windows.
Frank Galligan [Wed, 12 Jun 2013 18:31:28 +0000 (11:31 -0700)]
Fix compile warnings on windows.

Change-Id: If74bc6110016bc75ea3883ab136fbbac88f6a913

11 years agoMerge "Quick fix to stop vpxdec infinite loop"
Yaowu Xu [Wed, 12 Jun 2013 18:28:46 +0000 (11:28 -0700)]
Merge "Quick fix to stop vpxdec infinite loop"

11 years agoEnable mmx loop filter routines
John Koleszar [Wed, 12 Jun 2013 18:28:21 +0000 (11:28 -0700)]
Enable mmx loop filter routines

The mmx routines work as expected for the loop filter, so enable them.

Change-Id: I2bbd9b99a4445fcba17bb95002f1fb6e01fe8f85

11 years agoQuick fix to stop vpxdec infinite loop
Scott LaVarnway [Wed, 12 Jun 2013 17:46:47 +0000 (13:46 -0400)]
Quick fix to stop vpxdec infinite loop

vpxdec stays in a loop when decoding vp9.  This patch is a
quick fix to stop the loop when all data has been decoded.
Eventually we should move the vp9_get_raw_frame() call into
vp8_get_frame().

Change-Id: I3f97b6b4e1fe9ba69f746a29fc54c3304956f661

11 years agoFix row tiling.
Ronald S. Bultje [Wed, 12 Jun 2013 17:30:06 +0000 (10:30 -0700)]
Fix row tiling.

Change-Id: I57be4eeaea6e4402f6a0cc04f5c6b7a5d9aedf9b

11 years agofix a mis use of ref_frame
Yaowu Xu [Wed, 12 Jun 2013 17:32:38 +0000 (10:32 -0700)]
fix a mis use of ref_frame

Change-Id: I9aac140d775b7b4a8727494d15b185b75501a546

11 years agoFix chroma output when scaling
John Koleszar [Wed, 12 Jun 2013 17:09:56 +0000 (10:09 -0700)]
Fix chroma output when scaling

The encode-side scaling was not indexing through the image correctly
for the chroma planes, causing a green checkerboard-like output in
the unit test.

Change-Id: I9abbd73615404cd6699588be3e64dcf59005bc14

11 years agoFix duplicate const.
Frank Galligan [Wed, 12 Jun 2013 15:52:34 +0000 (08:52 -0700)]
Fix duplicate const.

Change-Id: I86be1f7421ed49d577cacf405f6e4b0daa85cfdc

11 years agoVP9 profile 0 release candidate
John Koleszar [Wed, 12 Jun 2013 01:19:14 +0000 (18:19 -0700)]
VP9 profile 0 release candidate

Merge experimental branch into master

Change-Id: Ie5f89fb977d28a4d98a8dcdf1c6eb97271a3c1db

11 years agoMerge branch 'master' into experimental
John Koleszar [Tue, 11 Jun 2013 23:29:08 +0000 (16:29 -0700)]
Merge branch 'master' into experimental

Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff

11 years agoTrap reference frames of invalid size
John Koleszar [Tue, 11 Jun 2013 21:24:53 +0000 (14:24 -0700)]
Trap reference frames of invalid size

A corrupt bitstream could refer to a reference frame that has no size.

Change-Id: I56c3b71a9dbb58b498e9969403e289c0e574f948

11 years agodecode_tiles(): validate buffer reads
John Koleszar [Tue, 11 Jun 2013 17:06:31 +0000 (10:06 -0700)]
decode_tiles(): validate buffer reads

Previous code indexed using the tile length coded in the bitstream
without checking that the read would be valid.

Change-Id: Ia5047762223a4f80d75016dd546dc2ef18b6887d

11 years agoMerge "Minor change in forward updates" into experimental
Deb Mukherjee [Tue, 11 Jun 2013 19:48:41 +0000 (12:48 -0700)]
Merge "Minor change in forward updates" into experimental

11 years agoMerge "Fix mismatch check output" into experimental
John Koleszar [Tue, 11 Jun 2013 19:29:08 +0000 (12:29 -0700)]
Merge "Fix mismatch check output" into experimental

11 years agoMerge "Disallow wide loopfilter on some chroma borders" into experimental
John Koleszar [Tue, 11 Jun 2013 19:29:03 +0000 (12:29 -0700)]
Merge "Disallow wide loopfilter on some chroma borders" into experimental

11 years agoFix mismatch check output
John Koleszar [Tue, 11 Jun 2013 18:28:08 +0000 (11:28 -0700)]
Fix mismatch check output

Fixes a condition where the address of the mismatching pixels was not
being found/printed.

Change-Id: Ifac5cd3471bc2437448128591eea7c7b87e2d8fe

11 years agoDisallow wide loopfilter on some chroma borders
John Koleszar [Tue, 11 Jun 2013 18:26:50 +0000 (11:26 -0700)]
Disallow wide loopfilter on some chroma borders

Don't do the 15 tap filter if there aren't 8 pixels below/right of the
edge.

Change-Id: I62f16437c1d9ba59b6901a5fe71ddb2f472da344

11 years agoMinor change in forward updates
Deb Mukherjee [Tue, 11 Jun 2013 16:31:33 +0000 (09:31 -0700)]
Minor change in forward updates

Removes the case of coding prob = 0 for forward updates, since that
is not an allowed probability to code.
Slightly improves efficiency but may not matter in practice.

Change-Id: I3b4caf82e8f0891992f0706d4089cc5a27568dba

11 years agoFix rd partition search for corner blocks
Jim Bankoski [Tue, 11 Jun 2013 16:29:21 +0000 (09:29 -0700)]
Fix rd partition search for corner blocks

This commit enables proper partition type search for the bottom-
right corner blocks.

Change-Id: Id1123d0e4e81eba648ed4f3c0c7ab587e174f650

11 years agoMerge "halloc: Cast the offsetof macro to ptrdiff_t before negating"
Johann [Tue, 11 Jun 2013 15:18:46 +0000 (08:18 -0700)]
Merge "halloc: Cast the offsetof macro to ptrdiff_t before negating"

11 years agoFix partition coding of corner block
Jingning Han [Tue, 11 Jun 2013 02:54:06 +0000 (19:54 -0700)]
Fix partition coding of corner block

This commit fixed the allowable partition types for bottom-right
corner blocks.

When a block has over half of its pixels as valid content in both
vertical and horizontal directions, allow all the four partition
types in the bit-stream. Otherwise, apply partition type constraints.

Change-Id: I2252e2de7125a8bfb1c824bf34299a13c81102e3

11 years agoAdds a zero check in model_rd function
Deb Mukherjee [Tue, 11 Jun 2013 00:02:49 +0000 (17:02 -0700)]
Adds a zero check in model_rd function

Avoids divide-by-zero when variance is 0.

Change-Id: I3c7f526979046ff7d17714ce960fe81d6e1442a0

11 years agoMerge "Using network byte order (big-endian) to encode tile size." into experimental
John Koleszar [Mon, 10 Jun 2013 23:48:11 +0000 (16:48 -0700)]
Merge "Using network byte order (big-endian) to encode tile size." into experimental

11 years agoMerge "New probs for filters/tx_size and a few others" into experimental
Deb Mukherjee [Mon, 10 Jun 2013 23:39:43 +0000 (16:39 -0700)]
Merge "New probs for filters/tx_size and a few others" into experimental

11 years agoNew probs for filters/tx_size and a few others
Deb Mukherjee [Mon, 10 Jun 2013 19:00:43 +0000 (12:00 -0700)]
New probs for filters/tx_size and a few others

* New probs for subpel filters/tx_count
* Makes a change to not reset to defaults for the tx_size
probs if an intermediate frame reverts to using a fixed tx_size.
* A few updates to the parameters for backward adaptation for mode/mv
* some cosmetic cleanups

derf300: +0.06%

Change-Id: I22994d659bc31ca7a4fc8820fde24001e64a2920

11 years agoMerge "Remove remnants of VP8 profiles/versions" into experimental
John Koleszar [Mon, 10 Jun 2013 23:16:17 +0000 (16:16 -0700)]
Merge "Remove remnants of VP8 profiles/versions" into experimental

11 years agoUsing network byte order (big-endian) to encode tile size.
Dmitry Kovalev [Mon, 10 Jun 2013 23:13:08 +0000 (16:13 -0700)]
Using network byte order (big-endian) to encode tile size.

This is consistent with uncompressed header encoding.

Change-Id: Iccf40a44b493ed36ee085b81ed56f7952cde70a9

11 years agoRemove remnants of VP8 profiles/versions
John Koleszar [Mon, 10 Jun 2013 22:55:03 +0000 (15:55 -0700)]
Remove remnants of VP8 profiles/versions

Remove the bilinear filter mode, and the no-loopfilter mode, and the
related vp9_setup_version() function.

Change-Id: I32311367812faf37863131df3af37d63d03973d7

11 years agoprint debugging info from mode info struct
Jim Bankoski [Sat, 8 Jun 2013 13:19:33 +0000 (06:19 -0700)]
print debugging info from mode info struct

This commit has no impact but to help us debug issues.   To Use call like
this:

  vp9_print_modes_and_motion_vectors(cpi->common.mi, cpi->common.mi_rows,
                                     cpi->common.mi_cols,
                                     cpi->common.current_video_frame,
                                     "decode_mi.stt");

Change-Id: I89e27725dae351370eb7f311a20a145ed4f1d041

11 years agoFix a crash in vpxdec
John Koleszar [Fri, 7 Jun 2013 15:49:38 +0000 (08:49 -0700)]
Fix a crash in vpxdec

If the codec fails to return a frame on the second frame (as in a VP8 alt-ref,
then img will be a null pointer and dereferencing it while trying to write
the color format (again) will crash.

Change-Id: Ie48710d4c5715f532d453c879c71c20ccdeb81cc

11 years agoMerge the new loopfilter experiment
John Koleszar [Fri, 7 Jun 2013 07:54:28 +0000 (00:54 -0700)]
Merge the new loopfilter experiment

Change-Id: I524ba98841f2e1850e3276ac365c501cea31546d

11 years agoMerge "Loopfilter: Fix chroma edge selection" into experimental
John Koleszar [Mon, 10 Jun 2013 19:17:24 +0000 (12:17 -0700)]
Merge "Loopfilter: Fix chroma edge selection" into experimental

11 years agoMerge "Fix use of get_uv_tx_size in loopfilter" into experimental
John Koleszar [Mon, 10 Jun 2013 19:17:11 +0000 (12:17 -0700)]
Merge "Fix use of get_uv_tx_size in loopfilter" into experimental

11 years agoMerge "Implement intra-coded frames" into experimental
Adrian Grange [Mon, 10 Jun 2013 19:08:09 +0000 (12:08 -0700)]
Merge "Implement intra-coded frames" into experimental

11 years agoCosmetic cleanups of filters
Deb Mukherjee [Sun, 9 Jun 2013 13:54:17 +0000 (06:54 -0700)]
Cosmetic cleanups of filters

No bitstream change.

Removes unused filters and the code for the case of 2 switchable filters;
also changes the 8tap-smooth filter coefficients for integer shifts to be
interpolating to be consistent with the way it is implemented currently.

Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae

11 years agoImplement intra-coded frames
Adrian Grange [Sun, 9 Jun 2013 17:10:33 +0000 (10:10 -0700)]
Implement intra-coded frames

Implements ability to signal and decode frames that are
encoded using only intra coding modes. Only the decode
side has been implemented here.

Change-Id: I53ac6a8d90422cd08ba389e5236e15b45f9e93de

11 years agoLoopfilter: Fix chroma edge selection
John Koleszar [Mon, 10 Jun 2013 17:05:44 +0000 (10:05 -0700)]
Loopfilter: Fix chroma edge selection

A 32x32 transform should have no internal filtering (check c==4)

Change-Id: I7414cf4748ed053208217692ef00cd8b20d49a91