platform/upstream/libvpx.git
11 years agoMerge "Enable SSE2 4x4 ADST/DCT transform"
Jingning Han [Sat, 29 Jun 2013 22:57:03 +0000 (15:57 -0700)]
Merge "Enable SSE2 4x4 ADST/DCT transform"

11 years agoSSE2 version of vp9_short_fdct32x32_rd.
Christian Duvivier [Tue, 18 Jun 2013 22:23:25 +0000 (15:23 -0700)]
SSE2 version of vp9_short_fdct32x32_rd.

43,000 -> 5,750 cycles, about 7.5x faster.

Change-Id: Ibfd92821b9603f4ed9c256e0ececec14fa4565d0

11 years agoMerge "fixed a bug where sse is not populated"
Ronald S. Bultje [Sat, 29 Jun 2013 14:42:41 +0000 (07:42 -0700)]
Merge "fixed a bug where sse is not populated"

11 years agoMerge "add Neon optimized add constant residual functions"
Johann [Sat, 29 Jun 2013 02:50:38 +0000 (19:50 -0700)]
Merge "add Neon optimized add constant residual functions"

11 years agoMerge "fix test compile error"
James Zern [Sat, 29 Jun 2013 02:48:05 +0000 (19:48 -0700)]
Merge "fix test compile error"

11 years agoMerge "Inline vp9_get_coef_context() (and remove vp9_ prefix)."
Ronald S. Bultje [Sat, 29 Jun 2013 02:37:11 +0000 (19:37 -0700)]
Merge "Inline vp9_get_coef_context() (and remove vp9_ prefix)."

11 years agoMerge "Minor change to prevent one level of dereference in cost_coeffs()."
Ronald S. Bultje [Sat, 29 Jun 2013 02:36:56 +0000 (19:36 -0700)]
Merge "Minor change to prevent one level of dereference in cost_coeffs()."

11 years agoadd Neon optimized add constant residual functions
chm [Thu, 27 Jun 2013 12:47:56 +0000 (20:47 +0800)]
add Neon optimized add constant residual functions

- Add add_constant_residual_8x8 16x16 32x32 functions
- Tested under RealView debugger enviroment

Change-Id: I5c3a432f651b49bf375de6496353706a33e3e68e

11 years agoMerge "Cosmetic reordering of FRAME_CONTEXT members."
Dmitry Kovalev [Sat, 29 Jun 2013 01:38:02 +0000 (18:38 -0700)]
Merge "Cosmetic reordering of FRAME_CONTEXT members."

11 years agofix test compile error
James Zern [Sat, 29 Jun 2013 01:07:37 +0000 (18:07 -0700)]
fix test compile error

since:
92479d9 Make update_partition_context faster

fixes:
vp9/common/vp9_blockd.h:408:22: error:
non-constant-expression cannot be narrowed from type 'int' to 'char' in
initializer list [-Wc++11-narrowing]
  char pcvalue[2] = {~(0xe << boffset), ~(0xf <<boffset)};
                     ^~~~~~~~~~~~~~~~~

Change-Id: Id5b00b9a72d00a2b314081a23879bd1fa3ce983b

11 years agoEnable SSE2 4x4 ADST/DCT transform
Jingning Han [Fri, 28 Jun 2013 20:37:19 +0000 (13:37 -0700)]
Enable SSE2 4x4 ADST/DCT transform

This commit enables SSE2 4x4 foward hybrid transform. The runtime
goes from 249 cycles down to 74 cycles. Overall around 2% speed-up
at no compression performance change.

Change-Id: Iad4d526346e05c7be896466c05500711bb763660

11 years agofixed a bug where sse is not populated
Yaowu Xu [Sat, 29 Jun 2013 00:10:22 +0000 (17:10 -0700)]
fixed a bug where sse is not populated

Change-Id: I692d800af1f976c84a76f8bd66864c4b39540abc

11 years agoMerge "Fix switch statement in 8x8 transform"
Jingning Han [Fri, 28 Jun 2013 23:49:59 +0000 (16:49 -0700)]
Merge "Fix switch statement in 8x8 transform"

11 years agoCosmetic reordering of FRAME_CONTEXT members.
Dmitry Kovalev [Fri, 28 Jun 2013 23:16:03 +0000 (16:16 -0700)]
Cosmetic reordering of FRAME_CONTEXT members.

Change-Id: Id641e5188adf55e53e606e5813ae45feaf7abbd2

11 years agoMerge "Removing CONFIG_DEBUG checks on assertions."
Dmitry Kovalev [Fri, 28 Jun 2013 21:03:28 +0000 (14:03 -0700)]
Merge "Removing CONFIG_DEBUG checks on assertions."

11 years agoFix switch statement in 8x8 transform
Jingning Han [Fri, 28 Jun 2013 20:39:32 +0000 (13:39 -0700)]
Fix switch statement in 8x8 transform

Change-Id: I7c46354c4983feb5f6202c3ab4a1d9534da7e30f

11 years agoMerge "Some minor optimizations for cost_coeffs()."
Ronald S. Bultje [Fri, 28 Jun 2013 18:54:50 +0000 (11:54 -0700)]
Merge "Some minor optimizations for cost_coeffs()."

11 years agoMerge "Make coefficient skip condition an explicit RD choice."
Ronald S. Bultje [Fri, 28 Jun 2013 18:54:28 +0000 (11:54 -0700)]
Merge "Make coefficient skip condition an explicit RD choice."

11 years agoInline vp9_get_coef_context() (and remove vp9_ prefix).
Ronald S. Bultje [Fri, 28 Jun 2013 17:40:21 +0000 (10:40 -0700)]
Inline vp9_get_coef_context() (and remove vp9_ prefix).

Makes cost_coeffs() a lot faster:
4x4: 236 -> 181 cycles
8x8: 888 -> 588 cycles
16x16: 3550 -> 2483 cycles
32x32: 17392 -> 12010 cycles

Total encode time of first 50 frames of bus (speed 0) @ 1500kbps goes
from 2min51.6 to 2min43.9, i.e. 4.7% overall speedup.

Change-Id: I16b8d595946393c8dc661599550b3f37f5718896

11 years agoMerge "Decoder's code cleanup."
Dmitry Kovalev [Fri, 28 Jun 2013 17:38:54 +0000 (10:38 -0700)]
Merge "Decoder's code cleanup."

11 years agoRemoving CONFIG_DEBUG checks on assertions.
Dmitry Kovalev [Fri, 28 Jun 2013 17:36:20 +0000 (10:36 -0700)]
Removing CONFIG_DEBUG checks on assertions.

Adding CHECK_MEM_ERROR macro to vp9_common.h and removing two duplicated
ones from vp9_onyx_int.h and vp9_onyxd_int.h.

Change-Id: I916afec61b3019f18193135dac7c35ed0f89b8b6

11 years agoMinor change to prevent one level of dereference in cost_coeffs().
Ronald S. Bultje [Fri, 28 Jun 2013 17:21:25 +0000 (10:21 -0700)]
Minor change to prevent one level of dereference in cost_coeffs().

4x4: 234 -> 236 cycles
8x8: 878 -> 888 cycles
16x16: 3664 -> 3550 cycles
32x32: 18134 -> 17392 cycles

Change-Id: I37a51bfbb0060a3a54f09c6045c14a989811ed78

11 years agoSome minor optimizations for cost_coeffs().
Ronald S. Bultje [Fri, 28 Jun 2013 03:57:37 +0000 (20:57 -0700)]
Some minor optimizations for cost_coeffs().

Cycle timings for first 3 frames of bus (speed 0) at 1500kbps:
4x4: 298 -> 234 cycles
8x8: 1227 -> 878 cycles
16x16: 23426 -> 18134 cycles
32x32: 4906 -> 3664 cycles

Total encode time of first 50 frames of bus @ 1500kbps (speed 0) goes
from 3min0.7 to 2min51.6 seconds, i.e. 5.3% faster.

Change-Id: I68a0e1b530b0563b84a67342cca4b45146077e95

11 years agoMake coefficient skip condition an explicit RD choice.
Ronald S. Bultje [Fri, 28 Jun 2013 00:41:54 +0000 (17:41 -0700)]
Make coefficient skip condition an explicit RD choice.

This commit replaces zrun_zbin_boost, a method of biasing non-zero
coefficients following runs of zero-coefficients to be rounded towards
zero, with an explicit skip-block choice in the RD loop.

The logic is basically that if individual coefficients should be rounded
towards zero (from a RD point of view), the trellis/optimize loop should
take care of it. If whole blocks should be zero (from a RD point of
view), a single RD check is much more efficient than a complete
serialization of the quantization loop.

Quality change: derf +0.5% psnr, +1.6% ssim; yt +0.6% psnr, +1.1% ssim.
SIMD for quantize will follow in a separate patch. Results for other
test sets pending.

Change-Id: Ife5fa641163ac5150ac428011e87188f1937c1f4

11 years agoMerge "Minor cleanups"
Yaowu Xu [Fri, 28 Jun 2013 16:56:11 +0000 (09:56 -0700)]
Merge "Minor cleanups"

11 years agoMerge "Optimize partition search order"
Yaowu Xu [Fri, 28 Jun 2013 16:29:39 +0000 (09:29 -0700)]
Merge "Optimize partition search order"

11 years agoMinor cleanups
Yaowu Xu [Fri, 28 Jun 2013 16:19:50 +0000 (09:19 -0700)]
Minor cleanups

Change-Id: I379617c1c731a686b3f7e032b8805860c1055b12

11 years agoOptimize partition search order
Yaowu Xu [Thu, 27 Jun 2013 19:07:07 +0000 (12:07 -0700)]
Optimize partition search order

This commit change the partition search order to allow checking of
rectangular partition to be done after square partitions. It also
added a speed feature to skip rectangular partition check when
NONE is better than SPLIT in RD sense.

This feature roughly speed up encoder by 1.5X with loss on compression
-0.91% on cif set
-0.56% on stdhd set

Change-Id: I0d2d06993041aa9ea9073fcc39c54f73a127dfa4

11 years agoMerge "Fix tile independence with both column tiling and static_thresh set."
Ronald S. Bultje [Fri, 28 Jun 2013 14:01:15 +0000 (07:01 -0700)]
Merge "Fix tile independence with both column tiling and static_thresh set."

11 years agoMerge "variance_test: add missing ClearSystemState..."
James Zern [Fri, 28 Jun 2013 05:25:33 +0000 (22:25 -0700)]
Merge "variance_test: add missing ClearSystemState..."

11 years agoFix tile independence with both column tiling and static_thresh set.
Ronald S. Bultje [Fri, 28 Jun 2013 02:50:23 +0000 (19:50 -0700)]
Fix tile independence with both column tiling and static_thresh set.

Change-Id: I0b2be0ec2c410a527f88b95a44f24ac967b2dac1

11 years agoDecoder's code cleanup.
Dmitry Kovalev [Thu, 27 Jun 2013 23:15:43 +0000 (16:15 -0700)]
Decoder's code cleanup.

Using vp9_set_pred_flag function instead of custom code, adding
decode_tokens function which is now called from decode_atom,
decode_sb_intra, and decode_sb.

Change-Id: Ie163a7106c0241099da9c5fe03069bd71f9d9ff8

11 years agoAdd Neon optimized loop filter functions.
Frank Galligan [Fri, 21 Jun 2013 19:58:46 +0000 (12:58 -0700)]
Add Neon optimized loop filter functions.

- Added vp9_loop_filter_horizontal_edge_neon and
  vp9_loop_filter_vertical_edge_neon.
- The functions are based off the vp8 loopfilter
  functions.
- Matches x86 md5 checksum.

Change-Id: Id1c4dddb03584227e5ecd29f574a6ac27738fdd0

11 years agoMerge "General cleanup in segmentation-related code."
Dmitry Kovalev [Thu, 27 Jun 2013 21:57:07 +0000 (14:57 -0700)]
Merge "General cleanup in segmentation-related code."

11 years agoMerge "Moving subexp encoding functions in separate vp9_dsubexp.c file."
Dmitry Kovalev [Thu, 27 Jun 2013 21:55:18 +0000 (14:55 -0700)]
Merge "Moving subexp encoding functions in separate vp9_dsubexp.c file."

11 years agoInline quantize so idiv instruction gets removed from inner loop.
Ronald S. Bultje [Wed, 26 Jun 2013 00:28:24 +0000 (17:28 -0700)]
Inline quantize so idiv instruction gets removed from inner loop.

Encoding time of first 50 frames of bus @ 1500kbps (speed 0) goes from
3min15.0 to 3min10.9, i.e. 2.1% faster overall.

Change-Id: If592ee99be09bcd34a7c8498347f44e7305e982c

11 years agoMerge "Auto adapt step size feature."
Paul Wilkins [Thu, 27 Jun 2013 09:28:41 +0000 (02:28 -0700)]
Merge "Auto adapt step size feature."

11 years agoMerge "Start adaptive threshold for each mode at max."
Paul Wilkins [Thu, 27 Jun 2013 09:28:36 +0000 (02:28 -0700)]
Merge "Start adaptive threshold for each mode at max."

11 years agoMerge "Change meaning of cpi->sf.first_step and rename."
Paul Wilkins [Thu, 27 Jun 2013 09:28:21 +0000 (02:28 -0700)]
Merge "Change meaning of cpi->sf.first_step and rename."

11 years agoMerge "Make intra predictor reference buffer configurable"
Jingning Han [Thu, 27 Jun 2013 02:02:02 +0000 (19:02 -0700)]
Merge "Make intra predictor reference buffer configurable"

11 years agoMerge "Make update_partition_context faster"
Jingning Han [Thu, 27 Jun 2013 02:01:45 +0000 (19:01 -0700)]
Merge "Make update_partition_context faster"

11 years agovariance_test: add missing ClearSystemState...
James Zern [Thu, 27 Jun 2013 01:32:21 +0000 (18:32 -0700)]
variance_test: add missing ClearSystemState...

...to recently added SubpelVarianceTest

Change-Id: I8775e39fd5dbfba81ad42b79b47bf6dd6ca8cc0e

11 years agoMerge "Change to use LUT for mode-to-txfm conversion"
Yaowu Xu [Thu, 27 Jun 2013 00:19:47 +0000 (17:19 -0700)]
Merge "Change to use LUT for mode-to-txfm conversion"

11 years agoMake intra predictor reference buffer configurable
Jingning Han [Wed, 26 Jun 2013 02:41:56 +0000 (19:41 -0700)]
Make intra predictor reference buffer configurable

This commit enables configurable reference buffer pointer for intra
predictor. This allows later removal of spatial dependency between
blocks inside a 64x64 superblock in the rate-distortion optimization
loop.

Change-Id: I02418c2077efe19adc86e046a6b49364a980f5b1

11 years agoMerge "Remove empty function vp9_build_block_offsets"
Jingning Han [Thu, 27 Jun 2013 00:06:56 +0000 (17:06 -0700)]
Merge "Remove empty function vp9_build_block_offsets"

11 years agoMake update_partition_context faster
Jingning Han [Wed, 26 Jun 2013 18:50:14 +0000 (11:50 -0700)]
Make update_partition_context faster

Use vpx_memset for updating the partition contexts. Thanks to Noah
for pointing out the need of refactoring in this part.

Change-Id: I67fb78429d632298f1cd8a0be346cc76f79392a6

11 years agoRemove unused macro RDTRUNC_8x8 from encodemb.c.
Ronald S. Bultje [Wed, 26 Jun 2013 21:52:56 +0000 (14:52 -0700)]
Remove unused macro RDTRUNC_8x8 from encodemb.c.

Change-Id: I0c097567adab24215d807963ccb34810a2afe007

11 years agoRemove empty function vp9_build_block_offsets
Jingning Han [Wed, 26 Jun 2013 21:55:47 +0000 (14:55 -0700)]
Remove empty function vp9_build_block_offsets

This function is empty, hence is removed.

Change-Id: Ia9d01710806bffe0398a6dc9405f8a5a81b27d74

11 years agoChange to use LUT for mode-to-txfm conversion
Yaowu Xu [Wed, 26 Jun 2013 01:15:42 +0000 (18:15 -0700)]
Change to use LUT for mode-to-txfm conversion

Change-Id: Ieb989830f49e6708ee7728eddebf7a2144c37c6f

11 years agoMerge "Fix aligned memory allocation in unit tests"
Jingning Han [Wed, 26 Jun 2013 19:21:05 +0000 (12:21 -0700)]
Merge "Fix aligned memory allocation in unit tests"

11 years agoFix aligned memory allocation in unit tests
Jingning Han [Wed, 26 Jun 2013 18:59:46 +0000 (11:59 -0700)]
Fix aligned memory allocation in unit tests

Change-Id: I38fac90e0ed25cb747453ab1d6396187cf5ef3b9

11 years agoMerge "fixed a compiling problem with MSVC win32 build"
Paul Wilkins [Wed, 26 Jun 2013 18:58:16 +0000 (11:58 -0700)]
Merge "fixed a compiling problem with MSVC win32 build"

11 years agoAuto adapt step size feature.
Paul Wilkins [Wed, 26 Jun 2013 16:06:25 +0000 (17:06 +0100)]
Auto adapt step size feature.

Also tweaks to other features and experiments with
what is on and off at different speed settings.

Change-Id: I3e1d0be0d195216bf17c2ac5df67f34ce0b306b2

11 years agotest/fdct*: fix some warnings
James Zern [Wed, 26 Jun 2013 18:09:08 +0000 (11:09 -0700)]
test/fdct*: fix some warnings

comment out some unused parameters and adjust the format to avoid:
./test/fdct4x4_test.cc|27| warning C4138: '*/' found outside of comment

Change-Id: I60f93b4c3cd7e8d61f0de80019f3404b40161f03

11 years agoGeneral cleanup in segmentation-related code.
Dmitry Kovalev [Wed, 26 Jun 2013 17:27:28 +0000 (10:27 -0700)]
General cleanup in segmentation-related code.

Using consistent function and variable names.

Change-Id: I2deb3fded8797453a2081836c9ce2e79ade06eb7

11 years agoMerge "Using get_plane_block_{width, height} instead of custom code."
Dmitry Kovalev [Wed, 26 Jun 2013 17:23:27 +0000 (10:23 -0700)]
Merge "Using get_plane_block_{width, height} instead of custom code."

11 years agofixed a compiling problem with MSVC win32 build
Yaowu Xu [Wed, 26 Jun 2013 16:33:16 +0000 (09:33 -0700)]
fixed a compiling problem with MSVC win32 build

The aligned array in parameter list caused win32 build to report
c2719 error. This commit fixed the issue by make the parameter
type a pointer instead of an array.

Change-Id: I4ed654ce4eba2db4995d9cdc136c68e9a6acc992

11 years agoStart adaptive threshold for each mode at max.
Paul Wilkins [Tue, 25 Jun 2013 13:59:18 +0000 (14:59 +0100)]
Start adaptive threshold for each mode at max.

Each frame we reset all adaptive thresholds to MAX
rather than base. As modes are picked their thresholds
drop down.

Change-Id: Ia37f03a73003c2d9bfcda57edea07205e9a0e5e8

11 years agoChange meaning of cpi->sf.first_step and rename.
Paul Wilkins [Mon, 24 Jun 2013 14:19:16 +0000 (15:19 +0100)]
Change meaning of cpi->sf.first_step and rename.

Renamed cpi->sf.first_step to cpi->sf.reduce_first_step_size
and changed its meaning such that it is a delta applied to
reduce the default first step size (>> x) in the motion search
rather than an absolute value.

The default first step size is already changed according to the image
dimensions (smaller for smaller images). cpi->sf.reduce_first_step_size
now applies a further correction from the default.

Change-Id: Ia94e08bc24c67b604831f980909af7e982fcd16d

11 years agoMerge "vpxenc: send usage to stderr"
John Koleszar [Wed, 26 Jun 2013 05:44:39 +0000 (22:44 -0700)]
Merge "vpxenc: send usage to stderr"

11 years agoMerge ".gitignore: add gcov files"
John Koleszar [Wed, 26 Jun 2013 05:44:26 +0000 (22:44 -0700)]
Merge ".gitignore: add gcov files"

11 years agoMerge "Move vp9_counts_to_nmv_context to encoder"
John Koleszar [Wed, 26 Jun 2013 05:44:21 +0000 (22:44 -0700)]
Merge "Move vp9_counts_to_nmv_context to encoder"

11 years agoMerge "Move vp9_full_to_model_counts to encoder"
John Koleszar [Wed, 26 Jun 2013 05:44:16 +0000 (22:44 -0700)]
Merge "Move vp9_full_to_model_counts to encoder"

11 years agoMerge "make: add libvpx_test_srcs.txt target"
John Koleszar [Wed, 26 Jun 2013 05:30:50 +0000 (22:30 -0700)]
Merge "make: add libvpx_test_srcs.txt target"

11 years agoMerge "tests/*source: test file pointer before reading"
John Koleszar [Wed, 26 Jun 2013 05:29:37 +0000 (22:29 -0700)]
Merge "tests/*source: test file pointer before reading"

11 years agoMerge "encode_test_driver: check for fatal failures"
John Koleszar [Wed, 26 Jun 2013 05:27:39 +0000 (22:27 -0700)]
Merge "encode_test_driver: check for fatal failures"

11 years agoMerge "Refactor intra predictor block"
Jingning Han [Wed, 26 Jun 2013 02:46:55 +0000 (19:46 -0700)]
Merge "Refactor intra predictor block"

11 years agotests/*source: test file pointer before reading
James Zern [Wed, 26 Jun 2013 00:55:28 +0000 (17:55 -0700)]
tests/*source: test file pointer before reading

if the caller did not abort after an ASSERT failure in Begin()
FillFrame() would segfault.

Change-Id: I2d3f5a0918611bbd081be6f686dea19c56695073

11 years agoencode_test_driver: check for fatal failures
James Zern [Wed, 26 Jun 2013 00:53:20 +0000 (17:53 -0700)]
encode_test_driver: check for fatal failures

Make the base test be:
!(fatal || abort_) removing some redundancy in the encode tests

Change-Id: I8ffaf33fcf9a3030b38ea3e8eb94704cdc2fc920

11 years agoRefactor intra predictor block
Jingning Han [Tue, 25 Jun 2013 23:01:48 +0000 (16:01 -0700)]
Refactor intra predictor block

Remove vp9_intra4x4_predict(). Use the common intra prediction
function for all block sizes.

Change-Id: Ibd19d51dfa3da8bbdfb79ddeb81530b2e2089560

11 years agoRenaming "nmv" to "mv".
Dmitry Kovalev [Tue, 25 Jun 2013 22:19:18 +0000 (15:19 -0700)]
Renaming "nmv" to "mv".

Change-Id: I8299f55c3b930221e52c2237f2ddea65b94fd33b

11 years agoUsing get_plane_block_{width, height} instead of custom code.
Dmitry Kovalev [Tue, 25 Jun 2013 21:11:18 +0000 (14:11 -0700)]
Using get_plane_block_{width, height} instead of custom code.

Change-Id: I453ed11b965e857a14c18ea5c0f4a0a48e7dc0d9

11 years agoMerge "Only do metrics on cropped (visible) area of picture."
Ronald S. Bultje [Tue, 25 Jun 2013 20:51:18 +0000 (13:51 -0700)]
Merge "Only do metrics on cropped (visible) area of picture."

11 years agoMerge "Don't skip right/bottom border pixels in SSIM calculations."
Ronald S. Bultje [Tue, 25 Jun 2013 20:51:04 +0000 (13:51 -0700)]
Merge "Don't skip right/bottom border pixels in SSIM calculations."

11 years agoMerge "Add averaging-SAD functions for 8-point comp-inter motion search."
Ronald S. Bultje [Tue, 25 Jun 2013 20:50:53 +0000 (13:50 -0700)]
Merge "Add averaging-SAD functions for 8-point comp-inter motion search."

11 years agomake: add libvpx_test_srcs.txt target
James Zern [Tue, 25 Jun 2013 20:50:30 +0000 (13:50 -0700)]
make: add libvpx_test_srcs.txt target

same application as libvpx_srcs.txt

Change-Id: I1f096cc3c180d205365663c1aa5533b52561d811

11 years agoMerge "Cosmetic changes in 4x4 fwd transform unit test"
Jingning Han [Tue, 25 Jun 2013 20:17:23 +0000 (13:17 -0700)]
Merge "Cosmetic changes in 4x4 fwd transform unit test"

11 years agoMerge "Tune the rounding operations in 8x8 ADST/DCT sse2"
Jingning Han [Tue, 25 Jun 2013 20:17:05 +0000 (13:17 -0700)]
Merge "Tune the rounding operations in 8x8 ADST/DCT sse2"

11 years agoMerge "I420VideoSource: normalize framerate types"
James Zern [Tue, 25 Jun 2013 19:57:49 +0000 (12:57 -0700)]
Merge "I420VideoSource: normalize framerate types"

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 agoTune the rounding operations in 8x8 ADST/DCT sse2
Jingning Han [Fri, 21 Jun 2013 22:56:24 +0000 (15:56 -0700)]
Tune the rounding operations in 8x8 ADST/DCT sse2

Improve the round-trip precision to meet the unit test setttings.

Change-Id: I303febae56b4b990ea3798b8ebed94c0510ecf79

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 agoMoving subexp encoding functions in separate vp9_dsubexp.c file.
Dmitry Kovalev [Tue, 25 Jun 2013 18:52:44 +0000 (11:52 -0700)]
Moving subexp encoding functions in separate vp9_dsubexp.c file.

Change-Id: Idbb2ea80f764fa830fe2ddcfc54ef7fe232f05a8

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 agoCosmetic changes in 4x4 fwd transform unit test
Jingning Han [Fri, 21 Jun 2013 23:00:44 +0000 (16:00 -0700)]
Cosmetic changes in 4x4 fwd transform unit test

Change-Id: I7a9ea03b92160f1052e56665b19a155211ee241f

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 agovpxenc: send usage to stderr
John Koleszar [Tue, 25 Jun 2013 16:15:07 +0000 (09:15 -0700)]
vpxenc: send usage to stderr

Thanks to hiiragikei AT gmail.com for the fix.

Change-Id: Iab6c0822593fc5557d86efbb014ff6409ff05b35

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"