platform/upstream/libvpx.git
11 years agoMerge changes Ib1e853f9,Ifd75c809,If3e83404
James Zern [Thu, 29 Aug 2013 22:50:56 +0000 (15:50 -0700)]
Merge changes Ib1e853f9,Ifd75c809,If3e83404

* changes:
  consistently name VP9_COMMON variables #3
  consistently name VP9_COMMON variables #2
  consistently name VP9_COMMON variables #1

11 years agoMerge "Fixed potential overflows"
Yaowu Xu [Thu, 29 Aug 2013 22:43:26 +0000 (15:43 -0700)]
Merge "Fixed potential overflows"

11 years agoconsistently name VP9_COMMON variables #3
James Zern [Sat, 24 Aug 2013 02:30:33 +0000 (19:30 -0700)]
consistently name VP9_COMMON variables #3

stragglers

Change-Id: Ib1e853f9a331b7b66639dc34d79568d84d1930f1

11 years agoconsistently name VP9_COMMON variables #2
James Zern [Fri, 23 Aug 2013 03:04:24 +0000 (20:04 -0700)]
consistently name VP9_COMMON variables #2

oci -> cm

Change-Id: Ifd75c809d9cc99034d3c2fccc4653a78b3aec21f

11 years agoconsistently name VP9_COMMON variables #1
James Zern [Fri, 23 Aug 2013 03:03:08 +0000 (20:03 -0700)]
consistently name VP9_COMMON variables #1

pc -> cm

Change-Id: If3e83404f574316fdd3b9aace2487b64efdb66f3

11 years agoMerge "Renaming txfm_size to tx_size."
Dmitry Kovalev [Thu, 29 Aug 2013 19:30:18 +0000 (12:30 -0700)]
Merge "Renaming txfm_size to tx_size."

11 years agoFixed potential overflows
Yaowu Xu [Thu, 29 Aug 2013 17:26:52 +0000 (10:26 -0700)]
Fixed potential overflows

The two arrays are typically initialized to INT64_MAX, if they are not
filled with valid values before the addition, the values can overflow
and lead to wrong results.

Change-Id: I515de22cf3e8f55af4b74bdb2c8eb821a02d3059

11 years agoMerge "General code cleanup."
Dmitry Kovalev [Wed, 28 Aug 2013 19:57:49 +0000 (12:57 -0700)]
Merge "General code cleanup."

11 years agoMerge "Removing unnecessary call to vp9_setup_interp_filters."
Dmitry Kovalev [Wed, 28 Aug 2013 19:31:08 +0000 (12:31 -0700)]
Merge "Removing unnecessary call to vp9_setup_interp_filters."

11 years agoGeneral code cleanup.
Dmitry Kovalev [Wed, 28 Aug 2013 19:22:37 +0000 (12:22 -0700)]
General code cleanup.

Switching from mi_{width, height}_log2 and b_{width, height}_log2 to
num_8x8_blocks_{wide, high} and num_4x4_blocks_{wide, high}. Removing
redundant code, adding const.

Change-Id: Iaab2207590fd24d0b76999071778d1395dc5cd5d

11 years agoRenaming txfm_size to tx_size.
Dmitry Kovalev [Wed, 28 Aug 2013 02:47:53 +0000 (19:47 -0700)]
Renaming txfm_size to tx_size.

Change-Id: I752e374867d459960995b24d197301d65ad535e3

11 years agoMerge "Fix buf alignment in sub8x8 comp inter-inter pred"
Jingning Han [Wed, 28 Aug 2013 02:03:12 +0000 (19:03 -0700)]
Merge "Fix buf alignment in sub8x8 comp inter-inter pred"

11 years agoMerge "Adding get_entropy_context function."
Dmitry Kovalev [Wed, 28 Aug 2013 00:02:36 +0000 (17:02 -0700)]
Merge "Adding get_entropy_context function."

11 years agoMerge "Fix winodws warning."
Frank Galligan [Tue, 27 Aug 2013 22:39:58 +0000 (15:39 -0700)]
Merge "Fix winodws warning."

11 years agoFix winodws warning.
Frank Galligan [Tue, 27 Aug 2013 22:19:55 +0000 (15:19 -0700)]
Fix winodws warning.

Const is not needed on the function parameter.

Change-Id: I38c2a7317cb6f42f70bbddfde9a2cd18d65ceb1c

11 years agoAdding get_entropy_context function.
Dmitry Kovalev [Tue, 27 Aug 2013 21:17:53 +0000 (14:17 -0700)]
Adding get_entropy_context function.

Moving common code from encoder and decoder to this function.

Change-Id: I60fa643fb1ddf7ebbff5e83b6c4710137b0195ef

11 years agoAdd neon optimize vp9_short_idct16x16_1_add.
hkuang [Tue, 27 Aug 2013 20:57:32 +0000 (13:57 -0700)]
Add neon optimize vp9_short_idct16x16_1_add.

Change-Id: Ib9354c1d975d03e8081df20d50b6a77dfe2dc7e5

11 years agoMerge "Add neon optimize vp9_short_idct8x8_1_add."
hkuang [Tue, 27 Aug 2013 19:10:07 +0000 (12:10 -0700)]
Merge "Add neon optimize vp9_short_idct8x8_1_add."

11 years agoRenaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the encoder.
Dmitry Kovalev [Tue, 27 Aug 2013 18:05:08 +0000 (11:05 -0700)]
Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the encoder.

Change-Id: I62bb07c377f947cb72fac68add7a6b199e42c6b9

11 years agoMerge "Using num_8x8_* lookup tables instead of mi_*_log2."
Dmitry Kovalev [Tue, 27 Aug 2013 17:49:36 +0000 (10:49 -0700)]
Merge "Using num_8x8_* lookup tables instead of mi_*_log2."

11 years agoMerge "Using existing functions instead of raw expressions."
Dmitry Kovalev [Tue, 27 Aug 2013 17:33:34 +0000 (10:33 -0700)]
Merge "Using existing functions instead of raw expressions."

11 years agoMerge "Cleaning up decode_block_intra function."
Dmitry Kovalev [Tue, 27 Aug 2013 17:17:56 +0000 (10:17 -0700)]
Merge "Cleaning up decode_block_intra function."

11 years agoMerge "Cleaning up model_rd_for_sb_y_tx."
Dmitry Kovalev [Tue, 27 Aug 2013 17:17:10 +0000 (10:17 -0700)]
Merge "Cleaning up model_rd_for_sb_y_tx."

11 years agoMerge "Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder."
Dmitry Kovalev [Tue, 27 Aug 2013 17:15:21 +0000 (10:15 -0700)]
Merge "Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder."

11 years agoMerge "Renaming D27 to D207."
Dmitry Kovalev [Tue, 27 Aug 2013 17:03:57 +0000 (10:03 -0700)]
Merge "Renaming D27 to D207."

11 years agoFix buf alignment in sub8x8 comp inter-inter pred
Jingning Han [Mon, 26 Aug 2013 23:52:13 +0000 (16:52 -0700)]
Fix buf alignment in sub8x8 comp inter-inter pred

This commit resolved a mis-alignment issue in compound inter-inter
prediction of sub8x8. This patch follows solution from dkovalev@.

Change-Id: I3cc0cf7e55b84110e0c42ef4b2e6ca7ac3f8f932

11 years agoMerge "fixed the reading too many bytes"
Yaowu Xu [Tue, 27 Aug 2013 16:09:18 +0000 (09:09 -0700)]
Merge "fixed the reading too many bytes"

11 years agofixed the reading too many bytes
Yaowu Xu [Tue, 27 Aug 2013 15:39:20 +0000 (08:39 -0700)]
fixed the reading too many bytes

In subpel_avg_variance functions, code similar to the following

punpkldq m2, [addr]

actually reads 8 bytes. For functions that are supposed to work on
buffers only have less 8 bytes a line, this caused valgrind error
of reading uninitialized memory.

Change-Id: I2a4c079dbdbc747829bd9e2ed85f0018ad2a3a34

11 years agoMerge "Add a test vector that tests color space 444"
Jim Bankoski [Tue, 27 Aug 2013 15:33:12 +0000 (08:33 -0700)]
Merge "Add a test vector that tests color space 444"

11 years agoRemoving unnecessary call to vp9_setup_interp_filters.
Dmitry Kovalev [Tue, 27 Aug 2013 00:25:49 +0000 (17:25 -0700)]
Removing unnecessary call to vp9_setup_interp_filters.

vp9_setup_interp_filters before each inter block decoding, it is not
necessary to call it just before the whole frame decoding.

Change-Id: Id1b0ee62f987474e27eafba0013a4896b492c400

11 years agoAdd neon optimize vp9_short_idct8x8_1_add.
hkuang [Mon, 26 Aug 2013 23:28:57 +0000 (16:28 -0700)]
Add neon optimize vp9_short_idct8x8_1_add.

Change-Id: I0b15d5e3b0eb97abb9ab5ec08e88b61f8723aaf4

11 years agoMerge "Add neon optimize vp9_short_idct4x4_1_add."
hkuang [Mon, 26 Aug 2013 23:26:38 +0000 (16:26 -0700)]
Merge "Add neon optimize vp9_short_idct4x4_1_add."

11 years agoCleaning up model_rd_for_sb_y_tx.
Dmitry Kovalev [Mon, 26 Aug 2013 23:18:28 +0000 (16:18 -0700)]
Cleaning up model_rd_for_sb_y_tx.

Removing references to plane_block_width and plane_block_height (we are
going to delete the latter ones).

Change-Id: I7982da4d373aebb54d2209dc8886f6192df4d287

11 years agoAdd neon optimize vp9_short_idct4x4_1_add.
hkuang [Mon, 26 Aug 2013 19:39:12 +0000 (12:39 -0700)]
Add neon optimize vp9_short_idct4x4_1_add.

Change-Id: I6ecb5c4a1a472feb8e84e9f3352b536d5e28a4a5

11 years agoMerge "Fix Chroma plane md5 check"
Jim Bankoski [Mon, 26 Aug 2013 22:27:14 +0000 (15:27 -0700)]
Merge "Fix Chroma plane md5 check"

11 years agoAdd a test vector that tests color space 444
Jim Bankoski [Mon, 26 Aug 2013 22:24:35 +0000 (15:24 -0700)]
Add a test vector that tests color space 444

This adds a test vector for 444 color space.

Change-Id: I1e2ac3883211989a062cfafc0e58151b14d294b8

11 years agoCleaning up decode_block_intra function.
Dmitry Kovalev [Mon, 26 Aug 2013 22:24:12 +0000 (15:24 -0700)]
Cleaning up decode_block_intra function.

Change-Id: Ia41ea5d526d15fcbc9b56d74079593cf8b2fdf66

11 years agoFix Chroma plane md5 check
Jim Bankoski [Mon, 26 Aug 2013 21:26:38 +0000 (14:26 -0700)]
Fix Chroma plane md5 check

Chroma plane MD5 calculation was incorrect for 444 and 422
yuv color spaces.

Change-Id: If985396871a2f57db85108a4355172f9793d3007

11 years agoUsing num_8x8_* lookup tables instead of mi_*_log2.
Dmitry Kovalev [Mon, 26 Aug 2013 21:22:54 +0000 (14:22 -0700)]
Using num_8x8_* lookup tables instead of mi_*_log2.

Change-Id: I8a246b3d056c98be614d05a90bc261e2441ffc10

11 years agoMerge "Fix the reading of too many input pixels"
Yaowu Xu [Mon, 26 Aug 2013 21:01:50 +0000 (14:01 -0700)]
Merge "Fix the reading of too many input pixels"

11 years agoMerge "Changes to adaptive inter rd thresholds."
Paul Wilkins [Mon, 26 Aug 2013 19:48:11 +0000 (12:48 -0700)]
Merge "Changes to adaptive inter rd thresholds."

11 years agoFix the reading of too many input pixels
Yaowu Xu [Mon, 26 Aug 2013 16:21:12 +0000 (09:21 -0700)]
Fix the reading of too many input pixels

in VP9_get4x4var_mmx

Change-Id: I4b4a8f45f25ebdfad281f169cc87aba5e2d6f227

11 years agoMerge "Limit Key frame Intra modes checks."
Paul Wilkins [Mon, 26 Aug 2013 19:34:56 +0000 (12:34 -0700)]
Merge "Limit Key frame Intra modes checks."

11 years agoRenaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder.
Dmitry Kovalev [Mon, 26 Aug 2013 18:33:16 +0000 (11:33 -0700)]
Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder.

Adding temporary "typedef BLOCK_SIZE BLOCK_SIZE_TYPE" which will go away
after encoder's patch.

Change-Id: I06ec6a6f079401439843ec981d1496234fd7775c

11 years agoMerge "Temporarily disable SSSE3 quant_32x32"
Jingning Han [Mon, 26 Aug 2013 18:19:53 +0000 (11:19 -0700)]
Merge "Temporarily disable SSSE3 quant_32x32"

11 years agoMerge "Removing redundant calls to clamp_mv2."
Dmitry Kovalev [Mon, 26 Aug 2013 17:48:37 +0000 (10:48 -0700)]
Merge "Removing redundant calls to clamp_mv2."

11 years agoTemporarily disable SSSE3 quant_32x32
Jingning Han [Mon, 26 Aug 2013 17:45:59 +0000 (10:45 -0700)]
Temporarily disable SSSE3 quant_32x32

Make the current head working properly, while working on fixing an
issue in the SSSE3 implementation of 32x32 quantization.

Change-Id: Ic029da3fd7f1f5e58bc641341cbd226ec49a16bc

11 years agoMerge "cosmetics: yv12extend add some const"
James Zern [Sun, 25 Aug 2013 01:13:41 +0000 (18:13 -0700)]
Merge "cosmetics: yv12extend add some const"

11 years agocosmetics: yv12extend add some const
James Zern [Sat, 24 Aug 2013 02:52:33 +0000 (19:52 -0700)]
cosmetics: yv12extend add some const

Change-Id: I87f1ce2ceca80d3869dd72ba862329a98eb3e0c2

11 years agoMerge "cosmetics: strip 'VP9_' from defines in vp9 only code"
James Zern [Sat, 24 Aug 2013 02:59:16 +0000 (19:59 -0700)]
Merge "cosmetics: strip 'VP9_' from defines in vp9 only code"

11 years agoMerge "yv12extend: name variables consistently"
James Zern [Sat, 24 Aug 2013 02:40:03 +0000 (19:40 -0700)]
Merge "yv12extend: name variables consistently"

11 years agocosmetics: strip 'VP9_' from defines in vp9 only code
James Zern [Fri, 23 Aug 2013 01:40:34 +0000 (18:40 -0700)]
cosmetics: strip 'VP9_' from defines in vp9 only code

Change-Id: I481d9bb2fa3ec72b6a83d5f04d545ad8013f295c

11 years agoMerge "vp9: remove unnecessary wait w/threaded loopfilter"
James Zern [Sat, 24 Aug 2013 01:52:10 +0000 (18:52 -0700)]
Merge "vp9: remove unnecessary wait w/threaded loopfilter"

11 years agoyv12extend: name variables consistently
James Zern [Fri, 23 Aug 2013 02:49:24 +0000 (19:49 -0700)]
yv12extend: name variables consistently

- s|source -> src
- dest -> dst
- use verbose names in extend_plane dropping the redundant comments

+ light cosmetics:
- join a few lines / assignments
- drop some unnecessary comments & includes

Change-Id: I6d979a85a0223a0a79a22f79a6d9c7512fd04532

11 years agoRenaming D27 to D207.
Dmitry Kovalev [Sat, 24 Aug 2013 00:33:48 +0000 (17:33 -0700)]
Renaming D27 to D207.

I've already renamed d27_predictor to d207_predictor but forgot about the
corresponding constant.

Change-Id: Id312aa80fc5b5a1ab8a709a33418a029552a6857

11 years agoUsing existing functions instead of raw expressions.
Dmitry Kovalev [Sat, 24 Aug 2013 00:26:53 +0000 (17:26 -0700)]
Using existing functions instead of raw expressions.

Change-Id: Ifa50b04bac1a6ff2abef989073cbf1f37a89eb50

11 years agoMerge "Cleanup in mvref_common.{h, c}."
Dmitry Kovalev [Sat, 24 Aug 2013 00:09:49 +0000 (17:09 -0700)]
Merge "Cleanup in mvref_common.{h, c}."

11 years agoMerge "Fixing display size setting problem."
Dmitry Kovalev [Sat, 24 Aug 2013 00:08:51 +0000 (17:08 -0700)]
Merge "Fixing display size setting problem."

11 years agoLimit mv range to be based on partition size
Yaowu Xu [Fri, 23 Aug 2013 20:29:32 +0000 (13:29 -0700)]
Limit mv range to be based on partition size

Previous change c4048dbd limits the mv search range assuming max block
size of 64x64, this commit change the search range using actual block
size instead.

Change-Id: Ibe07ab02b62bf64bd9f8675d2b997af20a2c7e11

11 years agoRemoving redundant calls to clamp_mv2.
Dmitry Kovalev [Fri, 23 Aug 2013 22:18:35 +0000 (15:18 -0700)]
Removing redundant calls to clamp_mv2.

We could avoid calling clamp_mv2 because it has been already called
inside vp9_find_best_ref_mvs function.

Change-Id: I08edeaf3e11e98c19e67b9711b2523ca5fb1416e

11 years agoMerge "Added border extension"
Yaowu Xu [Fri, 23 Aug 2013 21:43:58 +0000 (14:43 -0700)]
Merge "Added border extension"

11 years agoMerge "Fix bug in convolution functions (filter selection)"
Adrian Grange [Fri, 23 Aug 2013 20:41:47 +0000 (13:41 -0700)]
Merge "Fix bug in convolution functions (filter selection)"

11 years agoMerge "Removing useless calls to setup_{pre, dst}_planes."
Dmitry Kovalev [Fri, 23 Aug 2013 20:37:32 +0000 (13:37 -0700)]
Merge "Removing useless calls to setup_{pre, dst}_planes."

11 years agoFixing display size setting problem.
Dmitry Kovalev [Fri, 23 Aug 2013 20:12:46 +0000 (13:12 -0700)]
Fixing display size setting problem.

Fix of https://code.google.com/p/webm/issues/detail?id=608. We could have
used invalid display size equal to the previous frame size (not to the
current frame size).

Change-Id: I91b576be5032e47084214052a1990dc51213e2f0

11 years agoCleanup in mvref_common.{h, c}.
Dmitry Kovalev [Fri, 23 Aug 2013 19:00:14 +0000 (12:00 -0700)]
Cleanup in mvref_common.{h, c}.

Making code more compact, adding consts, removing redundant arguments,
adding do/while(0) for macros.

Change-Id: Ic9ec0bc58cee0910a5450b7fb8cfbf35fa9d0d16

11 years agoAdded border extension
Yaowu Xu [Thu, 22 Aug 2013 17:37:28 +0000 (10:37 -0700)]
Added border extension

To the source buffer to be encoded as an alt ref frame. This is to fix
the problem of using uninitialized memory in encoder.

See https://code.google.com/p/webm/issues/detail?id=605

Change-Id: I97618a2fc207e08abcf5301b734aa9e3ad695e2c

11 years agoFix bug in convolution functions (filter selection)
Adrian Grange [Thu, 22 Aug 2013 23:02:18 +0000 (16:02 -0700)]
Fix bug in convolution functions (filter selection)

(In response to Issue 604:
 https://code.google.com/p/webm/issues/detail?id=604)

There were bugs in the convolution code for two cases:

1. Where the filter table was assumed to be aligned to a
   256 byte boundary. The offset of the pixel in the
   source buffer was computed incorrectly.

2. Where no such alignment assumption was made. An
   incorrect address for the filter table base was used.

To fix both problems, I now assume that the filter table is
256-byte aligned and modify the pixel offset calculation to
match.

A later patch should remove the restriction that the filter
table is aligned to a 256-byte boundary.

There was also a bug in the ConvolveTest unit test
(convolve_test.cc).

(Bug & initial fix suggestion submitted by Tero Rintaluoma
and Sami Pietilä).

Change-Id: I71985551e62846e55e40de9e7e3959d4805baa82

11 years agoMerge "Checking scale factors on access."
Dmitry Kovalev [Fri, 23 Aug 2013 18:05:17 +0000 (11:05 -0700)]
Merge "Checking scale factors on access."

11 years agoMerge "vpx_scale: correct pixel spelling"
James Zern [Fri, 23 Aug 2013 18:01:27 +0000 (11:01 -0700)]
Merge "vpx_scale: correct pixel spelling"

11 years agoMerge "Optimise idct4x4: rearrange the instructions a bit to improve instruction...
hkuang [Fri, 23 Aug 2013 17:08:43 +0000 (10:08 -0700)]
Merge "Optimise idct4x4: rearrange the instructions a bit to improve instruction scheduling."

11 years agoChanges to adaptive inter rd thresholds.
Paul Wilkins [Fri, 23 Aug 2013 13:00:54 +0000 (14:00 +0100)]
Changes to adaptive inter rd thresholds.

Values now carried over frame to frame.
Change to algorithm for decreasing threshold after
a hit and to max threshold (now based on speed)

Removed some old commented out code relating to
VP8 adaptive thresholds.

The impact of these changes tested on Akiyo (50 frames)
and measured in terms of unit rd hits is as follows:

Speed 0 84.36 -> 84.67
Speed 1 29.48 -> 22.22
Speed 2 11.76 -> 8.21
Speed 3 12.32 -> 7.21

Encode speed impact is broadly in line with these.

Change-Id: I5b886efee3077a11553fa950d796fd6d00c8cb19

11 years agoLimit Key frame Intra modes checks.
Paul Wilkins [Thu, 22 Aug 2013 16:23:02 +0000 (17:23 +0100)]
Limit Key frame Intra modes checks.

Most of the focus so far has been on inter frames.

At high speed settings the key frame is now taking a high %
of the cycles.

This patch puts in some masking to reduce the number
of INTRA modes searched during key frame coding (as already
happens for inter frames) at higher speed settings

TODO: Develop this further with either adaptive rd thresholds
when choosing which intra modes to consider or some other
heuristic.

Impact.
At high speed settings on some clips the key frame was starting
to dominate. In a coding of the first 50 frames of AKIYO at speed
2 limiting the key frame intra modes to DC or TM_PRED resulted in
~30% overall speedup. For Bus the number was lower at ~4-5%.

Change-Id: I7bde68aee04995f9d9beb13a1902143112e341e2

11 years agovpx_scale: correct pixel spelling
James Zern [Fri, 23 Aug 2013 02:39:52 +0000 (19:39 -0700)]
vpx_scale: correct pixel spelling

Change-Id: Idcfab16da37134f943a4314674e2e2fcbff3a0f8

11 years agoMerge "Fix rectangular partition check flag"
Jingning Han [Fri, 23 Aug 2013 01:59:18 +0000 (18:59 -0700)]
Merge "Fix rectangular partition check flag"

11 years agoMerge "vp9_encodeframe.c cleanup."
Dmitry Kovalev [Fri, 23 Aug 2013 01:07:35 +0000 (18:07 -0700)]
Merge "vp9_encodeframe.c cleanup."

11 years agoMerge "vp9/encoder: fix last_frame_seg_map mem leak"
James Zern [Fri, 23 Aug 2013 01:04:03 +0000 (18:04 -0700)]
Merge "vp9/encoder: fix last_frame_seg_map mem leak"

11 years agoMerge "rename LOG2_* defines to *_LOG2"
James Zern [Fri, 23 Aug 2013 01:02:42 +0000 (18:02 -0700)]
Merge "rename LOG2_* defines to *_LOG2"

11 years agoFix rectangular partition check flag
Jingning Han [Fri, 23 Aug 2013 00:15:01 +0000 (17:15 -0700)]
Fix rectangular partition check flag

Put rectangular partition check flag change according to the rd
costs of NONE and SPLIT partition types under the speed feature.

Change-Id: If681e1e078a8d43d86961ea4b748da5cd1b6c331

11 years agoMerge "check_bsize_coverage cleanup."
Dmitry Kovalev [Thu, 22 Aug 2013 23:18:24 +0000 (16:18 -0700)]
Merge "check_bsize_coverage cleanup."

11 years agoMerge "Add neon optimize vp9_short_idct10_16x16_add."
hkuang [Thu, 22 Aug 2013 22:57:28 +0000 (15:57 -0700)]
Merge "Add neon optimize vp9_short_idct10_16x16_add."

11 years agoAdd neon optimize vp9_short_idct10_16x16_add.
hkuang [Wed, 21 Aug 2013 21:19:08 +0000 (14:19 -0700)]
Add neon optimize vp9_short_idct10_16x16_add.

vp9_short_idct10_16x16_add is used to handle the block that only have valid data
at top left 4x4 block. All the other datas are 0. So we could cut many
unnecessary calculations in order to save instructions.

Change-Id: I6e30a3fee1ece5af7f258532416d0bfddd1143f0

11 years agovp9_encodeframe.c cleanup.
Dmitry Kovalev [Thu, 22 Aug 2013 22:50:51 +0000 (15:50 -0700)]
vp9_encodeframe.c cleanup.

Removing unused get_sbuv_perpixel_variance function, using has_second_ref/
is_inter_block functions, organizing includes.

Change-Id: I016de4af12fbbb8b4ece26a70759b2392651b095

11 years agocheck_bsize_coverage cleanup.
Dmitry Kovalev [Thu, 22 Aug 2013 22:45:56 +0000 (15:45 -0700)]
check_bsize_coverage cleanup.

Change-Id: Ib7803857b35c00e317c9deb8630e777e25eb278f

11 years agoChecking scale factors on access.
Dmitry Kovalev [Thu, 22 Aug 2013 22:19:05 +0000 (15:19 -0700)]
Checking scale factors on access.

It is possible to have invalid scale factors and not access them
during decoding. Error is reported if we really try to use invalid scale
factors.

Change-Id: Ie532d3ea7325ee0c7a6ada08269f804350c80fdf

11 years agorename LOG2_* defines to *_LOG2
James Zern [Thu, 22 Aug 2013 21:45:24 +0000 (14:45 -0700)]
rename LOG2_* defines to *_LOG2

gets rid of a mix of styles

Change-Id: I3591d312157bc6f53a25438bf047765c671fd8a8

11 years agoMerge "Adding vp9_is_scaled function."
Dmitry Kovalev [Thu, 22 Aug 2013 21:39:55 +0000 (14:39 -0700)]
Merge "Adding vp9_is_scaled function."

11 years agoRemoving useless calls to setup_{pre, dst}_planes.
Dmitry Kovalev [Thu, 22 Aug 2013 21:39:05 +0000 (14:39 -0700)]
Removing useless calls to setup_{pre, dst}_planes.

Comment is wrong, we don't initialize any xd pointers. We only initialize
xd->planes[i]->dst and xd->planes[i]->pre[], which are actually initialized
for every block during the decoding.

Change-Id: If152ea872ebef1f83ca70712fa6f8df1b6855f56

11 years agovp9/encoder: fix last_frame_seg_map mem leak
James Zern [Thu, 22 Aug 2013 21:13:04 +0000 (14:13 -0700)]
vp9/encoder: fix last_frame_seg_map mem leak

remove duplicate allocation from vp9_create_compressor, it was added to
vp9_alloc_frame_buffers in:

d5bec52 Added resizing & initialization of last frame segment map

Change-Id: I996723226a16a62aff8f9a52ac74e0b73cc98fdf

11 years agoAdding vp9_is_scaled function.
Dmitry Kovalev [Thu, 22 Aug 2013 21:04:59 +0000 (14:04 -0700)]
Adding vp9_is_scaled function.

Change-Id: Ieb7077ca3586b9491912027eed450a4f6fd38d30

11 years agoMerge "Refactor rd_pick_partition for parameter control"
Jingning Han [Thu, 22 Aug 2013 20:54:48 +0000 (13:54 -0700)]
Merge "Refactor rd_pick_partition for parameter control"

11 years agoMerge "vp9_peek_si: add bitstream v1 support"
James Zern [Thu, 22 Aug 2013 20:28:00 +0000 (13:28 -0700)]
Merge "vp9_peek_si: add bitstream v1 support"

11 years agoRefactor rd_pick_partition for parameter control
Jingning Han [Tue, 20 Aug 2013 21:34:17 +0000 (14:34 -0700)]
Refactor rd_pick_partition for parameter control

This commit changes the partition search order of superblocks from
{SPLIT, NONE, HORZ, VERT} to {NONE, SPLIT, HORZ, VERT} for
consistency with that of sub8x8 partition search. It enable the use
of early termination in partition search for all block sizes.

For ped_area_1080p 50 frames coded at 4000 kbps, it makes the runtime
goes down from 844305ms -> 818003ms (3% speed-up) at speed 0.

This will further move towards making the in-search partition types
configurable, hence unifying various speed-up approaches.

Some speed 1 and 2 features are turned off during the refactoring
process, including:
disable_split_var_thresh
using_small_partition_info

Stricter constraints are applied to use_square_partition_only for
right/bottom boundary blocks. Will bring back/refine these features
subsequently. At this point, it makes derf set at speed 1 about
0.45% higher in compression performance, and 9% down in run-time.

Change-Id: I3db9f9d1d1a0d6cbe2e50e49bd9eda1cf705f37c

11 years agoOptimise idct4x4: rearrange the instructions a bit
hkuang [Thu, 22 Aug 2013 18:02:22 +0000 (11:02 -0700)]
Optimise idct4x4: rearrange the instructions a bit
to improve instruction scheduling.

Change-Id: I5ea881a6e419f9e8ed4b3b619406403b4de24134

11 years agoFixes on feature disabling split based on variance
Deb Mukherjee [Wed, 21 Aug 2013 23:19:35 +0000 (16:19 -0700)]
Fixes on feature disabling split based on variance

Adds a couple of minor fixes, which may be absorbed in Jingning's
patch. Thanks to Guillaume for pointing these out.
Also adjusts the thresholds for speed 1 and 2 to 16 and 32
respectively, to keep quality drops small.

Results:
--------
derfraw300:  threshold = 16, psnr -0.082%, speedup 2-3%
             threshold = 32, psnr -0.218%, speedup 5-6%
stdhdraw250: threshold = 16, psnr -0.031%, speedup 2-3%
             threshold = 32, psnr -0.273%, speedup 5-6%

Change-Id: I4b11ae8296cca6c2a9f644be7e40de7c423b8330

11 years agoMerge "Initialize mb_skip_coeff before picking modes"
Scott LaVarnway [Thu, 22 Aug 2013 13:26:04 +0000 (06:26 -0700)]
Merge "Initialize mb_skip_coeff before picking modes"

11 years agoInitialize mb_skip_coeff before picking modes
Scott LaVarnway [Thu, 22 Aug 2013 12:51:04 +0000 (08:51 -0400)]
Initialize mb_skip_coeff before picking modes

It appears that the above/left mb_skip_coeff used during
the pick modes, is left over from the previously
encode frame.  This patch initializes the flag to the default
value of zero.

Change-Id: Ida4684cc99611d6e3e82628db35ed717e28ce550

11 years agoMerge "Using has_second_ref function to simplify the code."
Dmitry Kovalev [Thu, 22 Aug 2013 08:39:14 +0000 (01:39 -0700)]
Merge "Using has_second_ref function to simplify the code."

11 years agoMerge "Cleaning up foreach_transformed_block_in_plane."
Dmitry Kovalev [Thu, 22 Aug 2013 08:37:21 +0000 (01:37 -0700)]
Merge "Cleaning up foreach_transformed_block_in_plane."

11 years agoMerge "Cleaning up reset_skip_context function."
Dmitry Kovalev [Thu, 22 Aug 2013 08:36:25 +0000 (01:36 -0700)]
Merge "Cleaning up reset_skip_context function."

11 years agoMerge "Removing unused foreach_predicted_block function."
Dmitry Kovalev [Thu, 22 Aug 2013 08:35:40 +0000 (01:35 -0700)]
Merge "Removing unused foreach_predicted_block function."