webm/libvpx.git
82 min agoMerge "vp9_ethread: allocate frame contexts outside VP9_COMMON struct" master
Yunqing Wang [Thu, 23 Oct 2014 00:10:39 +0000 (17:10 -0700)]
Merge "vp9_ethread: allocate frame contexts outside VP9_COMMON struct"

2 hours agoMerge "Fix Neon convolve profiling"
Frank Galligan [Wed, 22 Oct 2014 22:50:36 +0000 (15:50 -0700)]
Merge "Fix Neon convolve profiling"

3 hours agovp9_ethread: allocate frame contexts outside VP9_COMMON struct 87/71987/1
Yunqing Wang [Wed, 22 Oct 2014 21:37:38 +0000 (14:37 -0700)]
vp9_ethread: allocate frame contexts outside VP9_COMMON struct

This patch allocated frame contexts outside VP9_COMMON. This allows
multiple threads to share the same copy of frame contexts, and
reduces the overhead. It also guarantees the correct update of
these contexts during bitstream packing. This patch doesn't change
encoding result.

Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353

3 hours agoMerge "Fix a subtle issue in re-use inter_pred"
Yaowu Xu [Wed, 22 Oct 2014 21:53:06 +0000 (14:53 -0700)]
Merge "Fix a subtle issue in re-use inter_pred"

4 hours agoMerge "vp9_denoiser_sse2.c: improve code style."
JackyChen [Wed, 22 Oct 2014 20:52:03 +0000 (13:52 -0700)]
Merge "vp9_denoiser_sse2.c: improve code style."

6 hours agoFix a subtle issue in re-use inter_pred 84/71984/1
Yaowu Xu [Wed, 22 Oct 2014 18:57:09 +0000 (11:57 -0700)]
Fix a subtle issue in re-use inter_pred

The initialization of this_mode_pred does not work when the ref_frame
loop ever goes beyond LAST_FRAME. This commit fixes the subtle issue
and allows potentially expanding the loop to test GOLDEN_FRAME.

Change-Id: Ibbd427a22160d1d9eacb8ed0c87f88d6cef9c0f3

7 hours agovp9_denoiser_sse2.c: improve code style. 39/71939/4
JackyChen [Fri, 17 Oct 2014 19:16:13 +0000 (12:16 -0700)]
vp9_denoiser_sse2.c: improve code style.

denoiser_sse2.c: fix typos in comment.

Change-Id: Ic0fb102331b0e533c058da3cab1fbc30de9a0070

7 hours agoFix Neon convolve profiling 74/71974/2
Frank Galligan [Wed, 22 Oct 2014 17:14:38 +0000 (10:14 -0700)]
Fix Neon convolve profiling

When profiling, gprof can't distinguish between matching labels in
different files.

Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f

7 hours agovp8: Update to computation of noise level. 75/71975/1
Marco [Wed, 22 Oct 2014 17:36:03 +0000 (10:36 -0700)]
vp8: Update to computation of noise level.

Avoid unneeded computation of mse in process_denoise.

Change-Id: I3a538178f2d138750d0c38ea4dd05dbbc2b7df41

9 hours agoMerge "Refactor rate distortion cost structure in non-RD coding mode" nextgen
Jingning Han [Wed, 22 Oct 2014 15:41:36 +0000 (08:41 -0700)]
Merge "Refactor rate distortion cost structure in non-RD coding mode"

9 hours agoMerge "Change speed features for good quality(cpu-used=5)"
Yaowu Xu [Wed, 22 Oct 2014 15:40:15 +0000 (08:40 -0700)]
Merge "Change speed features for good quality(cpu-used=5)"

25 hours agoRefactor rate distortion cost structure in non-RD coding mode 64/71964/2
Jingning Han [Tue, 21 Oct 2014 23:31:37 +0000 (16:31 -0700)]
Refactor rate distortion cost structure in non-RD coding mode

This commit refactors the rate distortion structure used in the
non-RD coding mode and saves a few RDCOST calculations.

Change-Id: I62c3416c300d2c5372f21b96d93a6b633a34ab3a

30 hours agoChange speed features for good quality(cpu-used=5) 53/71953/3
Yaowu Xu [Mon, 20 Oct 2014 21:41:20 +0000 (14:41 -0700)]
Change speed features for good quality(cpu-used=5)

The existing speed features produce horrible encoding results, almost
30% worse than cpu-used=4, this commit adjust the speed features to
produce relatively resonable results to be within 3%-5% of cpu-used=4.

Change-Id: I0ca6ebafb33024d4a0cbcf04c78a4a00b8dd1ecf

32 hours agoRemove unused copy_partitioning 61/71961/1
Jingning Han [Tue, 21 Oct 2014 16:47:58 +0000 (09:47 -0700)]
Remove unused copy_partitioning

Change-Id: I75a2a3772ed17e73180eb4f263cc838cae4927b0

32 hours agoMerge "Adding test vectors for profile 2 and 3"
Deb Mukherjee [Tue, 21 Oct 2014 16:44:46 +0000 (09:44 -0700)]
Merge "Adding test vectors for profile 2 and 3"

32 hours agoMerge "Remove deprecated constrain_copy_partitioning function"
Jingning Han [Tue, 21 Oct 2014 16:44:11 +0000 (09:44 -0700)]
Merge "Remove deprecated constrain_copy_partitioning function"

32 hours agoMerge "Remove unused sb_has_motion function in vp9_encodeframe.c"
Jingning Han [Tue, 21 Oct 2014 16:43:55 +0000 (09:43 -0700)]
Merge "Remove unused sb_has_motion function in vp9_encodeframe.c"

32 hours agoMerge "Remove deprecated use_lastframe_partitioning feature"
Jingning Han [Tue, 21 Oct 2014 16:43:45 +0000 (09:43 -0700)]
Merge "Remove deprecated use_lastframe_partitioning feature"

32 hours agoMerge "Hybrid partition search for rtc coding mode"
Jingning Han [Tue, 21 Oct 2014 16:43:35 +0000 (09:43 -0700)]
Merge "Hybrid partition search for rtc coding mode"

35 hours agoMerge "Extend --auto-alt-ref so it can enable multi-alt ref."
Paul Wilkins [Tue, 21 Oct 2014 14:02:24 +0000 (07:02 -0700)]
Merge "Extend --auto-alt-ref so it can enable multi-alt ref."

35 hours agoMerge "Resolve compiler warning."
Paul Wilkins [Tue, 21 Oct 2014 14:02:13 +0000 (07:02 -0700)]
Merge "Resolve compiler warning."

41 hours agoAdding test vectors for profile 2 and 3 60/71960/1
Deb Mukherjee [Tue, 21 Oct 2014 06:51:58 +0000 (23:51 -0700)]
Adding test vectors for profile 2 and 3

Also adds mising test vectors for profile 1.

Change-Id: I5269af8b9e6b708ce50a0d9c69b6cae4bb2870dc

2 days agoRemove deprecated constrain_copy_partitioning function 57/71957/2
Jingning Han [Mon, 20 Oct 2014 22:34:19 +0000 (15:34 -0700)]
Remove deprecated constrain_copy_partitioning function

Its functionality has been replaced with choose_partitioning and
threshold based control on split mode check.

Change-Id: Ic9bb321df06b524f5c38ea5874dc6f6a8f93c5e3

2 days agoRemove unused sb_has_motion function in vp9_encodeframe.c 56/71956/2
Jingning Han [Mon, 20 Oct 2014 22:29:58 +0000 (15:29 -0700)]
Remove unused sb_has_motion function in vp9_encodeframe.c

Change-Id: I035fb6aa5c10741b065e27befb097d8087e3c62f

2 days agoRemove deprecated use_lastframe_partitioning feature 55/71955/2
Jingning Han [Mon, 20 Oct 2014 22:00:24 +0000 (15:00 -0700)]
Remove deprecated use_lastframe_partitioning feature

This speed feature has been deprecated in both yt and rtc coding
modes. This commit removes the related operations.

Change-Id: I079c79c6adafe45581af2ebf8b98faebcface1ce

2 days agoHybrid partition search for rtc coding mode 47/71947/3
Jingning Han [Fri, 17 Oct 2014 15:58:28 +0000 (08:58 -0700)]
Hybrid partition search for rtc coding mode

This commit re-designs the recursive partition search scheme in
rtc speed -5. It first checks if the current block is under cyclic
refresh mode. If so, apply recursive partition search. Otherwise,
perform sub-sampled pixel based partition selection. When the
pre-selection finds the partition size should be 32x32 or above,
use the partition size directly. Otherwise, apply partition search
at nearby levels around the preset partition size.

It is enabled in speed -5. The compression performance of rtc
speed -5 is improved by 9.4%. Speed wise, the run-time goes slower
from 1% to 10%.

nik_720p, 1000 kbps
33220 b/f, 38.977 dB, 10109 ms -> 33200 b/f, 39.119 dB, 10210 ms

vidyo1_720p, 1000 kbps
16536 b/f, 40.495 dB, 10119 ms -> 16536 b/f, 40.827 dB, 11287 ms

Change-Id: I65adba352e3adc03bae50854ddaea1b421653c6c

2 days agoMerge "SAD32xh and SAD64xh for AVX2"
Yunqing Wang [Mon, 20 Oct 2014 19:37:55 +0000 (12:37 -0700)]
Merge "SAD32xh and SAD64xh for AVX2"

2 days agoMerge "Remove the dependency in token storing locations"
Yunqing Wang [Mon, 20 Oct 2014 15:26:46 +0000 (08:26 -0700)]
Merge "Remove the dependency in token storing locations"

2 days agoExtend --auto-alt-ref so it can enable multi-alt ref. 46/71946/1
Paul Wilkins [Mon, 20 Oct 2014 11:05:17 +0000 (12:05 +0100)]
Extend --auto-alt-ref so it can enable multi-alt ref.

Extend --auto-alt-ref from parameter so we can use it to
turn multi-arf on and off from the command line.

For now the range is 0-off, 1-on, 2-multi-arf on.

Rename play_alternate to enable_auto_arf

Change-Id: Id7b64407cfbe76ba0090a83b588a03e22a240386

2 days agoResolve compiler warning. 45/71945/1
Paul Wilkins [Mon, 20 Oct 2014 11:08:33 +0000 (12:08 +0100)]
Resolve compiler warning.

conversion from 'const int64_t' to 'int', possible loss of data.

Change-Id: I471a73bba5d448d9be0ef9cbf1590fa73aa74be1

2 days agoMerge "Alter adjustment of two pass GF/ARF boost with Q."
Paul Wilkins [Mon, 20 Oct 2014 10:12:06 +0000 (03:12 -0700)]
Merge "Alter adjustment of two pass GF/ARF boost with Q."

3 days agoSAD32xh and SAD64xh for AVX2 17/71717/3
levytamar82 [Thu, 2 Oct 2014 06:47:31 +0000 (23:47 -0700)]
SAD32xh and SAD64xh for AVX2

All sad function that process above 32 consecutive elements are optimized
for AVX2:
vp9_sad64x64
vp9_sad64x32
vp9_sad32x64
vp9_sad32x32
vp9_sad32x16
vp9_sad64x64_avg
vp9_sad64x32_avg
vp9_sad32x64_avg
vp9_sad32x32_avg
vp9_sad32x16_avg
The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64
vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90%
both of them gave and overall ~2.3% user level gain

Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd

4 days agoMerge "Add highbitdepth function for vp9_avg_8x8"
Debargha Mukherjee [Sat, 18 Oct 2014 21:37:10 +0000 (14:37 -0700)]
Merge "Add highbitdepth function for vp9_avg_8x8"

4 days agoMerge "Remove unused VAR_BASED_FIXED_PARTITION flag"
Yaowu Xu [Sat, 18 Oct 2014 20:31:47 +0000 (13:31 -0700)]
Merge "Remove unused VAR_BASED_FIXED_PARTITION flag"

4 days agoMerge "Use rate/distortion thresholds to control non-RD partition search"
Yaowu Xu [Sat, 18 Oct 2014 20:31:41 +0000 (13:31 -0700)]
Merge "Use rate/distortion thresholds to control non-RD partition search"

5 days agoAdd highbitdepth function for vp9_avg_8x8 27/71927/2
Peter de Rivaz [Thu, 16 Oct 2014 13:36:07 +0000 (14:36 +0100)]
Add highbitdepth function for vp9_avg_8x8

Cherry-picked from https://gerrit.chromium.org/gerrit/#/c/71914/
(a92f987a6b7819ae5c62a429e126e1c26bdb1b71) on highbitdepth branch.

Change-Id: I6903e4e4cb57d90590725c8a1c64c23da7ae65e8

5 days agoUpdates to aggressive denoising mode. 43/71943/1
Marco [Fri, 17 Oct 2014 22:55:30 +0000 (15:55 -0700)]
Updates to aggressive denoising mode.

Fix to the noise level and bitrate threshold settings per resolution.

Change-Id: I25524b7f78afa1aeb76edef7be13c17bc8976508

5 days agoRemove the dependency in token storing locations 28/71928/2
Yunqing Wang [Thu, 16 Oct 2014 19:29:48 +0000 (12:29 -0700)]
Remove the dependency in token storing locations

Currently, the tokens for a tile are stored immediately after its
preceding tile, which causes a dependency. This is unnecessary
since we always allocate enough memory for tokens. Removing
the dependency allows token writing done in parallel. This patch
doesn't change encoding result.

Change-Id: I7365a6e5e2c2833eb14377c37e1503c9d0f26543

5 days agoMerge "Correct the logic of ready_for_new_data."
hkuang [Fri, 17 Oct 2014 21:13:44 +0000 (14:13 -0700)]
Merge "Correct the logic of ready_for_new_data."

5 days agoMerge "vp9_denoiser_sse2.c: solve windows build error."
JackyChen [Fri, 17 Oct 2014 18:16:22 +0000 (11:16 -0700)]
Merge "vp9_denoiser_sse2.c: solve windows build error."

5 days agoMerge "Add init and reset functions for RD_COST struct"
Jingning Han [Fri, 17 Oct 2014 18:15:19 +0000 (11:15 -0700)]
Merge "Add init and reset functions for RD_COST struct"

5 days agoMerge "Reset rate cost value in rd mode search"
Jingning Han [Fri, 17 Oct 2014 18:15:03 +0000 (11:15 -0700)]
Merge "Reset rate cost value in rd mode search"

5 days agoCorrect the logic of ready_for_new_data. 36/71936/1
hkuang [Fri, 17 Oct 2014 17:09:56 +0000 (10:09 -0700)]
Correct the logic of ready_for_new_data.

This should be set right after decoder really start to decode frame
instead setting at the end.

Even decoder does not have a displayable frame to show and return NULL
to application, this should be set too.

Change-Id: If0313a834bc64e3b0f05a84f4459d444d9eab0d8

5 days agoReset rate cost value in rd mode search 35/71935/1
Jingning Han [Fri, 17 Oct 2014 16:31:42 +0000 (09:31 -0700)]
Reset rate cost value in rd mode search

When early termination is triggered, properly reset the rate cost
to invalid value to avoid potential ioc issue.

Change-Id: I3444390be2e49a34bb02cf8a74c33d5dbd96d88d

5 days agovp9_denoiser_sse2.c: solve windows build error. 34/71934/1
JackyChen [Fri, 17 Oct 2014 16:28:22 +0000 (09:28 -0700)]
vp9_denoiser_sse2.c: solve windows build error.

Change-Id: Ib5df91c8580d5dbeb0b3554edc9c2ca906ba4c4d

5 days agoRemove unused VAR_BASED_FIXED_PARTITION flag 03/71903/2
Jingning Han [Wed, 15 Oct 2014 22:45:27 +0000 (15:45 -0700)]
Remove unused VAR_BASED_FIXED_PARTITION flag

Change-Id: I4ce19b7cb1c45fed86e81ee785e787630020fb4f

5 days agoAlter adjustment of two pass GF/ARF boost with Q. 32/71932/1
Paul Wilkins [Thu, 16 Oct 2014 15:24:25 +0000 (16:24 +0100)]
Alter adjustment of two pass GF/ARF boost with Q.

Delete gfboost_qadjust() and move Q based adjustment
into calc_frame_boost(). Also remove clamping. Making
the adjustment here means that it influences not just the
boost level but also the selection of the GF/ARF interval.

This change gives a small average gain in PSNR but
larger gains in SSIM, especially for harder std-hd set (1.5%)

Change-Id: I3aa81b8feccaeff93d915e19fb9cf5cd64c86327

5 days agoMerge "vp9_denoiser_sse2.c: eliminate gcc warnings"
James Zern [Fri, 17 Oct 2014 10:26:06 +0000 (03:26 -0700)]
Merge "vp9_denoiser_sse2.c: eliminate gcc warnings"

5 days agovp9_denoiser_sse2.c: eliminate gcc warnings 08/71808/7
JackyChen [Mon, 13 Oct 2014 06:29:10 +0000 (23:29 -0700)]
vp9_denoiser_sse2.c: eliminate gcc warnings

Change-Id: I5f63f48e11e31ea9951223c5b18f42a2471e4560

6 days agoMerge "Adds a set of end-to-end encode tests"
Deb Mukherjee [Thu, 16 Oct 2014 21:27:26 +0000 (14:27 -0700)]
Merge "Adds a set of end-to-end encode tests"

6 days agoMerge "Fix an ioc issue in super_block_uvrd"
Jingning Han [Thu, 16 Oct 2014 19:35:11 +0000 (12:35 -0700)]
Merge "Fix an ioc issue in super_block_uvrd"

6 days agoAdds a set of end-to-end encode tests 04/71904/9
Deb Mukherjee [Wed, 15 Oct 2014 23:40:12 +0000 (16:40 -0700)]
Adds a set of end-to-end encode tests

Covers all profiles and input formats. The tests check if the
encode succeeds and if the psnr is sane.

Change-Id: I195a5330debf92562846121819b6eaf961e27c01

6 days agoFix an ioc issue in super_block_uvrd 20/71920/2
Jingning Han [Thu, 16 Oct 2014 16:19:42 +0000 (09:19 -0700)]
Fix an ioc issue in super_block_uvrd

This commit fixes an ioc issue that will happen when the cumulative
variables are not in effective use. The fix discards these
redundant additions.

Change-Id: Idbac5bfb989c0cedc5f8a323effce938519b2457

6 days agoMerge "Change initialization of static_scene_max_gf_interval."
Paul Wilkins [Thu, 16 Oct 2014 17:46:20 +0000 (10:46 -0700)]
Merge "Change initialization of static_scene_max_gf_interval."

6 days agoMerge "[spatial svc]Another workaround to avoid using prev_mi"
Paul Wilkins [Thu, 16 Oct 2014 17:46:08 +0000 (10:46 -0700)]
Merge "[spatial svc]Another workaround to avoid using prev_mi"

6 days agoMerge "Revert "Move input frame scaling into the recode loop""
Paul Wilkins [Thu, 16 Oct 2014 17:44:58 +0000 (10:44 -0700)]
Merge "Revert "Move input frame scaling into the recode loop""

6 days agoMerge "Revert "[spatial svc]Another workaround to avoid using prev_mi""
Paul Wilkins [Thu, 16 Oct 2014 17:44:47 +0000 (10:44 -0700)]
Merge "Revert "[spatial svc]Another workaround to avoid using prev_mi""

6 days agoMerge "Fix in bit-shift operation for highbitdepth decode"
Deb Mukherjee [Thu, 16 Oct 2014 16:23:57 +0000 (09:23 -0700)]
Merge "Fix in bit-shift operation for highbitdepth decode"

6 days agoChange initialization of static_scene_max_gf_interval. 07/71907/2
Paul Wilkins [Thu, 16 Oct 2014 11:39:14 +0000 (12:39 +0100)]
Change initialization of static_scene_max_gf_interval.

This removes an unnecessary restriction that causes
a problem (noticed by AWG) when the forced key frame
interval is set to a very small value, such as 10. In this case
we were being forced to code minimal length GF groups.

Change-Id: I76ef5861a09638ff51f61fea02359554184ada53

6 days ago[spatial svc]Another workaround to avoid using prev_mi 18/71918/2
Minghai Shang [Tue, 14 Oct 2014 23:25:03 +0000 (16:25 -0700)]
[spatial svc]Another workaround to avoid using prev_mi

We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.

Change remerged.

Change-Id: I9efab38bba7da86e056fbe8f663e711c5df38449

6 days agoRevert "Move input frame scaling into the recode loop" 90/71890/3
Paul Wilkins [Thu, 16 Oct 2014 14:53:21 +0000 (15:53 +0100)]
Revert "Move input frame scaling into the recode loop"

This reverts commit 452dc21500a2339ee685cb28efbd2af1b856ea12.

This change has introduced a significant quality regression on content
with forced key frames. (e.g. the YT and yt-hd set). It is most
noticeable in static content where the kf bits dominate. Here, despite
key frames being apparently coded at the same Q, there is a drop in all
metrics of ~20% (e.g clXR and BFa0).

Change-Id: Iba14cc61778c0846fa0a59c33c55a9fc49512cb4

6 days agoRevert "[spatial svc]Another workaround to avoid using prev_mi" 16/71916/1
Paul Wilkins [Thu, 16 Oct 2014 14:49:13 +0000 (15:49 +0100)]
Revert "[spatial svc]Another workaround to avoid using prev_mi"

This reverts commit c113457af9880b8e15a36cdaabfd414d1c245693.

Temporary revert to allow clean revert of another commit.

Change-Id: Ia9b7b755e6c48e1b6e383329f121fef175a24b27

6 days agoMerge "fix CONFIG_SPATIAL_SVC warning"
James Zern [Thu, 16 Oct 2014 08:09:15 +0000 (01:09 -0700)]
Merge "fix CONFIG_SPATIAL_SVC warning"

7 days agoMerge "Some updates for Speed 6/VAR_BASED_PARTITION."
Marco [Wed, 15 Oct 2014 22:57:21 +0000 (15:57 -0700)]
Merge "Some updates for Speed 6/VAR_BASED_PARTITION."

7 days agoAdd init and reset functions for RD_COST struct 79/71879/2
Jingning Han [Tue, 14 Oct 2014 17:26:28 +0000 (10:26 -0700)]
Add init and reset functions for RD_COST struct

Change-Id: I2902de7051a883fd22e27a655209233733969cfd

7 days agoMerge "Replace copy_partitioning use case with choose_partitioning"
Jingning Han [Wed, 15 Oct 2014 21:54:52 +0000 (14:54 -0700)]
Merge "Replace copy_partitioning use case with choose_partitioning"

7 days agoUse rate/distortion thresholds to control non-RD partition search 01/71901/1
Jingning Han [Wed, 15 Oct 2014 19:18:48 +0000 (12:18 -0700)]
Use rate/distortion thresholds to control non-RD partition search

Compare the estimated rate and distortion to the thresholds scaled
according to the operating block size and determine if further
split partition search will be run. The compression performance of
speed -5 is changed by -0.074%. The encoding speed is 10% - 15%
faster.

vidyo1 720p
16545 b/f, 40.492 dB, 11475 ms -> 16535 b/f, 40.486 dB, 10100 ms

nik720p
16624 b/f, 36.310 dB, 10071 ms -> 16617 b/f, 36.313 dB, 8346 ms

Change-Id: Ic9197ab5761279ae55d2fb7813b2af0e0db497b8

7 days agoSome updates for Speed 6/VAR_BASED_PARTITION. 95/71895/3
Marco [Thu, 9 Oct 2014 23:01:52 +0000 (16:01 -0700)]
Some updates for Speed 6/VAR_BASED_PARTITION.

Reduce the intra_cost_penalty for non-rd mode,
and some updates to VAR_BASED_PARTITION.

Visual tests show some improvement at Speed 6, for RTC clips.

Change-Id: If9090daf7aed14906a32d931a538ab544bbca606

7 days agoReplace copy_partitioning use case with choose_partitioning 99/71899/1
Jingning Han [Wed, 15 Oct 2014 18:37:20 +0000 (11:37 -0700)]
Replace copy_partitioning use case with choose_partitioning

This commit replaces the use of copy_partitioning with
choose_partitioning based on the sse of subsamped pixels, which
provides significantly better coding performance and runs at
similar speed, as compared to copy_partitioning. It improves rtc
speed 5 coding performance by 3%.

Change-Id: I52d3682a12dce0147f5e52383a594fc242ca3228

7 days agoFix in bit-shift operation for highbitdepth decode 92/71892/1
Deb Mukherjee [Wed, 15 Oct 2014 17:01:34 +0000 (10:01 -0700)]
Fix in bit-shift operation for highbitdepth decode

Fixes a bug introduced in a previous refactoring patch.

Change-Id: I243e74637cfd7a997c7a1fef03b06c290dd0dee6

7 days agofix CONFIG_SPATIAL_SVC warning 91/71891/1
James Zern [Wed, 15 Oct 2014 14:37:35 +0000 (16:37 +0200)]
fix CONFIG_SPATIAL_SVC warning

this change checks that CONFIG_SPATIAL_SVC is defined and adds a TODO to
ensure this is changed in the future as the release headers can't
depend on vpx_config.h.

vpx/vpx_encoder.h:164:5: warning: "CONFIG_SPATIAL_SVC" is not defined
[-Wundef]

Change-Id: I797a0150e5f56caf048e7ee00b282fbc9c5ede19

8 days ago[spatial svc]Another workaround to avoid using prev_mi 66/71666/7
Minghai Shang [Tue, 14 Oct 2014 23:25:03 +0000 (16:25 -0700)]
[spatial svc]Another workaround to avoid using prev_mi

We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.
Change-Id: I60b680314e33a60b4093cafc296465ee18169c19

8 days agoMerge "Move input frame scaling into the recode loop"
Adrian Grange [Tue, 14 Oct 2014 22:30:42 +0000 (15:30 -0700)]
Merge "Move input frame scaling into the recode loop"

8 days agoMerge "Add a 32-bit friendly sse2 quantizer."
Alex Converse [Tue, 14 Oct 2014 21:35:02 +0000 (14:35 -0700)]
Merge "Add a 32-bit friendly sse2 quantizer."

8 days agoMerge "Remove an unneeded function call"
Yunqing Wang [Tue, 14 Oct 2014 21:06:23 +0000 (14:06 -0700)]
Merge "Remove an unneeded function call"

8 days agoMerge "Correct the format."
hkuang [Tue, 14 Oct 2014 20:45:11 +0000 (13:45 -0700)]
Merge "Correct the format."

8 days agoRemove an unneeded function call 85/71885/1
Yunqing Wang [Tue, 14 Oct 2014 18:41:37 +0000 (11:41 -0700)]
Remove an unneeded function call

set_tile_limits() is called in vp9_change_config() already.

Change-Id: I91c3a0df2c1c7fd7e71546d8f51fd5b65838a7da

8 days agoAdd a 32-bit friendly sse2 quantizer. 86/71886/1
Alex Converse [Mon, 13 Oct 2014 22:17:05 +0000 (15:17 -0700)]
Add a 32-bit friendly sse2 quantizer.

This is based on the 64-bit ssse3 quantizer.

1.1x speedup for screen content at speed 7.

Change-Id: I57d15415ef97c49165954bbe3daaaf9318e37448

8 days agoCorrect the format. 82/71882/1
hkuang [Tue, 14 Oct 2014 18:35:26 +0000 (11:35 -0700)]
Correct the format.

Change-Id: I59a53b419adda3a609d50b2a82f5a4a54849752e

8 days agoMerge "Refactor super_block_uvrd function to remove goto statement"
Jingning Han [Tue, 14 Oct 2014 18:33:00 +0000 (11:33 -0700)]
Merge "Refactor super_block_uvrd function to remove goto statement"

8 days agoMerge "Remove unnecessary local variable."
hkuang [Tue, 14 Oct 2014 18:05:51 +0000 (11:05 -0700)]
Merge "Remove unnecessary local variable."

8 days agoMerge "Remove extra line."
hkuang [Tue, 14 Oct 2014 18:05:01 +0000 (11:05 -0700)]
Merge "Remove extra line."

8 days agoRefactor super_block_uvrd function to remove goto statement 77/71877/3
Jingning Han [Tue, 14 Oct 2014 00:06:22 +0000 (17:06 -0700)]
Refactor super_block_uvrd function to remove goto statement

Use return value 0/1 as indicator of the validity of the rate-
distortion cost.

Change-Id: I6244126fbf03472cebcba4f177a6cd329fae4743

8 days agoMove input frame scaling into the recode loop 33/71733/6
Adrian Grange [Thu, 2 Oct 2014 22:26:42 +0000 (15:26 -0700)]
Move input frame scaling into the recode loop

Move the point at which input frames are scaled
into the recode loop. This will allow us to change
the coded frame size dynamically in response
to previous attempts to encode the frame at a
higher resolution.

A following patch will implement a scheme for
resizing the frame in the recode loop.

Change-Id: I6a59c02d6ac1626512edad6de8b60063b79433e6

8 days agoMerge "Use speed feature variable in vp9_rd_pick_inter/intra_mode"
Jingning Han [Tue, 14 Oct 2014 16:10:24 +0000 (09:10 -0700)]
Merge "Use speed feature variable in vp9_rd_pick_inter/intra_mode"

8 days agoMerge "Fix vp9_rd_pick_inter/intra function types"
Jingning Han [Tue, 14 Oct 2014 16:10:11 +0000 (09:10 -0700)]
Merge "Fix vp9_rd_pick_inter/intra function types"

8 days agoMerge "Refactor rate distortion cost structure"
Jingning Han [Tue, 14 Oct 2014 15:58:55 +0000 (08:58 -0700)]
Merge "Refactor rate distortion cost structure"

8 days agoMerge "Code style change in unit test for VP8/VP9 denoiser."
JackyChen [Tue, 14 Oct 2014 15:46:33 +0000 (08:46 -0700)]
Merge "Code style change in unit test for VP8/VP9 denoiser."

8 days agoMerge "Remove mi_grid_base_array from VP9_COMMON (unused)"
Adrian Grange [Tue, 14 Oct 2014 14:50:17 +0000 (07:50 -0700)]
Merge "Remove mi_grid_base_array from VP9_COMMON (unused)"

8 days agoMerge "Clamp rate error estimate."
Paul Wilkins [Tue, 14 Oct 2014 09:40:12 +0000 (02:40 -0700)]
Merge "Clamp rate error estimate."

8 days agoMerge "Resolves some lint errors"
Deb Mukherjee [Tue, 14 Oct 2014 04:57:24 +0000 (21:57 -0700)]
Merge "Resolves some lint errors"

8 days agoMerge "Add a seg map preservation test vector."
Alex Converse [Tue, 14 Oct 2014 03:02:12 +0000 (20:02 -0700)]
Merge "Add a seg map preservation test vector."

9 days agoUse speed feature variable in vp9_rd_pick_inter/intra_mode 76/71876/1
Jingning Han [Mon, 13 Oct 2014 23:13:59 +0000 (16:13 -0700)]
Use speed feature variable in vp9_rd_pick_inter/intra_mode

Replace repeated fetch cpi->sf with a local sf pointer.

Change-Id: I5a55bba3e1c41fbdbc6ad5f078d2fa49dd95ee67

9 days agoResolves some lint errors 73/71873/4
Deb Mukherjee [Mon, 13 Oct 2014 21:27:53 +0000 (14:27 -0700)]
Resolves some lint errors

And also fixes some style consistency issues.

Change-Id: I3dc6d44e17d2d6075dc9b02c4255a7395046c5e0

9 days agoFix vp9_rd_pick_inter/intra function types 75/71875/1
Jingning Han [Mon, 13 Oct 2014 22:56:37 +0000 (15:56 -0700)]
Fix vp9_rd_pick_inter/intra function types

The returned value is not used anywhere, hence changing the function
type into void.

Change-Id: I0ece49ed61e7aab6df01140135503ad41d4ef4a4

9 days agoMerge "Use pre increment."
hkuang [Mon, 13 Oct 2014 22:24:57 +0000 (15:24 -0700)]
Merge "Use pre increment."

9 days agoRefactor rate distortion cost structure 82/71782/9
Jingning Han [Thu, 9 Oct 2014 19:32:56 +0000 (12:32 -0700)]
Refactor rate distortion cost structure

This commit makes a struct that contains rate value, distortion
value, and the rate-distortion cost. The goal is to provide a
better interface for rate-distortion related operation. It is
first used in rd_pick_partition and saves a few RDCOST calculations.

Change-Id: I1a6ab7b35282d3c80195af59b6810e577544691f

9 days agoUse pre increment. 70/71870/2
hkuang [Mon, 13 Oct 2014 21:04:16 +0000 (14:04 -0700)]
Use pre increment.

Change-Id: I016b4e77d8268e189473f4c382603afe1ae1750f

9 days agoRemove unnecessary local variable. 71/71871/1
hkuang [Mon, 13 Oct 2014 21:05:42 +0000 (14:05 -0700)]
Remove unnecessary local variable.

Change-Id: I7b19b6061cec369825a0a0b7a485ca490dbc12ee

9 days agoRemove mi_grid_base_array from VP9_COMMON (unused) 69/71869/1
Adrian Grange [Mon, 13 Oct 2014 18:52:14 +0000 (11:52 -0700)]
Remove mi_grid_base_array from VP9_COMMON (unused)

Change-Id: I4b4764463f5a7cdc01ec004b882c6237466c74b0