platform/upstream/libvpx.git
11 years agoMerge "thumb: Keep whitespace between arguments as before"
James Zern [Sun, 29 Sep 2013 20:57:04 +0000 (13:57 -0700)]
Merge "thumb: Keep whitespace between arguments as before"

11 years agoMerge "Using is_inter_block and has_second_ref functions."
Dmitry Kovalev [Sun, 29 Sep 2013 19:14:41 +0000 (12:14 -0700)]
Merge "Using is_inter_block and has_second_ref functions."

11 years agoMerge "Moving from int_mv* to MV* (3)."
Dmitry Kovalev [Sun, 29 Sep 2013 19:13:16 +0000 (12:13 -0700)]
Merge "Moving from int_mv* to MV* (3)."

11 years agoMerge "Reusing FRAME_CONTEXT struct to simplify the code."
Dmitry Kovalev [Sun, 29 Sep 2013 19:02:26 +0000 (12:02 -0700)]
Merge "Reusing FRAME_CONTEXT struct to simplify the code."

11 years agoMerge "Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add."
Dmitry Kovalev [Sun, 29 Sep 2013 19:01:50 +0000 (12:01 -0700)]
Merge "Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add."

11 years agoMerge "Removing vp9_get_coef_neighbors_handle function."
Dmitry Kovalev [Sun, 29 Sep 2013 19:01:36 +0000 (12:01 -0700)]
Merge "Removing vp9_get_coef_neighbors_handle function."

11 years agoMerge "Removing vp9_subpelvar.h from common."
Dmitry Kovalev [Sun, 29 Sep 2013 19:00:46 +0000 (12:00 -0700)]
Merge "Removing vp9_subpelvar.h from common."

11 years agoMerge "Fixing warning generated by gcc."
Dmitry Kovalev [Sun, 29 Sep 2013 19:00:27 +0000 (12:00 -0700)]
Merge "Fixing warning generated by gcc."

11 years agoMerge "Removing unnecessary function calls."
Dmitry Kovalev [Sun, 29 Sep 2013 18:59:44 +0000 (11:59 -0700)]
Merge "Removing unnecessary function calls."

11 years agothumb: Keep whitespace between arguments as before
Martin Storsjo [Sun, 29 Sep 2013 18:22:37 +0000 (21:22 +0300)]
thumb: Keep whitespace between arguments as before

Include the whitespace after the first argument's comma in the
optional first argument group.

This fixes a minor style regression in the converted output
since 2a233dd31.

Change-Id: I254f4aaff175e2d728d9b6f3c12ede03846adcf1

11 years agoMerge "mips dsp-ase r2 vp9 decoder extend module optimizations"
Jim Bankoski [Sun, 29 Sep 2013 17:31:09 +0000 (10:31 -0700)]
Merge "mips dsp-ase r2 vp9 decoder extend module optimizations"

11 years agomips dsp-ase r2 vp9 decoder extend module optimizations
Jim Bankoski [Sun, 29 Sep 2013 17:27:11 +0000 (10:27 -0700)]
mips dsp-ase r2 vp9 decoder extend module optimizations

Adopted again to shepherd through system.

Change-Id: If1b742618a95a2198ae2e30eec4b53ad1f7353e5

11 years agoRemoving unnecessary function calls.
Dmitry Kovalev [Sat, 28 Sep 2013 00:42:05 +0000 (17:42 -0700)]
Removing unnecessary function calls.

Both vp9_init_mbmode_probs() and vp9_zero(cm->ref_frame_sign_bias) are
called inside vp9_setup_past_independence() which called in any case for
encoder/decoder after VP9_COMMON struct creation.

Change-Id: I3724d1a4fb8060101ff0290dd6a158f0b5c57bb4

11 years agoReusing FRAME_CONTEXT struct to simplify the code.
Dmitry Kovalev [Fri, 27 Sep 2013 23:41:20 +0000 (16:41 -0700)]
Reusing FRAME_CONTEXT struct to simplify the code.

Change-Id: Ia455c1900d84a3221e3681e31e15ca86bd03f89d

11 years agoMerge "Simplify RDMULT and RDDIV derivation"
Guillaume Martres [Fri, 27 Sep 2013 23:32:54 +0000 (16:32 -0700)]
Merge "Simplify RDMULT and RDDIV derivation"

11 years agoRenaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add.
Dmitry Kovalev [Fri, 27 Sep 2013 22:26:27 +0000 (15:26 -0700)]
Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add.

Making name consistent with vp9_short_idct8x8 and vp9_short_idct8x8_1.

Change-Id: I99e0be040ec893f9571dcf090e18f98dc58339f5

11 years agoProperly save neon registers.
Christian Duvivier [Thu, 26 Sep 2013 23:01:37 +0000 (16:01 -0700)]
Properly save neon registers.

Replace current code which corrupts the stack by
duplicate of vp8 code to save and restore neon
registers.

Change-Id: Ibb0220b9aa985d10533befa0a455ebce57a2891a

11 years agoRemoving vp9_get_coef_neighbors_handle function.
Dmitry Kovalev [Fri, 27 Sep 2013 21:11:13 +0000 (14:11 -0700)]
Removing vp9_get_coef_neighbors_handle function.

Change-Id: I6be72c8b048d1ccc7ef43764cf84c32360098970

11 years agoMerge "Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10."
Dmitry Kovalev [Fri, 27 Sep 2013 20:08:52 +0000 (13:08 -0700)]
Merge "Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10."

11 years agoMerge "New way of updating last frame segmentation map."
Dmitry Kovalev [Fri, 27 Sep 2013 20:08:44 +0000 (13:08 -0700)]
Merge "New way of updating last frame segmentation map."

11 years agoMerge "d63 intra prediction ssse3 using bytes"
Scott LaVarnway [Fri, 27 Sep 2013 14:21:08 +0000 (07:21 -0700)]
Merge "d63 intra prediction ssse3 using bytes"

11 years agoNew way of updating last frame segmentation map.
Dmitry Kovalev [Fri, 27 Sep 2013 01:44:48 +0000 (18:44 -0700)]
New way of updating last frame segmentation map.

Implementing more natural (and faster) way of updating last frame
segmentation map.

Change-Id: I9fefa8f78e77bd7948133b04173da45edc15a17e

11 years agoMerge "intel compiler build no longer supports -axSSE2 or -no-prec-div"
Erik Niemeyer [Thu, 26 Sep 2013 23:11:12 +0000 (16:11 -0700)]
Merge "intel compiler build no longer supports -axSSE2 or -no-prec-div"

11 years agoMerge "Fix a bunch of TODO from vp9_short_idct32x32_add_neon."
Christian Duvivier [Thu, 26 Sep 2013 21:15:18 +0000 (14:15 -0700)]
Merge "Fix a bunch of TODO from vp9_short_idct32x32_add_neon."

11 years agoRenaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10.
Dmitry Kovalev [Thu, 26 Sep 2013 21:01:25 +0000 (14:01 -0700)]
Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10.

Making function name consistent with vp9_short_idct16x16 and
vp9_short_idct16x16_1.

Change-Id: I70e54be9e6b9a1dddab0de470686591e96d05517

11 years agoSimplify RDMULT and RDDIV derivation
Guillaume Martres [Thu, 26 Sep 2013 20:34:33 +0000 (13:34 -0700)]
Simplify RDMULT and RDDIV derivation

Don't divide RDMULT and RDDIV by 100 when RDMULT > 1000. This was
probably done to avoid overflow when the rd cost was stored in a 32 bits
integer but this is not the case anymore. This change will make it easier
to support multiple quantizers per frame.

derf compression gain at speed 0: 0.037%

Change-Id: Ibeeb9b7cfa1a132a7af41bc90fc07a3bba0857f6

11 years agoMerge "fixed integer overflow warnings"
Yaowu Xu [Thu, 26 Sep 2013 20:52:54 +0000 (13:52 -0700)]
Merge "fixed integer overflow warnings"

11 years agointel compiler build no longer supports -axSSE2 or -no-prec-div
Jim Bankoski [Thu, 26 Sep 2013 18:54:57 +0000 (11:54 -0700)]
intel compiler build no longer supports -axSSE2 or -no-prec-div

Change-Id: Id129cf4021903c554ffdc57bf13df9fbb98f800e

11 years agoAlign structs used unit test to 32 bytes
Yaowu Xu [Thu, 26 Sep 2013 17:38:59 +0000 (10:38 -0700)]
Align structs used unit test to 32 bytes

Change-Id: Id36309d405bf7b7e8805a8320f5a95eeb5d240f5

11 years agoFixing warning generated by gcc.
Dmitry Kovalev [Thu, 26 Sep 2013 17:33:21 +0000 (10:33 -0700)]
Fixing warning generated by gcc.

vp9/vp9_cx_iface.c:92: warning: type qualifiers ignored on function
return type

Change-Id: I6f130e280e2db261506a4af8ce11fc788ad13198

11 years agofixed integer overflow warnings
Yaowu Xu [Thu, 26 Sep 2013 16:20:15 +0000 (09:20 -0700)]
fixed integer overflow warnings

Jenkins warns on left shift of negative numbers and non-aligned read
of int. This commit fixed the two issues.

Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c

11 years agoMerge "Revert "Align struct to 32 bytes""
Yaowu Xu [Thu, 26 Sep 2013 16:19:36 +0000 (09:19 -0700)]
Merge "Revert "Align struct to 32 bytes""

11 years agoRevert "Align struct to 32 bytes"
Yaowu Xu [Thu, 26 Sep 2013 15:34:12 +0000 (08:34 -0700)]
Revert "Align struct to 32 bytes"

This reverts commit b5242368f3800e3b658e6ee4567bd41110c80071

Change-Id: I73c7a8bd23bb67f278f86b3fd2ecdc25a39b12b9

11 years agoFix a bunch of TODO from vp9_short_idct32x32_add_neon.
Christian Duvivier [Thu, 26 Sep 2013 01:07:10 +0000 (18:07 -0700)]
Fix a bunch of TODO from vp9_short_idct32x32_add_neon.

- full ASM version, no more C gateway file.
- integrate combine-add with last step of 2nd pass.
- remove a few push/pop pairs.
- some instruction reordering to hide latency.

Change-Id: Ic9d9933c908b65d1bf7ba8fd47b524cda808c9c6

11 years agoUsing is_inter_block and has_second_ref functions.
Dmitry Kovalev [Thu, 26 Sep 2013 02:03:04 +0000 (19:03 -0700)]
Using is_inter_block and has_second_ref functions.

Change-Id: I60dee58a4fd24d3c4f3c101a49d30e217309f43a

11 years agoMerge "Correctly set the segment_id prediction flag and context"
Guillaume Martres [Thu, 26 Sep 2013 01:04:21 +0000 (18:04 -0700)]
Merge "Correctly set the segment_id prediction flag and context"

11 years agoMerge "Align struct to 32 bytes"
Yaowu Xu [Thu, 26 Sep 2013 00:55:05 +0000 (17:55 -0700)]
Merge "Align struct to 32 bytes"

11 years agoMerge "Limit mv search range for first pass and mbgraph"
Yaowu Xu [Thu, 26 Sep 2013 00:21:13 +0000 (17:21 -0700)]
Merge "Limit mv search range for first pass and mbgraph"

11 years agoAlign struct to 32 bytes
Yaowu Xu [Wed, 25 Sep 2013 20:55:39 +0000 (13:55 -0700)]
Align struct to 32 bytes

Change-Id: I32fd813af7dd2a7d451f5fda278ea888b181fa8e

11 years agoMoving from int_mv* to MV* (3).
Dmitry Kovalev [Wed, 25 Sep 2013 23:44:19 +0000 (16:44 -0700)]
Moving from int_mv* to MV* (3).

Change-Id: I9795d0937bc07793c13d067281995e0750f694d9

11 years agoMerge "Moving from int_mv* to MV* (2)."
Dmitry Kovalev [Wed, 25 Sep 2013 23:12:12 +0000 (16:12 -0700)]
Merge "Moving from int_mv* to MV* (2)."

11 years agoRemoving vp9_subpelvar.h from common.
Dmitry Kovalev [Wed, 25 Sep 2013 23:10:43 +0000 (16:10 -0700)]
Removing vp9_subpelvar.h from common.

Moving all code from that file to vp9_variace_c.c in the encoder.

Change-Id: Ic803d5b4c78d5191e4d25541b3df97337878fc3e

11 years agoMerge "Replacing txfm with tx."
Dmitry Kovalev [Wed, 25 Sep 2013 22:57:56 +0000 (15:57 -0700)]
Merge "Replacing txfm with tx."

11 years agoMerge "Removing unused SUBMVREF_COUNT constant."
Dmitry Kovalev [Wed, 25 Sep 2013 22:57:49 +0000 (15:57 -0700)]
Merge "Removing unused SUBMVREF_COUNT constant."

11 years agoMerge "Adding vp9_get_entropy_contexts function."
Dmitry Kovalev [Wed, 25 Sep 2013 22:43:55 +0000 (15:43 -0700)]
Merge "Adding vp9_get_entropy_contexts function."

11 years agoMerge "Removing redundant 'extern' keyword."
Dmitry Kovalev [Wed, 25 Sep 2013 22:42:48 +0000 (15:42 -0700)]
Merge "Removing redundant 'extern' keyword."

11 years agoRemoving unused SUBMVREF_COUNT constant.
Dmitry Kovalev [Wed, 25 Sep 2013 22:33:05 +0000 (15:33 -0700)]
Removing unused SUBMVREF_COUNT constant.

Change-Id: I302ab4603553352a84b57bc89bc9e3d037978d29

11 years agod63 intra prediction ssse3 using bytes
Scott LaVarnway [Wed, 25 Sep 2013 20:16:44 +0000 (16:16 -0400)]
d63 intra prediction ssse3 using bytes

byte version of ronalds d63 ssse3 optimizations
(commit: c5a1c8cf3541cf3665fee981b36d22c9fbd4191e)

Change-Id: Ifd3e6d454a2246085f23eabb38518a930321e807

11 years agoAdding vp9_get_entropy_contexts function.
Dmitry Kovalev [Wed, 25 Sep 2013 00:26:05 +0000 (17:26 -0700)]
Adding vp9_get_entropy_contexts function.

Change-Id: Ife0dd29fb4ad65c7e12ac5f1db8cea4ed81de488

11 years agoReplacing txfm with tx.
Dmitry Kovalev [Wed, 25 Sep 2013 00:24:35 +0000 (17:24 -0700)]
Replacing txfm with tx.

Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to
max_tx_size.

Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef

11 years agoMerge "Cleaning up vp9_update_nmv_count function."
Dmitry Kovalev [Tue, 24 Sep 2013 23:27:18 +0000 (16:27 -0700)]
Merge "Cleaning up vp9_update_nmv_count function."

11 years agoCleaning up vp9_update_nmv_count function.
Dmitry Kovalev [Tue, 24 Sep 2013 22:55:49 +0000 (15:55 -0700)]
Cleaning up vp9_update_nmv_count function.

Using best_mv[2] array instead of two separate variables.

Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25

11 years agoRemoving redundant 'extern' keyword.
Dmitry Kovalev [Tue, 24 Sep 2013 22:13:09 +0000 (15:13 -0700)]
Removing redundant 'extern' keyword.

Change-Id: Ie51306689c0dc527a8aa12d3984389dd8f360dea

11 years agoReplacing unsigned char* with uint8_t*.
Dmitry Kovalev [Tue, 24 Sep 2013 21:57:42 +0000 (14:57 -0700)]
Replacing unsigned char* with uint8_t*.

Change-Id: I99a1880aee015ae16311ba05a31aa307df89bef2

11 years agoCorrectly set the segment_id prediction flag and context
Guillaume Martres [Tue, 24 Sep 2013 20:49:28 +0000 (13:49 -0700)]
Correctly set the segment_id prediction flag and context

This fix a bug introduced by ac6093d179d8488f90bf10c6d0abcc48be327d28

Change-Id: I0700a4daf7a6a2471074f81a4596352287fb2ac9

11 years agoLimit mv search range for first pass and mbgraph
Yaowu Xu [Tue, 24 Sep 2013 20:47:29 +0000 (13:47 -0700)]
Limit mv search range for first pass and mbgraph

Both first pass and mbgraph search use block size 16x16 for motion
estimation. This commit put a limit of motion vector range. The
effective range allows the entire 16x16 with required subpel
interpolation input to be completely outside image border, but
not any further away from image border.

Change-Id: Id70a5ed08be49e70959f064859d72adc7d775d08

11 years agoMoving from int_mv* to MV* (2).
Dmitry Kovalev [Tue, 24 Sep 2013 19:48:12 +0000 (12:48 -0700)]
Moving from int_mv* to MV* (2).

Updating fractional_mv_step_fp and fractional_mv_step_comp_fp function
types.

Change-Id: I601c4378bc39ac3ffd4e295d9cbd8e1f74829d46

11 years agoMerge "Remove redundant mode update in sub8x8 decoding"
Jingning Han [Tue, 24 Sep 2013 19:35:58 +0000 (12:35 -0700)]
Merge "Remove redundant mode update in sub8x8 decoding"

11 years agoMerge "Moving from int_mv to MV."
Dmitry Kovalev [Tue, 24 Sep 2013 19:25:56 +0000 (12:25 -0700)]
Merge "Moving from int_mv to MV."

11 years agoMerge "Replace memcpy with vpx_memcpy"
Yaowu Xu [Tue, 24 Sep 2013 18:35:03 +0000 (11:35 -0700)]
Merge "Replace memcpy with vpx_memcpy"

11 years agoReplace memcpy with vpx_memcpy
Yaowu Xu [Tue, 24 Sep 2013 16:07:08 +0000 (09:07 -0700)]
Replace memcpy with vpx_memcpy

Also removed obselete comment

Change-Id: Iae1664777d76383639c637ee786e0d50fc45819a

11 years agoRename defined constants
Yaowu Xu [Tue, 24 Sep 2013 17:09:06 +0000 (10:09 -0700)]
Rename defined constants

The change is to better reflect the nature of the constants.

Change-Id: Icabac6e9bceefbdb3f03f8218f88ef75943c30fb

11 years agoPrevent using uninitialized value in RD decision
Yaowu Xu [Tue, 24 Sep 2013 16:37:55 +0000 (09:37 -0700)]
Prevent using uninitialized value in RD decision

INT64_MAX may be assigned as RDCOST when RDCSOST computation is skipped
for speed, this commit to prevent INT64_MAX from being used as real
RDCOST in transform size decision.

Change-Id: I89a945134191bbdea1f1431ade70424ac079eaac

11 years agoMerge "Change to prevent invalid memory access"
Yaowu Xu [Tue, 24 Sep 2013 17:37:17 +0000 (10:37 -0700)]
Merge "Change to prevent invalid memory access"

11 years agoMerge "Adding best_mv[2] array instead of two variables."
Dmitry Kovalev [Tue, 24 Sep 2013 17:17:53 +0000 (10:17 -0700)]
Merge "Adding best_mv[2] array instead of two variables."

11 years agoMerge "Small tweak in the constant quality parameter"
Deb Mukherjee [Tue, 24 Sep 2013 16:51:08 +0000 (09:51 -0700)]
Merge "Small tweak in the constant quality parameter"

11 years agoMerge "vpxenc: Stop writing the WebM FrameRate element."
Frank Galligan [Tue, 24 Sep 2013 16:36:30 +0000 (09:36 -0700)]
Merge "vpxenc: Stop writing the WebM FrameRate element."

11 years agovpxenc: Stop writing the WebM FrameRate element.
Tom Finegan [Tue, 24 Sep 2013 16:08:42 +0000 (09:08 -0700)]
vpxenc: Stop writing the WebM FrameRate element.

The FrameRate element has been deprecated.

Change-Id: I68ac496e7b33685a100a45d2772e0ff30eb6a811

11 years agoMerge "Enable per transformed block zero coeffs forcing"
Jingning Han [Tue, 24 Sep 2013 16:18:17 +0000 (09:18 -0700)]
Merge "Enable per transformed block zero coeffs forcing"

11 years agoMerge "Calculate rd cost per transformed block"
Jingning Han [Tue, 24 Sep 2013 16:18:03 +0000 (09:18 -0700)]
Merge "Calculate rd cost per transformed block"

11 years agoSmall tweak in the constant quality parameter
Deb Mukherjee [Tue, 24 Sep 2013 16:09:35 +0000 (09:09 -0700)]
Small tweak in the constant quality parameter

Improves results a little.

Change-Id: I7bcac02dbb65b43a993445cf557c520197114e5c

11 years agoMerge "Number of instructions in fdct4_1d_sse2 reduced by two."
Yunqing Wang [Tue, 24 Sep 2013 15:40:56 +0000 (08:40 -0700)]
Merge "Number of instructions in fdct4_1d_sse2 reduced by two."

11 years agoChange to prevent invalid memory access
Yaowu Xu [Tue, 24 Sep 2013 15:36:59 +0000 (08:36 -0700)]
Change to prevent invalid memory access

After change of MI context storage , mi_8x8[]  pointer may be null for
a block outside of image border. The commit changes to access the data
only after validation of mi_row and mi_col.

Change-Id: I039c4eb486a228ea9d8e5f35ab9ae6717d718bf3

11 years agoNumber of instructions in fdct4_1d_sse2 reduced by two.
A.Mahfoodh [Mon, 23 Sep 2013 18:13:40 +0000 (14:13 -0400)]
Number of instructions in fdct4_1d_sse2 reduced by two.

Mathematically the results are the same.

Change-Id: I1c5126cd3ca64e8515ca6331e0989c6f7dd651a0

11 years agoRemove redundant mode update in sub8x8 decoding
Jingning Han [Tue, 24 Sep 2013 00:06:27 +0000 (17:06 -0700)]
Remove redundant mode update in sub8x8 decoding

The probability model used to code prediction mode is conditioned
on the immediate above and left 8x8 blocks' prediction modes. When
the above/left block is coded in sub8x8 mode, we use the prediction
mode of the bottom-right sub8x8 block as the reference to generate
the context.

This commit moves the update of mbmi.mode out of the sub8x8 decoding
loop, hence removing redundant update steps and keeping the bottom-
right block's mode for the decoding process of next blocks.

Change-Id: I1e8d749684d201c1a1151697621efa5d569218b6

11 years agochange to prevent computatio of log(0.0)
Yaowu Xu [Fri, 20 Sep 2013 23:14:37 +0000 (16:14 -0700)]
change to prevent computatio of log(0.0)

Change-Id: I5759f309f94a2b5c1297e6db3735c52986d3ecb2

11 years agofix integer overflow in vp8
Yaowu Xu [Fri, 20 Sep 2013 20:29:59 +0000 (13:29 -0700)]
fix integer overflow in vp8

Change-Id: I62550a7a883115f3ce878710cf3bb039bea54390

11 years agoMerge "Correct 3 step search site initialziation"
Yaowu Xu [Mon, 23 Sep 2013 23:43:41 +0000 (16:43 -0700)]
Merge "Correct 3 step search site initialziation"

11 years agoMerge "Hide global symbols for macho32/64"
Frank Galligan [Mon, 23 Sep 2013 23:13:47 +0000 (16:13 -0700)]
Merge "Hide global symbols for macho32/64"

11 years agoCorrect 3 step search site initialziation
Yaowu Xu [Mon, 23 Sep 2013 23:07:31 +0000 (16:07 -0700)]
Correct 3 step search site initialziation

39c7b01d accidently reverted the row/col initialization, which broke
mv clamps, which is dependent on the sites for valid motion vector
range. This commit fixed the issue.

Change-Id: Ibcce0226e0360b1ef483fe760b2e33f1af4bf494

11 years agoHide global symbols for macho32/64
Yunqing Wang [Mon, 23 Sep 2013 20:45:43 +0000 (13:45 -0700)]
Hide global symbols for macho32/64

Added hiding global symbols for macho32 and macho64 in x86inc.asm.
This was done to fix exported symbol issue in Chrome build.

Change-Id: I08d5c559b985b82f655b537469fee125615e78c0

11 years agoEnable per transformed block zero coeffs forcing
Jingning Han [Fri, 20 Sep 2013 23:29:24 +0000 (16:29 -0700)]
Enable per transformed block zero coeffs forcing

This commit enables forcing all coefficients zero per transformed
block, when its rate-distortion cost is lower than regular coeff
quantization.

The overall performance improvement (including its parent patch on
calculating rd cost per transformed block) at speed 1:
derf:  0.298%
yt:    0.452%
hd:    0.741%
stdhd: 0.006%

Change-Id: I66005fe0fd7af192c3eba32e02fd6d77952accb5

11 years agoMerge "Remove redundant mv_pred use for sub8x8 blocks"
Jingning Han [Mon, 23 Sep 2013 15:47:21 +0000 (08:47 -0700)]
Merge "Remove redundant mv_pred use for sub8x8 blocks"

11 years agoImproves constant qual, constrained qual turned on
Deb Mukherjee [Fri, 20 Sep 2013 07:41:29 +0000 (00:41 -0700)]
Improves constant qual, constrained qual turned on

Adds modeled functions to decide the qp for altref frames in constant q
mode similar to other functions in use in bitrate mode.

Also turns on the constrained quality mode (end-usage=2) option which
was turned off before. Basic testing shows the mode works in principle,
to cap bitrate to the target-bitrate specified, while allowing lower
bitrate depending on the cq-level specified. The mode will need to be
improved over time.

Results for constant quality vs bitrate control mode:
derfraw300/fullderfraw: +3.0% at constant quality over bitrate control.
fullstdhdraw: +4.341%
stdhdraw250: +5.361%

Change-Id: If5027c9ec66c8e88d33e47062c6cb84a07b1cda9

11 years agoMerge "Cleanup in vp9_init3smotion_compensation."
Dmitry Kovalev [Sat, 21 Sep 2013 09:57:47 +0000 (02:57 -0700)]
Merge "Cleanup in vp9_init3smotion_compensation."

11 years agoMerge "thumb: Extend the regexp for handling negative register indexing"
James Zern [Sat, 21 Sep 2013 03:03:30 +0000 (20:03 -0700)]
Merge "thumb: Extend the regexp for handling negative register indexing"

11 years agoUse lowercase instruction in assembly
Johann [Fri, 20 Sep 2013 23:11:05 +0000 (16:11 -0700)]
Use lowercase instruction in assembly

The iOS compiler does not recognize BLE:
bad instruction `BLE idct32_transpose_pair_loop'

Change-Id: I7426694c66bc31caf939a2d5000968da1222c15b

11 years agoCalculate rd cost per transformed block
Jingning Han [Fri, 20 Sep 2013 18:30:46 +0000 (11:30 -0700)]
Calculate rd cost per transformed block

This commit makes the rate-distortion optimization loop evaluate
the rd costs of regular quantization and all zero coeffs, per
transformed block. It improves speed 1 compression performance:

derf: 0.245%
yt:   0.515%

For a large partition that consists multiple transformed blocks,
this allows more flexibility to selectively force a portion of
them coded as all zero coeffs, as well be continued in the next
patches.

Change-Id: I211518be4179747b57375696f017d1160cc91851

11 years agoAdding best_mv[2] array instead of two variables.
Dmitry Kovalev [Fri, 20 Sep 2013 13:08:53 +0000 (17:08 +0400)]
Adding best_mv[2] array instead of two variables.

Change-Id: I584fe50f73879f6a72fada45714ef80893b6d549

11 years agoMoving from int_mv to MV.
Dmitry Kovalev [Fri, 20 Sep 2013 09:52:43 +0000 (13:52 +0400)]
Moving from int_mv to MV.

Converting vp9_mv_bit_cost, mv_err_cost, and mvsad_err_cost
functions for now.

Change-Id: I60e3cc20daef773c2adf9a18e30bc85b1c2eb211

11 years agoCleanup in vp9_init3smotion_compensation.
Dmitry Kovalev [Fri, 20 Sep 2013 08:54:14 +0000 (12:54 +0400)]
Cleanup in vp9_init3smotion_compensation.

Change-Id: Ie47f53e76bc9530475c8c6d24e9b7a5a0189de56

11 years agoMerge "Adding get_scan_and_band function."
Dmitry Kovalev [Fri, 20 Sep 2013 07:15:06 +0000 (00:15 -0700)]
Merge "Adding get_scan_and_band function."

11 years agoRemove redundant mv_pred use for sub8x8 blocks
Jingning Han [Thu, 19 Sep 2013 17:27:09 +0000 (10:27 -0700)]
Remove redundant mv_pred use for sub8x8 blocks

The sub8x8 blocks has its own motion vector reference scheme. The
mv_pred is only used blocks of sizes 8x8 and above, to find the
starting point for motion search.

This change does not change any coding behavior. It makes the
encoding process slightly faster. (0.5% speed-up for local test on
speed 1.)

Change-Id: I746ee6ef0eac19aa3621be014afa12be8d82cbb9

11 years agoMerge "Refactor 8x8 fwd transform unit test"
Jingning Han [Thu, 19 Sep 2013 16:59:56 +0000 (09:59 -0700)]
Merge "Refactor 8x8 fwd transform unit test"

11 years agoMerge "fix vp8-only build"
Yaowu Xu [Thu, 19 Sep 2013 16:27:59 +0000 (09:27 -0700)]
Merge "fix vp8-only build"

11 years agochange to avoid invalid memory read.
Yaowu Xu [Wed, 18 Sep 2013 19:29:32 +0000 (12:29 -0700)]
change to avoid invalid memory read.

The fake token EOSB may cause invaild memory read in pack token, this
commit reworked the loop to avoid such invalid read.

Change-Id: I37fdfce869b44a7f90003f82a02f84c45472a457

11 years agofix integer overflow errors
Yaowu Xu [Tue, 17 Sep 2013 23:31:46 +0000 (16:31 -0700)]
fix integer overflow errors

Change-Id: I76f440a917832c02d7a727697b225bac66b99f56

11 years agoAdding get_scan_and_band function.
Dmitry Kovalev [Thu, 19 Sep 2013 12:53:48 +0000 (16:53 +0400)]
Adding get_scan_and_band function.

Extracting get_scan_and_band function from get_entropy_context to
remove duplicated code.

Change-Id: I5da1f5a60263017e887da68bc834317b5f084cb2

11 years agothumb: Extend the regexp for handling negative register indexing
Martin Storsjo [Thu, 19 Sep 2013 11:18:18 +0000 (14:18 +0300)]
thumb: Extend the regexp for handling negative register indexing

Now the same regexp that previously handled cases such as
"ldr r1, [r2, -r3]" also can handle the first operand being omitted
as in "pld [r2, -r3]".

This fixes building vp9_convolve8*neon.asm in thumb mode (and thus,
for Windows Phone as well).

Change-Id: I20c1c3f2bfb2587fb5fa523b863972a7fe30d8ff

11 years agoMerge "Removing redundant code from vp9_mcomp.c."
Dmitry Kovalev [Thu, 19 Sep 2013 07:30:18 +0000 (00:30 -0700)]
Merge "Removing redundant code from vp9_mcomp.c."