26 hours agoMerge "Indent build/make/configure.sh" master
Johann [Sat, 22 Nov 2014 21:14:56 +0000 (13:14 -0800)]
Merge "Indent build/make/configure.sh"

46 hours agoMerge "Fix some minor nits."
Paul Wilkins [Sat, 22 Nov 2014 01:39:43 +0000 (17:39 -0800)]
Merge "Fix some minor nits."

46 hours agoIndent build/make/configure.sh 27/72227/9
Johann [Fri, 21 Nov 2014 02:20:06 +0000 (18:20 -0800)]
Indent build/make/configure.sh

Whitespace changes only.

Change-Id: I92eef49db1798bc69ec003fca69995fea560d6fa

47 hours agoMerge "Added highbitdepth sse2 acceleration for quantize"
Debargha Mukherjee [Sat, 22 Nov 2014 00:08:47 +0000 (16:08 -0800)]
Merge "Added highbitdepth sse2 acceleration for quantize"

2 days agoMerge changes Ie077edd0,Id31a74fc
Paul Wilkins [Fri, 21 Nov 2014 23:38:32 +0000 (15:38 -0800)]
Merge changes Ie077edd0,Id31a74fc

* changes:
  Remove rate component adjustment for AQ1
  Switch AQ1 segment basis from q ratio to rate ratio.

2 days agoMerge "Add adaptive midpoint for AQ1."
Paul Wilkins [Fri, 21 Nov 2014 23:26:18 +0000 (15:26 -0800)]
Merge "Add adaptive midpoint for AQ1."

2 days agoMerge "Add variance restriction to AQ2."
Paul Wilkins [Fri, 21 Nov 2014 23:25:43 +0000 (15:25 -0800)]
Merge "Add variance restriction to AQ2."

2 days agoFix some minor nits. 35/72235/3
Paul Wilkins [Fri, 21 Nov 2014 20:27:52 +0000 (12:27 -0800)]
Fix some minor nits.

Change-Id: Ib8810d431fa20a2c78e0caaa28eb2c99903e60fb

2 days agoMerge "Further AQ1 clean up."
Paul Wilkins [Fri, 21 Nov 2014 20:58:03 +0000 (12:58 -0800)]
Merge "Further AQ1 clean up."

2 days agoMerge "Initial AQ1 restructuring."
Paul Wilkins [Fri, 21 Nov 2014 20:10:03 +0000 (12:10 -0800)]
Merge "Initial AQ1 restructuring."

2 days agoMerge "vp9_thread_test: fix 'had_error' assignment"
James Zern [Fri, 21 Nov 2014 19:35:59 +0000 (11:35 -0800)]
Merge "vp9_thread_test: fix 'had_error' assignment"

2 days agoMerge "Allow DC/H/V/TM on screen content."
Alex Converse [Fri, 21 Nov 2014 17:38:39 +0000 (09:38 -0800)]
Merge "Allow DC/H/V/TM on screen content."

2 days agoMerge "Drop special inter mode selection for screen content."
Alex Converse [Fri, 21 Nov 2014 17:38:02 +0000 (09:38 -0800)]
Merge "Drop special inter mode selection for screen content."

2 days agoMerge "Remove armv5te target"
Johann [Fri, 21 Nov 2014 16:55:22 +0000 (08:55 -0800)]
Merge "Remove armv5te target"

2 days agoRemove rate component adjustment for AQ1 29/72229/2
Paul Wilkins [Fri, 21 Nov 2014 02:32:44 +0000 (18:32 -0800)]
Remove rate component adjustment for AQ1

In AQ1 a rate adjustment was applied for blocks coded with a
deltaq. This tends to skew the partition selection and cause
rate overshoot.

For example, consider a 64x64 super block where some but not all
sub blocks are in a low q segment and some are in a high q segment.
The choice of Q when considering large partition and transform sizes
is defined by the lowest sub block segment id (currently this implies the
lowest Q). If some parts of the larger partition are very hard this will
cause a high rate component.

The correct behavior here is for the rd code to discard the large partition
choice and break down to sub blocks where some have low and some
have high Q.  However the rate correction factor above mask the high
cost of coding at a larger partition size.

Change-Id: Ie077edd0b1b43c094898f481df772ea280b35960

2 days agoSwitch AQ1 segment basis from q ratio to rate ratio. 26/72226/5
Paul Wilkins [Fri, 21 Nov 2014 01:28:21 +0000 (17:28 -0800)]
Switch AQ1 segment basis from q ratio to rate ratio.

In defining the Q deltas for segments in AQ1 use a rate
ratio rather than a q ratio.

Change-Id: Id31a74fcf2b7e55437e42a51c21b3cbcb57028d4

2 days agoAdd adaptive midpoint for AQ1. 18/72218/5
Paul Wilkins [Thu, 20 Nov 2014 23:03:01 +0000 (15:03 -0800)]
Add adaptive midpoint for AQ1.

Make the midpoint variance used in AQ mode 1 segmentation
depend on the overall complexity of the frame in two pass.

Change-Id: I452814ec57f7a32352e41bb250e78066abe952dd

2 days agoCorrectly initialize "ones" value in neon quantize 20/72220/3
Johann [Thu, 20 Nov 2014 21:24:55 +0000 (13:24 -0800)]
Correctly initialize "ones" value in neon quantize

By using 0xff for a short it was not setting the high bits. When
comparing the output with vtst to find non-zero elements it was skipping
vaules which had no low bits set such as -512 / 0xFE00.

Using -8191 as the first element of coeff will generate this condition.


Change-Id: Ia1e10fb809d1e7866f28c56769fe703e6231a657

2 days agoAllow DC/H/V/TM on screen content. 09/72209/5
Alex Converse [Fri, 24 Oct 2014 22:57:48 +0000 (15:57 -0700)]
Allow DC/H/V/TM on screen content.

6.3% better compression
less than 1% compression time increase

Change-Id: Ie83c059436e54c09de9e7c87e06e0a6d40dc38fe

2 days agoDrop special inter mode selection for screen content. 08/72208/5
Alex Converse [Tue, 18 Nov 2014 21:31:49 +0000 (13:31 -0800)]
Drop special inter mode selection for screen content.

Better mode selection was implemented for all content.

Change-Id: I479778ed21d3968892f4dce396c83733583f4f23

2 days agoRemove armv5te target 25/72225/1
Johann [Fri, 21 Nov 2014 01:08:11 +0000 (17:08 -0800)]
Remove armv5te target

All the assembly code has been removed, the tests no longer check for
the target, and android and chrome do not use the targets.

Change-Id: I193993f7b2b0bd6478453402f573ce3606e04e8d

2 days agoMerge "vp9_ethread: move filter_cache out of RD_OPT struct"
Yunqing Wang [Fri, 21 Nov 2014 00:51:31 +0000 (16:51 -0800)]
Merge "vp9_ethread: move filter_cache out of RD_OPT struct"

2 days agoAdd variance restriction to AQ2. 12/72112/7
Paul Wilkins [Fri, 7 Nov 2014 16:32:50 +0000 (16:32 +0000)]
Add variance restriction to AQ2.

Add an additional restriction to bit/complexity based
segmentation based on spatial variance.

Only lower Q when both the number of bits spent
in the initial encoding pass and the spatial complexity are
below a threshold. This will prevent the low Q segments
being used just because there is a surfeit of bits.

Small metrics gains especially opsnr.
derf ~0.2% std-hd ~0.3%

Change-Id: I6a8496d466d673f9b0e2b2ca6304ea7b6d8e1cce

2 days agoFurther AQ1 clean up. 66/72166/4
Paul Wilkins [Thu, 13 Nov 2014 20:35:07 +0000 (12:35 -0800)]
Further AQ1 clean up.

Further patch to restructure AQ mode 1.

Change-Id: I566452a033d047a49a40441a7be24690ea69412d

3 days agoInitial AQ1 restructuring. 51/72151/6
Paul Wilkins [Wed, 12 Nov 2014 20:36:16 +0000 (12:36 -0800)]
Initial AQ1 restructuring.

This is the first of a series of patches to restructure and
improve AQ mode 1 (variance based AQ).

Change-Id: Idcf693131a3ea2459dcfd957a54a65b971fa4a2a

3 days agoMerge "Fix bug in calculating number of mbs with scaling."
Paul Wilkins [Thu, 20 Nov 2014 23:45:41 +0000 (15:45 -0800)]
Merge "Fix bug in calculating number of mbs with scaling."

3 days agoMerge "sad_test: fix vp8-only build"
James Zern [Thu, 20 Nov 2014 22:18:37 +0000 (14:18 -0800)]
Merge "sad_test: fix vp8-only build"

3 days agovp9_thread_test: fix 'had_error' assignment 22/72222/1
James Zern [Thu, 20 Nov 2014 22:16:28 +0000 (14:16 -0800)]
vp9_thread_test: fix 'had_error' assignment

worker hooks return false on error, fix the assignment in Execute() used
in the TestSerialInterface test

Change-Id: I93c2e45f270330ae6d35a3a303411c4ee0f31337

3 days agoMerge "vp9_ethread: move max/min partition size to mb struct"
Yunqing Wang [Thu, 20 Nov 2014 22:00:37 +0000 (14:00 -0800)]
Merge "vp9_ethread: move max/min partition size to mb struct"

3 days agovp9_ethread: move filter_cache out of RD_OPT struct 19/72219/2
Yunqing Wang [Thu, 20 Nov 2014 20:42:36 +0000 (12:42 -0800)]
vp9_ethread: move filter_cache out of RD_OPT struct

Similar to mask_filter, the filter_cache in RD_OPT struct can be
moved out, and declared as a local variable since it is only
used in pick_inter_mode functions.

Change-Id: I412b99cca82bade07ac912064ec03dd1de6b2c17

3 days agoMerge "vp9_ethread: change mask_filter to a local variable"
Yunqing Wang [Thu, 20 Nov 2014 21:02:55 +0000 (13:02 -0800)]
Merge "vp9_ethread: change mask_filter to a local variable"

3 days agoMerge "Revert "vp9_ethread: include a pointer to mb in VP9_COMP""
Yunqing Wang [Thu, 20 Nov 2014 20:27:34 +0000 (12:27 -0800)]
Merge "Revert "vp9_ethread: include a pointer to mb in VP9_COMP""

3 days agoFix bug in calculating number of mbs with scaling. 17/72217/1
Paul Wilkins [Thu, 20 Nov 2014 20:22:53 +0000 (12:22 -0800)]
Fix bug in calculating number of mbs with scaling.

Correct calculation of number of mbs in two pass code when
frame resizing is enabled. Always use initial number of mbs if
scaling is enabled, as this is what was used in the first pass.

Change-Id: I49a4280ab5a8b1000efcc157a449a081cbb6d410

3 days agovp9_ethread: change mask_filter to a local variable 14/72214/1
Yunqing Wang [Thu, 20 Nov 2014 17:41:49 +0000 (09:41 -0800)]
vp9_ethread: change mask_filter to a local variable

The mask_filter in RD_OPT struct is used to record rd result in
filter decision. It is only used in pick_inter_mode functions,
and is removed from the struct and declared as a local variable.

Change-Id: I3c95c8632ba7241591ce00ef2ef5677b5e297d7b

3 days agovp9_ethread: move max/min partition size to mb struct 13/72213/1
Yunqing Wang [Thu, 20 Nov 2014 17:24:50 +0000 (09:24 -0800)]
vp9_ethread: move max/min partition size to mb struct

The max_partition_size and max_partition_size are set at the
beginning while setting speed features, and then adjusted at
SB level. Moving them to mb struct ensures there is a local
copy for each thread.

Change-Id: I7dd08dc918d9f772fcd718bbd6533e0787720ad4

3 days agoMerge "Enable ssse3 version of vp9_fdct8x8_quant"
Jingning Han [Thu, 20 Nov 2014 17:06:39 +0000 (09:06 -0800)]
Merge "Enable ssse3 version of vp9_fdct8x8_quant"

3 days agoRevert "vp9_ethread: include a pointer to mb in VP9_COMP" 11/72211/2
Yunqing Wang [Thu, 20 Nov 2014 03:04:07 +0000 (19:04 -0800)]
Revert "vp9_ethread: include a pointer to mb in VP9_COMP"

This reverts commit 6906d218ddd1af97228a797f4558e402231d94f1.

Another way will be used to handle mb struct.

Change-Id: Ic1111a46b2b1ee00f8f9e3fcd4cf3eb6030b2dc4

3 days agoAdded highbitdepth sse2 acceleration for quantize 69/72169/4
Peter de Rivaz [Thu, 16 Oct 2014 12:38:46 +0000 (13:38 +0100)]
Added highbitdepth sse2 acceleration for quantize

Also includes block error.

(This patch is mostly cherry picked from
commit db7192e0b014a331a1dcb102c8a1148e9f0e1081)

Change-Id: Idef18f90b111a0d0c9546543d3347e551908fd78

3 days agoMerge "Changes SvcContext_t to SvcContext"
Deb Mukherjee [Thu, 20 Nov 2014 07:22:18 +0000 (23:22 -0800)]
Merge "Changes SvcContext_t to SvcContext"

3 days agoEnable ssse3 version of vp9_fdct8x8_quant 95/72195/6
Jingning Han [Tue, 18 Nov 2014 20:37:59 +0000 (12:37 -0800)]
Enable ssse3 version of vp9_fdct8x8_quant

It improves the speed performance of vp9_fdct8x8_quant_sse2 by
about 5%.

Change-Id: I74b093ba4d81df64caf71ac7693f3d917f673097

3 days agosad_test: fix vp8-only build 00/72200/2
James Zern [Wed, 19 Nov 2014 03:27:06 +0000 (19:27 -0800)]
sad_test: fix vp8-only build

ROUND_POWER_OF_TWO() is defined in vp9 headers currently, avoid it in
non-high-bitdepth code

Change-Id: Ic28b8f95ef7964800475ee8b35be5f9cea9afab6

4 days agoAdd a reset to rc tracking for dropped frames 07/72207/1
Yaowu Xu [Wed, 19 Nov 2014 23:32:11 +0000 (15:32 -0800)]
Add a reset to rc tracking for dropped frames

VP9/DatarateTestVP9Large.ChangingDropFrameThresh/[34] fails post the
merge of commit#ffa06b37. This commit adds reset of rc tracking info
when frame is dropped, and fixes the causes of the bad interaction
between the tests and the previous commit.

Change-Id: I848acfd9fcb336359662274325190f94aac76eae

4 days agoMerge "Combine fdct8x8 and quantization process"
Jingning Han [Wed, 19 Nov 2014 19:17:44 +0000 (11:17 -0800)]
Merge "Combine fdct8x8 and quantization process"

4 days agoMerge "Add sse2 version for vp9_quantize_fp"
Jingning Han [Wed, 19 Nov 2014 19:17:36 +0000 (11:17 -0800)]
Merge "Add sse2 version for vp9_quantize_fp"

4 days agoCombine fdct8x8 and quantization process 93/72193/5
Jingning Han [Tue, 18 Nov 2014 19:53:14 +0000 (11:53 -0800)]
Combine fdct8x8 and quantization process

This commit reworks the forward transform and quantization process
for 8x8 block coding. It combines the two operations in a single
function to save a store/load stage of the original transform
coefficients. Overall the speed -6 is slightly faster (around 1%
range). The compression performance of speed -6 is improved by

Change-Id: Id6628daef123f3e4649248735ec2ad7423629387

4 days agoMerge "Prevent severe rate control errors in CBR mode"
Yaowu Xu [Wed, 19 Nov 2014 00:56:06 +0000 (16:56 -0800)]
Merge "Prevent severe rate control errors in CBR mode"

5 days agoChanges SvcContext_t to SvcContext 94/72194/1
Deb Mukherjee [Tue, 18 Nov 2014 20:25:31 +0000 (12:25 -0800)]
Changes SvcContext_t to SvcContext

Fixes a borg build.

Change-Id: I8cb510577e8d8bbc7a2e64f9e1bdfe883f49cb61

5 days agoMerge "Modify active_worst_quality setting for one pass CBR."
Marco [Tue, 18 Nov 2014 19:22:18 +0000 (11:22 -0800)]
Merge "Modify active_worst_quality setting for one pass CBR."

5 days agoMerge "change to call vp9_refining_search_sad() directly"
Yaowu Xu [Tue, 18 Nov 2014 17:14:02 +0000 (09:14 -0800)]
Merge "change to call vp9_refining_search_sad() directly"

5 days agoPrevent severe rate control errors in CBR mode 90/72190/2
Yaowu Xu [Tue, 18 Nov 2014 16:52:21 +0000 (08:52 -0800)]
Prevent severe rate control errors in CBR mode

In rare cases, the interaction between rate correction factor and Q
choices may cause severe oscillating frame sizes that are way off
target bandwidth. This commit adds tracking of rate control results
for last two frames, and use the information to prevent oscillating
Q choices.

Change-Id: I9a6d125a15652b9bcac0e1fec6d7a1aedc4ed97e

5 days agoAdd sse2 version for vp9_quantize_fp 91/72191/1
Jingning Han [Tue, 18 Nov 2014 16:58:09 +0000 (08:58 -0800)]
Add sse2 version for vp9_quantize_fp

vp9_quantize_fp is the quantization process used by rtc coding
mode. This commit adds a sse2 implementation of it. The
implementation is modified based on vp9_quantize_b_sse2. No speed
difference from ssse3 version.

Change-Id: I24949c5b27df160b4f35117d28858d269454e64a

5 days agoMerge "Add empty pointer check to pred buffering in rtc coding mode"
Jingning Han [Tue, 18 Nov 2014 01:40:54 +0000 (17:40 -0800)]
Merge "Add empty pointer check to pred buffering in rtc coding mode"

6 days agoModify active_worst_quality setting for one pass CBR. 34/72134/6
Marco [Tue, 11 Nov 2014 19:01:55 +0000 (11:01 -0800)]
Modify active_worst_quality setting for one pass CBR.

Current setting had active_worst_quality set too high (close to worst_quality)
for first frame(s) following first key frame. This changes that to be somewhat
more aggressive in allowing active_worst_quality to be lower following key frame.

Also remove the 4/5 reduction in active_worst for key frame as
this should be set by the user qp_max setting.

Change-Id: I0530b3ddcc85c00e3eb7568de1b14a31206c4a4c

6 days agochange to call vp9_refining_search_sad() directly 86/72186/2
Yaowu Xu [Mon, 17 Nov 2014 19:25:43 +0000 (11:25 -0800)]
change to call vp9_refining_search_sad() directly

The function pointer in compressor instance does not change, so this
commit changes to call the function directly.

Change-Id: I9c9c460e3475711c384b74c9842f0b4f3d037cc5

6 days agoAdd empty pointer check to pred buffering in rtc coding mode 85/72185/1
Jingning Han [Mon, 17 Nov 2014 19:21:42 +0000 (11:21 -0800)]
Add empty pointer check to pred buffering in rtc coding mode

This commit adds a check condition to the prediction buffering
operation used in the rtc coding mode. This resolves a unit test
warning in example/vpx_tsvc_encoder_vp9_mode_7.

Change-Id: I9fd50d5956948b73b53bd8fc5a16ee66aff61995

6 days agoMerge "Code cleanup: remove unused members in RD_OPT"
Yunqing Wang [Mon, 17 Nov 2014 17:10:28 +0000 (09:10 -0800)]
Merge "Code cleanup: remove unused members in RD_OPT"

6 days agoMerge "vp9_ethread: combine encoder counts in separate struct"
Yunqing Wang [Mon, 17 Nov 2014 16:57:38 +0000 (08:57 -0800)]
Merge "vp9_ethread: combine encoder counts in separate struct"

8 days agoMerge "Added sse2 acceleration for highbitdepth variance"
Debargha Mukherjee [Sat, 15 Nov 2014 05:11:27 +0000 (21:11 -0800)]
Merge "Added sse2 acceleration for highbitdepth variance"

8 days agoMerge "Visual studio build fix using explicit cast"
James Zern [Sat, 15 Nov 2014 04:26:28 +0000 (20:26 -0800)]
Merge "Visual studio build fix using explicit cast"

8 days agoCode cleanup: remove unused members in RD_OPT 78/72178/1
Yunqing Wang [Sat, 15 Nov 2014 00:33:25 +0000 (16:33 -0800)]
Code cleanup: remove unused members in RD_OPT

These 2 members in RD_OPT were moved to TileDataEnc struct
already, and therefore were removed here.

Change-Id: I22fee3b67f96e473a58e194a7edc76dbd48bfa04

8 days agovp9_ethread: combine encoder counts in separate struct 77/72177/1
Yunqing Wang [Sat, 15 Nov 2014 00:04:15 +0000 (16:04 -0800)]
vp9_ethread: combine encoder counts in separate struct

Several frame counters in encoder are updated at SB level. Combine
those counters and put them in a separate struct, which allows us
to allocate one copy for each thread.

Change-Id: I00366296a13c0ada4d8fa12f5e07728388b6cab7

9 days agoAdded sse2 acceleration for highbitdepth variance 21/72121/6
Peter de Rivaz [Thu, 16 Oct 2014 13:00:54 +0000 (14:00 +0100)]
Added sse2 acceleration for highbitdepth variance

Change-Id: I446bdf3a405e4e9d2aa633d6281d66ea0cdfd79f
(cherry picked from commit d7422b2b1eb9f0011a8c379c2be680d6892b16bc)
(cherry picked from commit 6d741e4d76a7d9ece69ca117d1d9e2f9ee48ef8c)

9 days agoVisual studio build fix using explicit cast 74/72174/1
Deb Mukherjee [Fri, 14 Nov 2014 23:12:01 +0000 (15:12 -0800)]
Visual studio build fix using explicit cast

Change-Id: If74510370723e497f4f33d988b8b398124edf69b

9 days agoMerge "vp9_ethread: include a pointer to mb in VP9_COMP"
Yunqing Wang [Fri, 14 Nov 2014 23:11:47 +0000 (15:11 -0800)]
Merge "vp9_ethread: include a pointer to mb in VP9_COMP"

9 days agovp9_ethread: include a pointer to mb in VP9_COMP 73/72173/1
Yunqing Wang [Fri, 14 Nov 2014 20:31:06 +0000 (12:31 -0800)]
vp9_ethread: include a pointer to mb in VP9_COMP

Modified VP9_COMP struct to include MACROBLOCK *mb. This change
makes it feasible in multi-thread case to allocate a mb for each

Change-Id: I624d6d1aa9c132362200753e5d90b581b1738d6e

9 days agoMerge "Add more rate control stats to vpx_temporal_svc_encoder."
Marco [Fri, 14 Nov 2014 19:36:05 +0000 (11:36 -0800)]
Merge "Add more rate control stats to vpx_temporal_svc_encoder."

9 days agoAdd more rate control stats to vpx_temporal_svc_encoder. 63/72163/5
Marco [Thu, 13 Nov 2014 23:03:45 +0000 (15:03 -0800)]
Add more rate control stats to vpx_temporal_svc_encoder.

Average and variance of actual encoding bitrate over fixed short-time window.

Change-Id: Icc3d6d93792c81e1fb9fd3b56008bf47a503b204

9 days agoMerge "vp9_ethread: modify the cyclic refresh struct"
Yunqing Wang [Fri, 14 Nov 2014 02:35:01 +0000 (18:35 -0800)]
Merge "vp9_ethread: modify the cyclic refresh struct"

10 days agoMerge "adapt the adjustment limit for rate correction factor in RTC mode"
Yaowu Xu [Thu, 13 Nov 2014 23:50:30 +0000 (15:50 -0800)]
Merge "adapt the adjustment limit for rate correction factor in RTC mode"

10 days agovp9_ethread: modify the cyclic refresh struct 59/72159/3
Yunqing Wang [Thu, 13 Nov 2014 21:38:23 +0000 (13:38 -0800)]
vp9_ethread: modify the cyclic refresh struct

Two members in struct CYCLIC_REFRESH
  int64_t projected_rate_sb;
  int64_t projected_dist_sb;
are updated at the superblock level, which makes them shared data
in the multi-thread situation, and requires extra work to handle
them. However, those values are updated and used immediately, and
therefore can be removed. This patch cleaned up the code and
removed the two members.

Change-Id: I2c6ee4552bf49fb63ce590cdb47f9723974fffb1

10 days agoMerge "Prepare for dynamic frame resizing in the recode loop"
Adrian Grange [Thu, 13 Nov 2014 23:01:49 +0000 (15:01 -0800)]
Merge "Prepare for dynamic frame resizing in the recode loop"

10 days agoMerge "Fix 32 bit build emms problem."
Paul Wilkins [Thu, 13 Nov 2014 23:00:41 +0000 (15:00 -0800)]
Merge "Fix 32 bit build emms problem."

10 days agoMerge "Revert "Fix SSSE3 partial_idct_test detection""
Johann [Thu, 13 Nov 2014 22:49:22 +0000 (14:49 -0800)]
Merge "Revert "Fix SSSE3 partial_idct_test detection""

10 days agoMerge "Use reconstructed pixels for intra prediction"
Jingning Han [Thu, 13 Nov 2014 21:59:02 +0000 (13:59 -0800)]
Merge "Use reconstructed pixels for intra prediction"

10 days agoMerge "Refactor nonrd_use_partition coding process"
Jingning Han [Thu, 13 Nov 2014 21:58:21 +0000 (13:58 -0800)]
Merge "Refactor nonrd_use_partition coding process"

10 days agoPrepare for dynamic frame resizing in the recode loop 12/72012/19
Adrian Grange [Mon, 10 Nov 2014 17:51:38 +0000 (09:51 -0800)]
Prepare for dynamic frame resizing in the recode loop

Prepare for the introduction of frame-size change
logic into the recode loop.

Separated the speed dependent features into
separate static and dynamic parts, the latter being
those features that are dependent on the frame size.

Change-Id: Ia693e28c5cf069a1a7bf12e49ecf83e440e1d313

10 days agoFix 32 bit build emms problem. 39/72139/5
Paul Wilkins [Wed, 12 Nov 2014 17:36:49 +0000 (09:36 -0800)]
Fix 32 bit build emms problem.

Add extra vp9_clear_system_state() calls to fix
double / mmx issue introduced into first pass
code for 32 bit builds.

Change-Id: I84cd2986b80d83650a091ab25c43755efeb82e03

10 days agoRevert "Fix SSSE3 partial_idct_test detection" 53/72153/1
James Zern [Thu, 13 Nov 2014 18:59:54 +0000 (10:59 -0800)]
Revert "Fix SSSE3 partial_idct_test detection"

This reverts commit 7d07f512cd87446eef541e9af4af19b1e8c6342a.

this breaks visual studio builds:
'#' : invalid character : possibly the result of a macro expansion

Change-Id: I77170d549afb71e75a878fa0f6acd204fe8d9e67

10 days agoadapt the adjustment limit for rate correction factor in RTC mode 52/72152/1
Yaowu Xu [Thu, 13 Nov 2014 19:20:04 +0000 (11:20 -0800)]
adapt the adjustment limit for rate correction factor in RTC mode

Rate correction factor is used to correct the estimated rate for any
given quantizer, and feeds into rate control for quantizer selection.
We make use of the actual bits used to calculate this rate correction
factor with an adjustment limit to prevent over-adjustment.

This commit adapts the adjustment limit to the difference between the
estimated bits and the actual bits, allows the adjustment limit to vary
between 0.125 (when estimate is close to actual) and 0.625 (when there
is >10X factor off between estimated and actual bits). By doing this,
the commit appears to have largely corrected two observed issues:
1. Adjustment is too slow when the actual bits used is way off from
estimate due to the small adjustment limit.
2. Extreme oscillating quantizer choices due to the feedback loop.

Change-Id: I4ee148d2c9d26d173b6c48011313ddb07ce2d7d6

10 days agoMerge "Vidyo: Turn off keyframes in higher spatial layers"
Deb Mukherjee [Thu, 13 Nov 2014 11:27:11 +0000 (03:27 -0800)]
Merge "Vidyo: Turn off keyframes in higher spatial layers"

10 days agoMerge "Added highbitdepth sse2 SAD acceleration and tests"
Debargha Mukherjee [Thu, 13 Nov 2014 05:20:34 +0000 (21:20 -0800)]
Merge "Added highbitdepth sse2 SAD acceleration and tests"

10 days agoRemove vp9_temporal_denoising from experimental list. 47/72147/2
Marco [Thu, 13 Nov 2014 01:34:54 +0000 (17:34 -0800)]
Remove vp9_temporal_denoising from experimental list.

Change-Id: I7a941c0efbb5912aa97348da6fd1aba28df4482a

11 days agoAdded highbitdepth sse2 SAD acceleration and tests 20/72120/6
Peter de Rivaz [Thu, 16 Oct 2014 12:41:55 +0000 (13:41 +0100)]
Added highbitdepth sse2 SAD acceleration and tests

Change-Id: I1a74a1b032b198793ef9cc526327987f7799125f
(cherry picked from commit b1a6f6b9cb47eafe0ce86eaf0318612806091fe5)

11 days agoMerge "Fix SSSE3 partial_idct_test detection"
Johann [Wed, 12 Nov 2014 20:20:36 +0000 (12:20 -0800)]
Merge "Fix SSSE3 partial_idct_test detection"

11 days agoMerge "Use normal rate_correction_factor for gf in CBR mode"
Yaowu Xu [Wed, 12 Nov 2014 16:00:26 +0000 (08:00 -0800)]
Merge "Use normal rate_correction_factor for gf in CBR mode"

11 days agoVidyo: Turn off keyframes in higher spatial layers 38/72138/1
Deb Mukherjee [Wed, 12 Nov 2014 00:09:07 +0000 (16:09 -0800)]
Vidyo: Turn off keyframes in higher spatial layers

Change-Id: Icdd5e71cd6a2b59bc4b3b972af9e4d4a36821792

11 days agoMerge "Vidyo: Support for one-pass rc-enabled SVC encoder"
Deb Mukherjee [Wed, 12 Nov 2014 00:03:11 +0000 (16:03 -0800)]
Merge "Vidyo: Support for one-pass rc-enabled SVC encoder"

12 days agoUse reconstructed pixels for intra prediction 22/72122/4
Jingning Han [Sat, 8 Nov 2014 01:50:55 +0000 (17:50 -0800)]
Use reconstructed pixels for intra prediction

This commit makes the speed -6 and above use the reconstructed
boundary pixels for precise intra prediction. This allows more
intra prediction modes to be tested in the non-RD coding process.

Enabling horizontal and vertical intra prediction modes can
improve the speed -6 compression performance for rtc set
by 0.331%.

Change-Id: I3a99f9d12c6af54de2bdbf28c76eab8e0905f744

12 days agoMerge "AQ1 - remove first pass weights."
Paul Wilkins [Tue, 11 Nov 2014 17:17:33 +0000 (09:17 -0800)]
Merge "AQ1 - remove first pass weights."

12 days agoUse normal rate_correction_factor for gf in CBR mode 28/72128/6
Yaowu Xu [Mon, 10 Nov 2014 19:46:58 +0000 (11:46 -0800)]
Use normal rate_correction_factor for gf in CBR mode

I0c5f010 changed to allow update golden reference buffer in CBR mode,
this commit changes the use of rate_correction_factor for those frames
to be aligned with the new usage. This commit attempts to solve two

a. Initialization of rate correction factor for Golden Frame
Prior to this patch, even the regular inter frame has been update
the rate correction factor based on content and encoding results,
the first golden frame would still use the ininitialized value
that can be way off.

b. Allowing rate correction factor update to be slightly faster
Prior to this patch, when the rate correction factor is off, the
update to the factor is too slow, the factor could not get close
to a semi-correct value even after many frames.

The commit helps all clips in psnr/ssim metric, but especially to
a few clip in RTC set that rate correction was way off. For example
thaloundeskmtgvga gained about .5dB for both overall/average psnr.

Change-Id: I0be5c41691be57891d824505348b64be87fa3545

12 days agoVidyo: Support for one-pass rc-enabled SVC encoder 13/72113/6
Deb Mukherjee [Fri, 7 Nov 2014 19:01:53 +0000 (11:01 -0800)]
Vidyo: Support for one-pass rc-enabled SVC encoder

Adds support for one-pass rc-enabled SVC encoder with callbacks for
getting per-layer packets.
- the callback function registration is implemented as an encoder
control function.
- if the callback function is not registered, the old way of
aggregating packets with superframe will take effect.
- one more control function “VP9E_GET_SVC_LAYER_ID” has been
implemented to get the temporal/spatial id from the encoder
within the callback. This can be used to get the ids to put on RTP

Change-Id: I1a90e00135dde65da128b758e6c00b57299a111a

13 days agoMerge "Iadst transforms to use internal low precision"
Deb Mukherjee [Mon, 10 Nov 2014 23:39:46 +0000 (15:39 -0800)]
Merge "Iadst transforms to use internal low precision"

13 days agoMerge "Remove asm offset dependencies"
Johann [Mon, 10 Nov 2014 18:22:09 +0000 (10:22 -0800)]
Merge "Remove asm offset dependencies"

2 weeks agoMerge "Fix LAST SKIP when considering GOLDEN"
Alex Converse [Sat, 8 Nov 2014 00:21:37 +0000 (16:21 -0800)]
Merge "Fix LAST SKIP when considering GOLDEN"

2 weeks agoIadst transforms to use internal low precision 18/72118/1
Deb Mukherjee [Thu, 6 Nov 2014 20:50:33 +0000 (12:50 -0800)]
Iadst transforms to use internal low precision

Change-Id: I266777d40c300bc53b45b205144520b85b0d6e58
(cherry picked from commit a1b726117f5470f227bc90cd030b7d25045dc510)

2 weeks agoTest name changes to use SSE/SSE2 exactly 14/72114/4
Deb Mukherjee [Fri, 7 Nov 2014 18:19:46 +0000 (10:19 -0800)]
Test name changes to use SSE/SSE2 exactly

Change-Id: I3b5a478d198868c2796366f0ac59d0e2036308b8

2 weeks agoFix LAST SKIP when considering GOLDEN 19/72119/1
Alex Converse [Fri, 7 Nov 2014 21:44:17 +0000 (13:44 -0800)]
Fix LAST SKIP when considering GOLDEN

Change-Id: I39d9f13fa34984ee9dad0c4f303ef672635f420e

2 weeks agoMerge "Add intra complexity and brightness weight to first pass."
Paul Wilkins [Fri, 7 Nov 2014 17:22:12 +0000 (09:22 -0800)]
Merge "Add intra complexity and brightness weight to first pass."

2 weeks agoMerge "Change the use of a reserved color space entry"
Yaowu Xu [Fri, 7 Nov 2014 14:24:59 +0000 (06:24 -0800)]
Merge "Change the use of a reserved color space entry"

2 weeks agoAQ1 - remove first pass weights. 11/72111/1
Paul Wilkins [Fri, 7 Nov 2014 14:11:29 +0000 (14:11 +0000)]
AQ1 - remove first pass weights.

Removed redundant weighting function tied for AQ1 from first
pass code.

Improvment in baseline AQ1 results:-
Derf  opsnr +0.142% SSIm +0.258%
YT  opsnr +0.173% SSIm +0.3%

Change-Id: I16ef91caf2d7f302cd5940cc5e2626d48ebcb212