platform/upstream/libvpx.git
11 years agoOnly do metrics on cropped (visible) area of picture.
Ronald S. Bultje [Mon, 10 Jun 2013 18:47:22 +0000 (11:47 -0700)]
Only do metrics on cropped (visible) area of picture.

The part where we align it by 8 or 16 is an implementation detail that
shouldn't matter to the outside world.

Change-Id: I9edd6f08b51b31c839c0ea91f767640bccb08d53

11 years agoDon't skip right/bottom border pixels in SSIM calculations.
Ronald S. Bultje [Mon, 10 Jun 2013 18:36:04 +0000 (11:36 -0700)]
Don't skip right/bottom border pixels in SSIM calculations.

Change-Id: I75acb55ade54bef6ad7703ed5e691581fa2f8fe1

11 years agoAdd averaging-SAD functions for 8-point comp-inter motion search.
Ronald S. Bultje [Tue, 25 Jun 2013 18:26:49 +0000 (11:26 -0700)]
Add averaging-SAD functions for 8-point comp-inter motion search.

Makes first 50 frames of bus @ 1500kbps encode from 3min22.7 to 3min18.2,
i.e. 2.3% faster. In addition, use the sub_pixel_avg functions to calc
the variance of the averaging predictor. This is slightly suboptimal
because the function is subpixel-position-aware, but it will (at least
for the SSE2 version) not actually use a bilinear filter for a full-pixel
position, thus leading to approximately the same performance compared to
if we implemented an actual average-aware full-pixel variance function.
That gains another 0.3 seconds (i.e. encode time goes to 3min17.4), thus
leading to a total gain of 2.7%.

Change-Id: I3f059d2b04243921868cfed2568d4fa65d7b5acd

11 years agoMerge "intrapred_test: add virtual dtor to IntraPredBase"
James Zern [Tue, 25 Jun 2013 19:56:40 +0000 (12:56 -0700)]
Merge "intrapred_test: add virtual dtor to IntraPredBase"

11 years agoMerge "Add SAD unit tests for all rectangular sizes."
Ronald S. Bultje [Tue, 25 Jun 2013 19:00:41 +0000 (12:00 -0700)]
Merge "Add SAD unit tests for all rectangular sizes."

11 years agoMerge "Don't re-allocate comp_pred buffers for each call to comp motion search."
Ronald S. Bultje [Tue, 25 Jun 2013 19:00:36 +0000 (12:00 -0700)]
Merge "Don't re-allocate comp_pred buffers for each call to comp motion search."

11 years agoMerge "Removing unused code."
Dmitry Kovalev [Tue, 25 Jun 2013 18:50:55 +0000 (11:50 -0700)]
Merge "Removing unused code."

11 years agoMerge "Add 8x8 dct/adst unit tests"
Jingning Han [Tue, 25 Jun 2013 18:21:17 +0000 (11:21 -0700)]
Merge "Add 8x8 dct/adst unit tests"

11 years agoMerge "Changed size of mb_mode_context to 8 bits"
Yaowu Xu [Tue, 25 Jun 2013 17:44:47 +0000 (10:44 -0700)]
Merge "Changed size of mb_mode_context to 8 bits"

11 years agoMerge "Small mode_info_context cleanup in filter_block_plane"
Scott LaVarnway [Tue, 25 Jun 2013 17:34:19 +0000 (10:34 -0700)]
Merge "Small mode_info_context cleanup in filter_block_plane"

11 years agoRemoving unused code.
Dmitry Kovalev [Tue, 25 Jun 2013 00:56:06 +0000 (17:56 -0700)]
Removing unused code.

Removing block index (ib) parameter from get_tx_type_{8x8, 16x16}
functions.

Change-Id: Ia213335aae7a7cb027f97b9cc9b04519840250f1

11 years agoMerge "Removing find_seg_id and using vp9_get_pred_mi_segid instead."
Dmitry Kovalev [Tue, 25 Jun 2013 17:16:06 +0000 (10:16 -0700)]
Merge "Removing find_seg_id and using vp9_get_pred_mi_segid instead."

11 years agoMerge "Transforming scale_mv_component_q4 into scale_mv_q4 function."
Dmitry Kovalev [Tue, 25 Jun 2013 17:15:33 +0000 (10:15 -0700)]
Merge "Transforming scale_mv_component_q4 into scale_mv_q4 function."

11 years agoAdd 8x8 dct/adst unit tests
Jingning Han [Fri, 21 Jun 2013 18:45:47 +0000 (11:45 -0700)]
Add 8x8 dct/adst unit tests

This commit enables 8x8 DCT and hybrid transform unit tests. It
also tunes the forward hybrid transform rounding opertions for
more precise round-trip performance.

Change-Id: If05c1ce59d75d641b9c6c91527d02d3a6ef498c3

11 years agoMerge "Use aligned buffer operations in 8x8/16x16 2D-DCT"
Jingning Han [Tue, 25 Jun 2013 16:49:03 +0000 (09:49 -0700)]
Merge "Use aligned buffer operations in 8x8/16x16 2D-DCT"

11 years agoSmall mode_info_context cleanup in filter_block_plane
Scott LaVarnway [Tue, 25 Jun 2013 16:28:50 +0000 (12:28 -0400)]
Small mode_info_context cleanup in filter_block_plane

Unnecessary updates to xd->mode_info_context.

Change-Id: I36d2d68ca48366f727548526726b1b5437f62968

11 years agoMerge "Enable sse2 implmentation of 8x8 ADST/DCT"
Yaowu Xu [Tue, 25 Jun 2013 16:13:22 +0000 (09:13 -0700)]
Merge "Enable sse2 implmentation of 8x8 ADST/DCT"

11 years agoMerge "change to enable use_largest_txform feature"
Yaowu Xu [Tue, 25 Jun 2013 16:07:01 +0000 (09:07 -0700)]
Merge "change to enable use_largest_txform feature"

11 years agoUse aligned buffer operations in 8x8/16x16 2D-DCT
Jingning Han [Tue, 25 Jun 2013 02:52:55 +0000 (19:52 -0700)]
Use aligned buffer operations in 8x8/16x16 2D-DCT

This reduces 16x16 2D-DCT runtime from 865 cycles to 837 cycles.

Change-Id: I137758b81cd127b936175284310e81378db64552

11 years agoEnable sse2 implmentation of 8x8 ADST/DCT
Jingning Han [Thu, 20 Jun 2013 16:00:23 +0000 (09:00 -0700)]
Enable sse2 implmentation of 8x8 ADST/DCT

This commit makes use of the butterfly structure to enable the sse2
version implementation of 8x8 ADST/DCT hybrid transform coding.

The runtime of hybrid transform module goes down from 1170 cycles
to 245 cycles. Overall speed-up around 1.5%.

Change-Id: Ic808ffd21ece8a9d0410d8c0243d7b6c28ac3b3f

11 years agochange to enable use_largest_txform feature
Yaowu Xu [Mon, 24 Jun 2013 23:43:26 +0000 (16:43 -0700)]
change to enable use_largest_txform feature

for all regular inter frames at speed 1

Change-Id: I0a8b301273ecf2b8730ab1f6b7a05f89f4d498e0

11 years agoMerge "Remove unused vp9_build_intra_predictors_sb{y,uv}_s"
John Koleszar [Mon, 24 Jun 2013 22:08:58 +0000 (15:08 -0700)]
Merge "Remove unused vp9_build_intra_predictors_sb{y,uv}_s"

11 years agoMerge "Remove unused vp9_model_to_full_probs_sb()"
John Koleszar [Mon, 24 Jun 2013 22:08:54 +0000 (15:08 -0700)]
Merge "Remove unused vp9_model_to_full_probs_sb()"

11 years agoChanged size of mb_mode_context to 8 bits
Scott LaVarnway [Mon, 24 Jun 2013 21:11:16 +0000 (17:11 -0400)]
Changed size of mb_mode_context to 8 bits

This reduced the size of the MODE_INFO array (mip and prev_mip)
by 425,568 bytes each for 1080p resolutions.

Change-Id: Ifa513ec2d0a49e8ec0867ec90620762fb7f1261d

11 years agoAdd SAD unit tests for all rectangular sizes.
Ronald S. Bultje [Mon, 24 Jun 2013 18:28:19 +0000 (11:28 -0700)]
Add SAD unit tests for all rectangular sizes.

Change-Id: I47e81b51f072abdb276bdec85423febba34b5f81

11 years agoDon't re-allocate comp_pred buffers for each call to comp motion search.
Ronald S. Bultje [Sat, 22 Jun 2013 00:19:36 +0000 (17:19 -0700)]
Don't re-allocate comp_pred buffers for each call to comp motion search.

Instead, just allocate a few bytes on the stack, this is 4k, which isn't
all that much.

Change-Id: I82af6ee89e6ed01faaa23ff891ee7ced76df8c16

11 years agoMerge "Fix loopfilter of leftmost 4x4 edges in SB"
Yaowu Xu [Mon, 24 Jun 2013 16:55:21 +0000 (09:55 -0700)]
Merge "Fix loopfilter of leftmost 4x4 edges in SB"

11 years agoFix loopfilter of leftmost 4x4 edges in SB
John Koleszar [Sat, 22 Jun 2013 00:06:43 +0000 (17:06 -0700)]
Fix loopfilter of leftmost 4x4 edges in SB

For cases where there's no transform set in bit 0 (the left edge of
the SB) but bit 0 of mask_4x4_int is set (the edge 4 pixels from the
left edge needs filtering), it was incorrectly being skipped before.
This situation only happens on the leftmost edge of the image, as
the edge at column 0 is intentionally skipped since there aren't
pixels to the left to read.

Change-Id: Ib2fbbcb40166e90af31b1a0e13b85b68c226cbd3

11 years agoMerge "Allocate memory using appropriate expected alignment in unit tests."
Ronald S. Bultje [Sat, 22 Jun 2013 04:22:55 +0000 (21:22 -0700)]
Merge "Allocate memory using appropriate expected alignment in unit tests."

11 years agointrapred_test: add virtual dtor to IntraPredBase
James Zern [Sat, 22 Jun 2013 02:33:50 +0000 (19:33 -0700)]
intrapred_test: add virtual dtor to IntraPredBase

classes with virtual functions should have virtual destructors

Change-Id: If54e2f8384f0bfcbf812cc727eb9d0a586173674

11 years agoAllocate memory using appropriate expected alignment in unit tests.
Ronald S. Bultje [Sat, 22 Jun 2013 00:03:57 +0000 (17:03 -0700)]
Allocate memory using appropriate expected alignment in unit tests.

Fixes crashes of test_libvpx on 32-bit Linux.

Change-Id: If94e7628a86b788ca26c004861dee2f162e47ed6

11 years agoMerge "Add some unaligned test vectors"
John Koleszar [Fri, 21 Jun 2013 23:31:18 +0000 (16:31 -0700)]
Merge "Add some unaligned test vectors"

11 years agoRemove unused vp9_build_intra_predictors_sb{y,uv}_s
John Koleszar [Fri, 21 Jun 2013 23:10:05 +0000 (16:10 -0700)]
Remove unused vp9_build_intra_predictors_sb{y,uv}_s

The functions no longer referenced.

Change-Id: If2705dfbc607f79ec8ec2242d5e03bec27a35aaf

11 years agoMerge "Remove emms - that shouldn't be there."
Ronald S. Bultje [Fri, 21 Jun 2013 22:53:25 +0000 (15:53 -0700)]
Merge "Remove emms - that shouldn't be there."

11 years agoRemove unused vp9_model_to_full_probs_sb()
John Koleszar [Fri, 21 Jun 2013 22:38:55 +0000 (15:38 -0700)]
Remove unused vp9_model_to_full_probs_sb()

This function never referenced.

Change-Id: I1c42cd355bfa88e17d169f7335a44be682af58cc

11 years agoTransforming scale_mv_component_q4 into scale_mv_q4 function.
Dmitry Kovalev [Fri, 21 Jun 2013 22:34:29 +0000 (15:34 -0700)]
Transforming scale_mv_component_q4 into scale_mv_q4 function.

Using MV instead of int_mv for function arguments.

Change-Id: Ic25e13dccbc98fac1fa1b3255127e00cca2a57f6

11 years agoRemove emms - that shouldn't be there.
Ronald S. Bultje [Fri, 21 Jun 2013 21:45:04 +0000 (14:45 -0700)]
Remove emms - that shouldn't be there.

Change-Id: I8fcab81e390f93dc17e9666bbf8f77883b5aa897

11 years agovariance_test: use REGISTER_STATE_CHECK
James Zern [Wed, 19 Jun 2013 02:15:56 +0000 (19:15 -0700)]
variance_test: use REGISTER_STATE_CHECK

Change-Id: Id54ad9a781634f075e990d5bade5be8490959975

11 years agoRemoving find_seg_id and using vp9_get_pred_mi_segid instead.
Dmitry Kovalev [Thu, 20 Jun 2013 22:52:47 +0000 (15:52 -0700)]
Removing find_seg_id and using vp9_get_pred_mi_segid instead.

Change-Id: Ia40229903c08f14020e90e94cfdf494aba1be827

11 years agoAdd missing SECTION .text marker in assembly file.
Ronald S. Bultje [Fri, 21 Jun 2013 19:55:46 +0000 (12:55 -0700)]
Add missing SECTION .text marker in assembly file.

Fixes a crash on Windows when building with MSVC.

Change-Id: I124ac756a1be55d190fadda5fcc46d23b1445dbf

11 years agoImplement SSE2 block_error.
Ronald S. Bultje [Fri, 21 Jun 2013 19:54:52 +0000 (12:54 -0700)]
Implement SSE2 block_error.

Change vp9_block_error() to return a 64bit error variable, change all
callers to expect a 64bit return value (this will prevent overflows,
which we basically don't check for at all right now). Remove duplicate
block_error() function, which fixed that through truncation. Remove
old (incompatible) mmx/sse2 block_error SIMD versions and replace with
a new one that returns a 64bit value.

Encoding time of first 50 frames of bus @ 1500kbps goes from 3min29 to
3min23, i.e. a 3% overall speedup.

Change-Id: Ib71ac5508b5ee8a80f1753cd85d72df1629abe68

11 years agoMerge "Add subtract_block SSE2 version and unit test."
Ronald S. Bultje [Fri, 21 Jun 2013 19:49:50 +0000 (12:49 -0700)]
Merge "Add subtract_block SSE2 version and unit test."

11 years agoMerge "SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance()."
Ronald S. Bultje [Fri, 21 Jun 2013 19:49:43 +0000 (12:49 -0700)]
Merge "SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance()."

11 years agoAdd subtract_block SSE2 version and unit test.
Ronald S. Bultje [Fri, 21 Jun 2013 16:35:37 +0000 (09:35 -0700)]
Add subtract_block SSE2 version and unit test.

3% faster overall (3min35.0 to 3min28.5).

Change-Id: I5ff8a5c2c91586b6632ca5009ad1ea51ce94af5e

11 years agoMerge "Get some speed back for cpuused 1"
Yaowu Xu [Fri, 21 Jun 2013 05:37:01 +0000 (22:37 -0700)]
Merge "Get some speed back for cpuused 1"

11 years agoGet some speed back for cpuused 1
Yaowu Xu [Thu, 20 Jun 2013 22:23:37 +0000 (15:23 -0700)]
Get some speed back for cpuused 1

and remove unused code.

Change-Id: If380440c4450294b5450b7a9eeb94a376846ec01

11 years agoMerge "rename variables to avoid build error in MSVC"
Yaowu Xu [Fri, 21 Jun 2013 02:04:30 +0000 (19:04 -0700)]
Merge "rename variables to avoid build error in MSVC"

11 years agorename variables to avoid build error in MSVC
Yaowu Xu [Thu, 20 Jun 2013 18:48:08 +0000 (11:48 -0700)]
rename variables to avoid build error in MSVC

Change-Id: I7960178c95c54d5c4497e44cfc8c493566294b34

11 years agoMerge "Implement sse2 and ssse3 versions for all sub_pixel_variance sizes."
Yaowu Xu [Fri, 21 Jun 2013 00:42:50 +0000 (17:42 -0700)]
Merge "Implement sse2 and ssse3 versions for all sub_pixel_variance sizes."

11 years agoSSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance().
Ronald S. Bultje [Thu, 20 Jun 2013 22:59:48 +0000 (15:59 -0700)]
SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance().

Encoding of bus @ 1500kbps (first 50 frames) goes from 3min57 to
3min35, i.e. approximately a 10.5% speedup. Note that the SIMD versions
which use a bilinear filter (x_offset & 7 || y_offset & 7) aren't
perfectly interleaved, and can probably be improved further in the
future. I've marked this with a few TODOs/FIXMEs in the code.

Change-Id: I5c9e900c0f0d32e431a50fecae213b510b2549f9

11 years agoMerge "clean out libvpx-srcs.txt if built"
Jim Bankoski [Thu, 20 Jun 2013 22:10:16 +0000 (15:10 -0700)]
Merge "clean out libvpx-srcs.txt if built"

11 years agoclean out libvpx-srcs.txt if built
Jim Bankoski [Thu, 20 Jun 2013 22:05:42 +0000 (15:05 -0700)]
clean out libvpx-srcs.txt if built

Change-Id: Idfd69e66e8982275eb00d8007a55efd1a4f86a98

11 years agoMerge "Revert "test_libvpx: disable pthreads in gtest""
James Zern [Thu, 20 Jun 2013 22:02:27 +0000 (15:02 -0700)]
Merge "Revert "test_libvpx: disable pthreads in gtest""

11 years agoFix win64 warning.
Frank Galligan [Thu, 20 Jun 2013 21:05:17 +0000 (14:05 -0700)]
Fix win64 warning.

- size_t vs int.

Change-Id: Ib47ebd932a4b69db9f52a43000bb69d0a96b9134

11 years agoRevert "test_libvpx: disable pthreads in gtest"
James Zern [Thu, 20 Jun 2013 19:49:15 +0000 (12:49 -0700)]
Revert "test_libvpx: disable pthreads in gtest"

This reverts commit 90a9900abb79fabfd44189a959d14ca677c2777a

Seems to break the Mac build:
src/include/gtest/internal/gtest-port.h:1208:: pthread_mutex_lock(&mutex_)failed with error 22
Abort trap: 6

Change-Id: Icbe31161d7c27f1b0a28d33409e7712430bbf0ae

11 years agoMerge "Add unit tests for 4x4 ADST"
Jingning Han [Thu, 20 Jun 2013 17:22:40 +0000 (10:22 -0700)]
Merge "Add unit tests for 4x4 ADST"

11 years agoMerge "Cast value to avoid size_t/int warning on win64"
Johann [Thu, 20 Jun 2013 17:19:39 +0000 (10:19 -0700)]
Merge "Cast value to avoid size_t/int warning on win64"

11 years agoMerge "Renaming 'nmv' to 'mv' for several functions."
Dmitry Kovalev [Thu, 20 Jun 2013 17:17:12 +0000 (10:17 -0700)]
Merge "Renaming 'nmv' to 'mv' for several functions."

11 years agoMerge "Function decomposition inside vp9_decodemv.c file."
Dmitry Kovalev [Thu, 20 Jun 2013 17:17:05 +0000 (10:17 -0700)]
Merge "Function decomposition inside vp9_decodemv.c file."

11 years agoImproving model rd with variance and quant step
Deb Mukherjee [Wed, 19 Jun 2013 23:23:21 +0000 (16:23 -0700)]
Improving model rd with variance and quant step

Improves the rd modeling function and implements them using interpolation
from a table which is a little faster. Also uses sse as input to the
modeling function rather than var - since there is no dc prediction
used and as a result the sse works a little better.

derfraw300: +0.05%
Speedup: ~1%

Change-Id: I151353c6451e0e8fe3ae18ab9842f8f67e5151ff

11 years agoCast value to avoid size_t/int warning on win64
Johann [Thu, 20 Jun 2013 16:52:08 +0000 (09:52 -0700)]
Cast value to avoid size_t/int warning on win64

dboolhuff.c(50) : warning C4267: 'initializing' : conversion from
'size_t' to 'int'

Change-Id: I6b85759efb2fa19f362f406623d8a7583a55c036

11 years agoadds force partitioning greater than or less than block size
Jim Bankoski [Thu, 20 Jun 2013 16:24:04 +0000 (09:24 -0700)]
adds force partitioning greater than or less than block size

adds a new speed feature to force partitioning to be greater than
or less than a certain size

Change-Id: I8c048eeeef93700ae822eccf98f8751a45b2e7d0

11 years agoadds a set partitioning to speed features
Jim Bankoski [Thu, 20 Jun 2013 14:46:51 +0000 (07:46 -0700)]
adds a set partitioning to speed features

this feature lets you set a partitioning size to be used by the entire
frame.

Change-Id: I208a4c8c701375cbb054418266f677768b6f8f06

11 years agopartition by variance using var from last frame
Jim Bankoski [Thu, 20 Jun 2013 14:17:01 +0000 (07:17 -0700)]
partition by variance using var from last frame

This uses variance to split partition. Variance is calculated using
nearest mv,  always from last ref frame.

Change-Id: Idd015b4a9aa3bc82591759eac239680c07496896

11 years agoconvert all speed things to speed features
Jim Bankoski [Wed, 19 Jun 2013 22:53:47 +0000 (15:53 -0700)]
convert all speed things to speed features

Change-Id: Ie24489a4d39f3e53e816eeebf75a1c9c7d94515a

11 years agonew partition via variance
Jim Bankoski [Wed, 19 Jun 2013 21:26:49 +0000 (14:26 -0700)]
new partition via variance

Change-Id: Ideee45cad8b38087c509cd404484728e85d0c427

11 years agofix to set up new speed feature
Jim Bankoski [Wed, 19 Jun 2013 19:16:45 +0000 (12:16 -0700)]
fix to set up new speed feature

This uses the speed feature functionality for code.

Change-Id: I9cd16c0c5f98520ae27ebba81aa2c178546587f8

11 years agodon't copy partitions for key frames or altrefs
Jim Bankoski [Wed, 19 Jun 2013 18:05:34 +0000 (11:05 -0700)]
don't copy partitions for key frames or altrefs

force us to go through slow partitioning for keyframes, altref and
overlays.

Change-Id: I1a286361bf74083e71973575a7296be46eb98742

11 years agoImplement sse2 and ssse3 versions for all sub_pixel_variance sizes.
Ronald S. Bultje [Thu, 20 Jun 2013 16:34:25 +0000 (09:34 -0700)]
Implement sse2 and ssse3 versions for all sub_pixel_variance sizes.

Overall speedup around 5% (bus @ 1500kbps first 50 frames 4min10 ->
3min58). Specific changes to timings for each function compared to
original assembly-optimized versions (or just new version timings if
no previous assembly-optimized version was available):

sse2   4x4:    99 ->   82 cycles
sse2   4x8:           128 cycles
sse2   8x4:           121 cycles
sse2   8x8:   149 ->  129 cycles
sse2   8x16:  235 ->  245 cycles (?)
sse2  16x8:   269 ->  203 cycles
sse2  16x16:  441 ->  349 cycles
sse2  16x32:          641 cycles
sse2  32x16:          643 cycles
sse2  32x32: 1733 -> 1154 cycles
sse2  32x64:         2247 cycles
sse2  64x32:         2323 cycles
sse2  64x64: 6984 -> 4442 cycles

ssse3  4x4:           100 cycles (?)
ssse3  4x8:           103 cycles
ssse3  8x4:            71 cycles
ssse3  8x8:           147 cycles
ssse3  8x16:          158 cycles
ssse3 16x8:   188 ->  162 cycles
ssse3 16x16:  316 ->  273 cycles
ssse3 16x32:          535 cycles
ssse3 32x16:          564 cycles
ssse3 32x32:          973 cycles
ssse3 32x64:         1930 cycles
ssse3 64x32:         1922 cycles
ssse3 64x64:         3760 cycles

Change-Id: I81ff6fe51daf35a40d19785167004664d7e0c59d

11 years agodisable speed > 1 speed corrections in firstpass
Jim Bankoski [Thu, 20 Jun 2013 16:28:11 +0000 (09:28 -0700)]
disable speed > 1 speed corrections in firstpass

need to rework these

Change-Id: I17dc2c88d2faadd2f8fb117c52c25f04ea2e9856

11 years agonew debug modes code
Jim Bankoski [Wed, 19 Jun 2013 23:03:27 +0000 (16:03 -0700)]
new debug modes code

The new print out includes skips and has prefixed sections so you can
grep to find things like transforms chosen on each frame.

Change-Id: I195043424647d9514cfc3ff6720a5b20d010fa1b

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 agoAdd unit tests for 4x4 ADST
Jingning Han [Tue, 18 Jun 2013 17:46:33 +0000 (10:46 -0700)]
Add unit tests for 4x4 ADST

Enable sign bias check and round-trip error unit tests for 4x4 hybrid
transform modules.

Change-Id: Icd3d839f098d4b92b00ff76eac146765b039d0d3

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 agoFunction decomposition inside vp9_decodemv.c file.
Dmitry Kovalev [Wed, 19 Jun 2013 20:09:34 +0000 (13:09 -0700)]
Function decomposition inside vp9_decodemv.c file.

Change-Id: Iab96e6a50aec543c63e15cd134f9d5f01ca7ceff

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 agoAdd some unaligned test vectors
John Koleszar [Wed, 19 Jun 2013 18:45:34 +0000 (11:45 -0700)]
Add some unaligned test vectors

Tests resolutions of 8, 10, 16, 18, 32, 34, 64, 66 to exercise the
border conditions, as well as non-SB aligned sizes.

Change-Id: Ie7c2b7860ac3727e23202042f2e86792652912f8

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 agoRenaming 'nmv' to 'mv' for several functions.
Dmitry Kovalev [Wed, 19 Jun 2013 01:28:10 +0000 (18:28 -0700)]
Renaming 'nmv' to 'mv' for several functions.

Change-Id: I183a38997a9d01e4a1b869e92509f6915216fa09

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')."