webm/libvpx.git
10 hours agoMerge "Fix a tsan error bug in frame parallel decode." master
hkuang [Thu, 5 Mar 2015 22:55:27 +0000 (14:55 -0800)]
Merge "Fix a tsan error bug in frame parallel decode."

10 hours agoMerge changes I219c287b,I6adee670
Alex Converse [Thu, 5 Mar 2015 22:43:42 +0000 (14:43 -0800)]
Merge changes I219c287b,I6adee670

* changes:
  Call encoder control before running ethread test.
  Don't copy thread data for the main thread.

10 hours agoMerge "Fix misleading indentation."
Alex Converse [Thu, 5 Mar 2015 22:43:38 +0000 (14:43 -0800)]
Merge "Fix misleading indentation."

10 hours agoCall encoder control before running ethread test. 84/73984/2
Alex Converse [Thu, 5 Mar 2015 19:47:21 +0000 (11:47 -0800)]
Call encoder control before running ethread test.

The first value of video->frame() is 15 because of the source range used.

Change-Id: I219c287b500fa376160d6dcfb937092e577ec959

11 hours agoMerge "Use 8 threads by default for VP9 encodes"
Frank Galligan [Thu, 5 Mar 2015 21:58:26 +0000 (13:58 -0800)]
Merge "Use 8 threads by default for VP9 encodes"

11 hours agoMerge "VP9: turn on tile-columns and frame-parallel-mode by default"
Frank Galligan [Thu, 5 Mar 2015 21:58:21 +0000 (13:58 -0800)]
Merge "VP9: turn on tile-columns and frame-parallel-mode by default"

11 hours agoMerge "Don't inline cost_coeffs."
Alex Converse [Thu, 5 Mar 2015 21:54:44 +0000 (13:54 -0800)]
Merge "Don't inline cost_coeffs."

12 hours agoMerge "Fix valgrind memcpy memory overlaps warning"
Adrian Grange [Thu, 5 Mar 2015 20:52:57 +0000 (12:52 -0800)]
Merge "Fix valgrind memcpy memory overlaps warning"

12 hours agoDon't inline cost_coeffs. 85/73985/1
Alex Converse [Thu, 5 Mar 2015 20:39:02 +0000 (12:39 -0800)]
Don't inline cost_coeffs.

It was tiny when it was orginally marked INLINE. Forcing this function
to be inlined prevents the compiler from inlining its much smaller
callers.

No measurable speed impact, 28320 byte smaller libvpx.a

Change-Id: I6bf4c917157d15cbadb3cd3e20a9e82d35dc7d6f

12 hours agoFix misleading indentation. 82/73982/1
Alex Converse [Thu, 5 Mar 2015 20:09:03 +0000 (12:09 -0800)]
Fix misleading indentation.

Change-Id: Ic82b039a3d42f9aa01b85a3a69facfaa84b43a53

12 hours agoDon't copy thread data for the main thread. 83/73983/1
Alex Converse [Thu, 5 Mar 2015 20:09:48 +0000 (12:09 -0800)]
Don't copy thread data for the main thread.

Change-Id: I6adee6704cacfeae0ed0b217a91095457d1be74a

15 hours agoMerge "Move integral projection motion search to vp9_mcomp.c"
Jingning Han [Thu, 5 Mar 2015 17:25:16 +0000 (09:25 -0800)]
Merge "Move integral projection motion search to vp9_mcomp.c"

33 hours agoDeclare function used by 'once' with 'void' parameters 77/73977/1
Johann [Wed, 4 Mar 2015 23:34:55 +0000 (15:34 -0800)]
Declare function used by 'once' with 'void' parameters

Visual Studio is exceptionally picky about this:
vp9_reconintra.c(900): warning C4113: 'void (__cdecl *)()' differs in
parameter lists from 'void (__cdecl *)(void)'
[.build-x86_64-win64-vs10\vpx.vcxproj]

Change-Id: I564c7415f4608fd962be8c699d6133a996b545f7

34 hours agoMerge "Fix variable shadowing."
hkuang [Wed, 4 Mar 2015 22:23:01 +0000 (14:23 -0800)]
Merge "Fix variable shadowing."

36 hours agoMerge "Small rationalization of code in vp9_first_pass"
Adrian Grange [Wed, 4 Mar 2015 20:49:58 +0000 (12:49 -0800)]
Merge "Small rationalization of code in vp9_first_pass"

37 hours agoFix variable shadowing. 72/73972/1
hkuang [Wed, 4 Mar 2015 19:40:20 +0000 (11:40 -0800)]
Fix variable shadowing.

Change-Id: I287c61ad4aa85654aef3c871a62131bcd0d891ac

37 hours agoMerge "Remove unnecessary loopfilter init."
hkuang [Wed, 4 Mar 2015 19:27:58 +0000 (11:27 -0800)]
Merge "Remove unnecessary loopfilter init."

38 hours agoMerge "Make encoder buffer allocation dynamic"
Adrian Grange [Wed, 4 Mar 2015 18:54:10 +0000 (10:54 -0800)]
Merge "Make encoder buffer allocation dynamic"

38 hours agoSmall rationalization of code in vp9_first_pass 90/73890/2
Adrian Grange [Fri, 27 Feb 2015 23:52:58 +0000 (15:52 -0800)]
Small rationalization of code in vp9_first_pass

Change-Id: I87cc0e038171c60a957298827e312fead500f7fb

38 hours agoMerge "Use SAD value to set chroma cost flag"
Jingning Han [Wed, 4 Mar 2015 18:47:56 +0000 (10:47 -0800)]
Merge "Use SAD value to set chroma cost flag"

38 hours agoMove integral projection motion search to vp9_mcomp.c 69/73969/1
Jingning Han [Wed, 4 Mar 2015 18:28:33 +0000 (10:28 -0800)]
Move integral projection motion search to vp9_mcomp.c

Make it a general purpose fast motion estimation function, to be
used in the mode search process.

Change-Id: Ib354cb0e664dc61c30c0b2314297835ee75b157a

39 hours agoUse SAD value to set chroma cost flag 68/73968/1
Jingning Han [Wed, 4 Mar 2015 17:40:01 +0000 (09:40 -0800)]
Use SAD value to set chroma cost flag

This saves an extra 64x64 variance calculation and replaces two
32x32 variance functions with sad functions. The compression
performance change is unnoticeable.

Change-Id: I6d33868695664ec73b56c42945162ae61c484856

39 hours agoMerge "Properly handle the boundary blocks for integral projection search"
Jingning Han [Wed, 4 Mar 2015 17:01:33 +0000 (09:01 -0800)]
Merge "Properly handle the boundary blocks for integral projection search"

41 hours agoMake encoder buffer allocation dynamic 00/73800/27
Adrian Grange [Wed, 18 Feb 2015 17:40:34 +0000 (09:40 -0800)]
Make encoder buffer allocation dynamic

Frame buffers are now allocated dynamically on-demand.

Entries in the reference frame map, cm->ref_frame_map,
may now be set to -1 (INVALID_IDX) to indicate that
there is not a valid reference buffer in that "slot".

All slots in the reference frame map are now initialized
to the empty state (-1) and each buffer is initialized
to have a reference count of 0.

Change-Id: Id1afe98de98db4ae8b2dfefed7889c3b28c68582

2 days agoMerge "dc quantizer fix for 32x32 transforms"
Deb Mukherjee [Wed, 4 Mar 2015 07:23:44 +0000 (23:23 -0800)]
Merge "dc quantizer fix for 32x32 transforms"

2 days agoMerge "Scale the normalization factor depending on the block size"
Jingning Han [Wed, 4 Mar 2015 03:04:34 +0000 (19:04 -0800)]
Merge "Scale the normalization factor depending on the block size"

2 days agoUse 8 threads by default for VP9 encodes 64/73964/1
Frank Galligan [Wed, 4 Mar 2015 01:05:17 +0000 (17:05 -0800)]
Use 8 threads by default for VP9 encodes

BUG=https://code.google.com/p/webm/issues/detail?id=964

Change-Id: I70679d0f139b8e0962f7e19eb56b34060953e9b0

2 days agoProperly handle the boundary blocks for integral projection search 99/73899/3
Jingning Han [Mon, 2 Mar 2015 21:51:12 +0000 (13:51 -0800)]
Properly handle the boundary blocks for integral projection search

Use rectangular block size for integral projection motion estimation
if the the 64x64 block has over half block outside the frame. This
avoids the issue that the motion information of these blocks is
dominated by the extended pixels, instead of the pixels of interest.

Change-Id: I22f4d2bb7f6a20db9b3f5e2e5463a7f4b9d1b737

2 days agodc quantizer fix for 32x32 transforms 60/73960/2
Deb Mukherjee [Tue, 3 Mar 2015 20:26:41 +0000 (12:26 -0800)]
dc quantizer fix for 32x32 transforms

The rounding factor needs to be scaled down by a factor of 2.
Also, the quantized and dequantized coefficients are memset to 0
when dc quantizer is used.

Change-Id: Ifa68bab02addbf1b83d249c5b4cbd5cda796b1cf

2 days agoMerge "fix a race condition caused by intra function pointer initialization"
Yunqing Wang [Tue, 3 Mar 2015 23:47:06 +0000 (15:47 -0800)]
Merge "fix a race condition caused by intra function pointer initialization"

2 days agoMerge "Adapt color sensitiviy threshold to luma signal energy"
Yaowu Xu [Tue, 3 Mar 2015 23:33:55 +0000 (15:33 -0800)]
Merge "Adapt color sensitiviy threshold to luma signal energy"

2 days agoFix valgrind memcpy memory overlaps warning 55/73955/2
Adrian Grange [Tue, 3 Mar 2015 17:19:54 +0000 (09:19 -0800)]
Fix valgrind memcpy memory overlaps warning

Change-Id: Id0bb162b48b891c5c849f0411ef2ac0aa4bbe261

2 days agoFix a tsan error bug in frame parallel decode. 61/73961/1
hkuang [Tue, 3 Mar 2015 20:57:26 +0000 (12:57 -0800)]
Fix a tsan error bug in frame parallel decode.

A frame may be waiting for an out of border pixel from another
frame. A frame's row progress variable is set to -1 when start being decoded
and another frame may be waiting for -2 row pixel from this frame.
In this case, vp9_frameworker_wait will return directly and skip the waiting
which leads to tsan error between threads.

Change-Id: Id16604915fb598b823e34393f696e3aa46fb6422

2 days agoScale the normalization factor depending on the block size 98/73898/2
Jingning Han [Mon, 2 Mar 2015 18:28:12 +0000 (10:28 -0800)]
Scale the normalization factor depending on the block size

Change-Id: I0a26994bf65ea224e496b09af2ce71e1a4210433

2 days agoVP9: turn on tile-columns and frame-parallel-mode by default 57/73957/1
Frank Galligan [Tue, 3 Mar 2015 19:20:11 +0000 (11:20 -0800)]
VP9: turn on tile-columns and frame-parallel-mode by default

Most of the current decoders use tile-based multithreading. Also
most of the current decoders need frame_parallel_decoding_mode
turned on to enable multithreaded decoding. tile-columns is
limited by resolution, so setting to max (6) is fine.

BUG=https://code.google.com/p/webm/issues/detail?id=963

Change-Id: I6e7ac3485d96bf0c69e06706cbb326dd38be0020

2 days agoAdapt color sensitiviy threshold to luma signal energy 10/73910/4
Yaowu Xu [Mon, 2 Mar 2015 23:35:58 +0000 (15:35 -0800)]
Adapt color sensitiviy threshold to luma signal energy

Instead using only a fixed threshold, this commit adapts the threshold
for color sensitivity decision to luma signal energy: chroma channel's
sse is at least 1/6 of that in luma for color sensitivity flag to be
set to active.

This recoups a large portion of the speed loss due to accounting for
chroma component costs in RTC mode decision.

Change-Id: Ie01f747f6037dba6a1d1ed3e10b71a0ef1abc42c

2 days agoRemove unnecessary loopfilter init. 82/73782/3
hkuang [Fri, 13 Feb 2015 19:49:26 +0000 (11:49 -0800)]
Remove unnecessary loopfilter init.

Loopfilters are init in vp9_decode_frame.

Change-Id: I4fbf6286b9b231451452e4ef3c19877a7b9a6768

2 days agofix a race condition caused by intra function pointer initialization 09/73909/2
Yunqing Wang [Tue, 3 Mar 2015 00:19:23 +0000 (16:19 -0800)]
fix a race condition caused by intra function pointer initialization

This patch fixed webm issue 962.
(https://code.google.com/p/webm/issues/detail?id=962)
The data races occurred when an encoder and a decoder were created
at the same time, and the function pointers were initialized twice.

Change-Id: I8851b753c4b4ad4767d6eea781b61f0ac9abb44b

2 days agoMerge "libyuv: update to r1305"
Johann [Tue, 3 Mar 2015 17:20:02 +0000 (09:20 -0800)]
Merge "libyuv: update to r1305"

3 days agoResizeCspTest: request PSNR packets 85/73885/3
James Zern [Fri, 27 Feb 2015 04:31:59 +0000 (20:31 -0800)]
ResizeCspTest: request PSNR packets

without VPX_CODEC_USE_PSNR they're only generated by default with
--enable-internal-stats

Change-Id: I9a5a8874a3aa4bde39ae09a4101ed5616c83c9a1

3 days agolibyuv: update to r1305 02/73902/1
Johann [Mon, 2 Mar 2015 23:19:19 +0000 (15:19 -0800)]
libyuv: update to r1305

MIPS build fixes

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

Change-Id: I9d53900af36d783c369b5dff27a7479cb94fd16b

4 days agoUse variance metric for integral projection vector match 91/73891/2
Jingning Han [Fri, 27 Feb 2015 21:35:22 +0000 (13:35 -0800)]
Use variance metric for integral projection vector match

This commit replaces the SAD with variance as metric for the
integral projection vector match. It improves the search accuracy
in the presence of slight light change. The average speed -6
compression performance for rtc set is improved by 1.7%. No speed
changes are observed for the test clips.

Change-Id: I71c1d27e42de2aa429fb3564e6549bba1c7d6d4d

6 days agoMerge "Fix source frame border extension"
Jingning Han [Sat, 28 Feb 2015 02:19:18 +0000 (18:19 -0800)]
Merge "Fix source frame border extension"

6 days agoFix source frame border extension 89/73889/1
Jingning Han [Fri, 27 Feb 2015 23:37:18 +0000 (15:37 -0800)]
Fix source frame border extension

This commit fixes an issue in source frame border extension. It
causes certain frame resolution such as 640x480 to have a portion
of the right/bottom extension filled by zeros, which misleads
motion search and degrades transform coding performance when large
block size is used.

This fix improves the speed 2 compression performance of a few
yt sequence, typically ranging from 1% - 2%, up to 5% at median
to low bit-rate.

Change-Id: Id6b09a5695d9e7651c6dfbc2c6a72288b08af7fb

6 days agoMerge "Fix calc_highbd_psnr"
Adrian Grange [Fri, 27 Feb 2015 23:42:08 +0000 (15:42 -0800)]
Merge "Fix calc_highbd_psnr"

6 days agoMerge "Make SVC compatible with external resize."
Alex Converse [Fri, 27 Feb 2015 22:37:48 +0000 (14:37 -0800)]
Merge "Make SVC compatible with external resize."

6 days agoFix calc_highbd_psnr 88/73888/2
Adrian Grange [Fri, 27 Feb 2015 22:02:49 +0000 (14:02 -0800)]
Fix calc_highbd_psnr

Should use the crop dimensions of the frame rather
than the extended size.

Change-Id: I49ed041a46ff0753d43e074020857b7ff2f95e17

6 days agoMerge "Fix arithmetic overflow warnings."
Marco [Fri, 27 Feb 2015 19:53:57 +0000 (11:53 -0800)]
Merge "Fix arithmetic overflow warnings."

6 days agoMerge "use LC_ALL=C to sort libvpx_*srcs.txt"
James Zern [Fri, 27 Feb 2015 18:59:59 +0000 (10:59 -0800)]
Merge "use LC_ALL=C to sort libvpx_*srcs.txt"

6 days agoMerge "Refactor integral projection based motion estimation"
Jingning Han [Fri, 27 Feb 2015 17:49:30 +0000 (09:49 -0800)]
Merge "Refactor integral projection based motion estimation"

6 days agoMerge "Fix high bit-depth loop-filter sse2 compiling issue - part 4"
Jingning Han [Fri, 27 Feb 2015 17:49:10 +0000 (09:49 -0800)]
Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 4"

6 days agoMerge "Fix high bit-depth loop-filter sse2 compiling issue - part 3"
Jingning Han [Fri, 27 Feb 2015 17:49:00 +0000 (09:49 -0800)]
Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 3"

6 days agoMerge "Fix high bit-depth loop-filter sse2 compiling issue - part 2"
Jingning Han [Fri, 27 Feb 2015 17:48:51 +0000 (09:48 -0800)]
Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 2"

6 days agoMerge "Fix high bit-depth loop-filter sse2 compiling issue - part 1"
Jingning Han [Fri, 27 Feb 2015 17:48:39 +0000 (09:48 -0800)]
Merge "Fix high bit-depth loop-filter sse2 compiling issue - part 1"

7 days agotest-data.mk: fix perf test data dependency 87/73887/1
James Zern [Fri, 27 Feb 2015 07:14:54 +0000 (23:14 -0800)]
test-data.mk: fix perf test data dependency

both the encode and decode perf tests require niklas_1280_720_30.yuv
broken since:
28eebf3 Merge "tests: add a shorter 720p test clip"
7839d03 tests: add a shorter 720p test clip

Change-Id: I51ebbf7261832e25d8f2c1da5c7df5c2e47f748e

7 days agouse LC_ALL=C to sort libvpx_*srcs.txt 86/73886/1
James Zern [Fri, 27 Feb 2015 04:48:40 +0000 (20:48 -0800)]
use LC_ALL=C to sort libvpx_*srcs.txt

Change-Id: I387da141ebade4fc4d2f3c0a2b6aa5aaea091c0c

7 days agotools_common.sh: use $$ in VPX_TEST_OUTPUT_DIR 84/73884/1
James Zern [Fri, 27 Feb 2015 02:30:24 +0000 (18:30 -0800)]
tools_common.sh: use $$ in VPX_TEST_OUTPUT_DIR

a bit simpler than invoking awk for rand()

Change-Id: I36ac474708f7bf0157ae59b882c2a9f69b0aaf41

7 days agoMerge "tools_common.sh: add directory name to error output"
James Zern [Thu, 26 Feb 2015 23:54:41 +0000 (15:54 -0800)]
Merge "tools_common.sh: add directory name to error output"

7 days agoFix arithmetic overflow warnings. 80/73880/3
Marco [Thu, 26 Feb 2015 22:27:16 +0000 (14:27 -0800)]
Fix arithmetic overflow warnings.

Change-Id: Ib85b5bc135aa0907a76b8c74faafe577e27d014f

7 days agoFix high bit-depth loop-filter sse2 compiling issue - part 3 55/73855/3
Jingning Han [Tue, 24 Feb 2015 20:43:06 +0000 (12:43 -0800)]
Fix high bit-depth loop-filter sse2 compiling issue - part 3

Change-Id: Idb14b9a285f8098126f967c5e2750221d6a58f69

7 days agoMerge "Fix the encoder to support profile change"
Yaowu Xu [Thu, 26 Feb 2015 23:13:28 +0000 (15:13 -0800)]
Merge "Fix the encoder to support profile change"

7 days agoMerge "Correct parameter order in a function call"
Yaowu Xu [Thu, 26 Feb 2015 23:13:06 +0000 (15:13 -0800)]
Merge "Correct parameter order in a function call"

7 days agoMerge "tests: add a shorter 720p test clip"
James Zern [Thu, 26 Feb 2015 22:51:44 +0000 (14:51 -0800)]
Merge "tests: add a shorter 720p test clip"

7 days agoRefactor integral projection based motion estimation 66/73866/3
Jingning Han [Mon, 23 Feb 2015 22:43:06 +0000 (14:43 -0800)]
Refactor integral projection based motion estimation

Support variable block size integral projection based motion
estimation.

Change-Id: Iee6d65e44df4480aa13fb7b84b9c91914b89caa1

7 days agotools_common.sh: add directory name to error output 78/73878/1
James Zern [Thu, 26 Feb 2015 20:57:30 +0000 (12:57 -0800)]
tools_common.sh: add directory name to error output

+ add a helper function to reduce the duplication

this is a bit clearer when the environment variable is set, but the
directory is missing

Change-Id: I08f9b56122b5741bb40a5f795f7f82f5b49f1047

7 days agoFix high bit-depth loop-filter sse2 compiling issue - part 2 54/73854/3
Jingning Han [Tue, 24 Feb 2015 20:21:04 +0000 (12:21 -0800)]
Fix high bit-depth loop-filter sse2 compiling issue - part 2

Change-Id: I6728b69bb3dff1daa64ff7142f691e80a089f1c4

7 days agoFix the encoder to support profile change 72/73872/4
Yaowu Xu [Wed, 25 Feb 2015 23:39:09 +0000 (15:39 -0800)]
Fix the encoder to support profile change

Change-Id: Iefb928ad1174e274409facfb44f80265ff0f7683

7 days agoCorrect parameter order in a function call 77/73877/1
Yaowu Xu [Thu, 26 Feb 2015 19:39:57 +0000 (11:39 -0800)]
Correct parameter order in a function call

Change-Id: Ibd87db1c4371edcbe193d39df2fdc07d3842c21a

7 days agoMerge "Account for rate error in GF group Q calculation."
paulwilkins [Thu, 26 Feb 2015 16:20:08 +0000 (08:20 -0800)]
Merge "Account for rate error in GF group Q calculation."

8 days agotests: add a shorter 720p test clip 73/73873/1
James Zern [Thu, 26 Feb 2015 03:09:59 +0000 (19:09 -0800)]
tests: add a shorter 720p test clip

niklas_1280_720_30.y4m 60 frames @ 30fps
only a small number of frames are being used; this reduces the test data
download size in non-perf-test cases by >500M.
retain niklas_1280_720_30.yuv for encode+decode perf tests

Change-Id: I56b3433104acd462f952a9554280de5a3ec0b6d2

8 days agoMake SVC compatible with external resize. 69/73869/1
Alex Converse [Wed, 25 Feb 2015 22:05:51 +0000 (14:05 -0800)]
Make SVC compatible with external resize.

Fixes https://code.google.com/p/webm/issues/detail?id=943

Change-Id: I6177bf6ab6b31a22d2652732f579b8aed3f28887

8 days agoMerge "Motion compensated reference refinement"
Jingning Han [Wed, 25 Feb 2015 20:33:09 +0000 (12:33 -0800)]
Merge "Motion compensated reference refinement"

8 days agoMerge "Re-distribute hierarchical vector match pattern"
Jingning Han [Wed, 25 Feb 2015 18:33:25 +0000 (10:33 -0800)]
Merge "Re-distribute hierarchical vector match pattern"

8 days agoMotion compensated reference refinement 51/73851/3
Jingning Han [Mon, 23 Feb 2015 20:33:24 +0000 (12:33 -0800)]
Motion compensated reference refinement

This commit applies one-step refinement search to the resulting
motion vector of the integral projectiion based motion estimation,
per 64x64 block. It improves the coding performance of speed -6.

pedestrian 1080p 500 kbps
51735 b/f, 36.794 dB, 16044 ms ->
51382 b/f, 36.793 dB, 16282 ms

cloud 1080p 500 kbps
24081 b/f, 37.988 dB, 14016 ms ->
23597 b/f, 38.076 dB, 12774 ms

vidyo1 720p 1000 kbps
16552 b/f, 40.514 dB, 8279 ms ->
16553 b/f, 40.543 dB, 8510 ms

The rtc set compression performance is improved by 0.5%.

Change-Id: I3d09bea2caf58b2a4f3b38aa26fffafcbe9a2c17

8 days agoMerge "Fix a trivial memory leak"
Yaowu Xu [Wed, 25 Feb 2015 18:26:44 +0000 (10:26 -0800)]
Merge "Fix a trivial memory leak"

8 days agoMerge "Fix ssse3 quantize_fp functions while skip=1"
Yunqing Wang [Wed, 25 Feb 2015 18:10:10 +0000 (10:10 -0800)]
Merge "Fix ssse3 quantize_fp functions while skip=1"

8 days agoFix high bit-depth loop-filter sse2 compiling issue - part 1 53/73853/6
Jingning Han [Tue, 24 Feb 2015 20:04:09 +0000 (12:04 -0800)]
Fix high bit-depth loop-filter sse2 compiling issue - part 1

The intrinsic statement _mm_subs_epi16() should take immediate.
Feeding variable as its input argument will cause compile failure
in older version gcc.

Change-Id: I6a71efcc8d3b16b84715e0a9bcfa818494eea3f4

8 days agoMerge "Fix fwd transform sse2 build issue on older gcc version"
Jingning Han [Wed, 25 Feb 2015 17:32:00 +0000 (09:32 -0800)]
Merge "Fix fwd transform sse2 build issue on older gcc version"

9 days agoFix fwd transform sse2 build issue on older gcc version 12/73812/7
Jingning Han [Fri, 20 Feb 2015 19:39:05 +0000 (11:39 -0800)]
Fix fwd transform sse2 build issue on older gcc version

Change-Id: I3e0e53d129552babf29e6c5d047483733983973c

9 days agoMerge "vp9_loopfilter: quiet integer constant size warnings"
James Zern [Wed, 25 Feb 2015 03:09:32 +0000 (19:09 -0800)]
Merge "vp9_loopfilter: quiet integer constant size warnings"

9 days agoFix a trivial memory leak 57/73857/3
Hanno Böck [Tue, 24 Feb 2015 23:48:21 +0000 (15:48 -0800)]
Fix a trivial memory leak

Change-Id: I1108d720bb3b30586b128dd01ce608e1e62b1756

9 days agoFix high bit-depth loop-filter sse2 compiling issue - part 4 56/73856/2
Jingning Han [Tue, 24 Feb 2015 22:48:12 +0000 (14:48 -0800)]
Fix high bit-depth loop-filter sse2 compiling issue - part 4

Change-Id: I39f56f60425836f2e1ec07da71edd4810a4c78bb

9 days agoRe-distribute hierarchical vector match pattern 23/73823/4
Jingning Han [Mon, 23 Feb 2015 20:55:50 +0000 (12:55 -0800)]
Re-distribute hierarchical vector match pattern

This commit modifies the hierarchical vector match patter. It
avoids repeated SAD computation at same points. The function
vp9_vector_sad_sse2 is called 12 times per 64x64 block, instead
of 15 times as before. The effective coverage remains the same.

Change-Id: I91ad9d27d40db8963c907d02af84e10702136994

9 days agovp9_loopfilter: quiet integer constant size warnings 09/73809/2
James Zern [Fri, 20 Feb 2015 04:05:19 +0000 (20:05 -0800)]
vp9_loopfilter: quiet integer constant size warnings

mark uint64_t constants with 'ULL'

Change-Id: I7648e161b4004fba35e1fa7ab79e34cc19e39716

9 days agoFix ssse3 quantize_fp functions while skip=1 52/73852/1
Yunqing Wang [Tue, 24 Feb 2015 18:37:05 +0000 (10:37 -0800)]
Fix ssse3 quantize_fp functions while skip=1

In ssse3 functions, DEFINE_ARGS macro hard codes qcoeff and dqcoeff
to r3 and r4. If skip is 1, qcoeff and dqcoeff need to be loaded
from the stack, which doesn't work because of the above definitions.
Currently, skip=1 case is not used in the encoder. This patch fixed
the issue, so it can be turned on later.

Change-Id: I998d696b1a7a85dca2b3bcee790b21c21e039147

10 days agofix the propagation of color space info in decoder 24/73824/1
Yaowu Xu [Mon, 23 Feb 2015 21:01:14 +0000 (13:01 -0800)]
fix the propagation of color space info in decoder

This addresses the issue #960

Change-Id: Iddf45b4bd4f53cb0ddfd879e800a071cd843b915

10 days agoAccount for rate error in GF group Q calculation. 11/73811/2
paulwilkins [Fri, 20 Feb 2015 13:41:25 +0000 (13:41 +0000)]
Account for rate error in GF group Q calculation.

When GF group adaptive maxQ is enabled this patch accounts
somewhat for accumulated error in the rate control.

This improves accuracy quite a bit on many clips especially
when there is  overshoot.

Examples when the overshoot and undershoot command line
parameters are set to 100:

Hall @ 1200 overshoot is reduced from 67-24%.
Akiyo @ 400 undershoot is reduced from 28%-15%.

Setting a lower value for undershoot or overshoot still
reduces the error further.

Impact on metrics is mixed with some gains in average psnr
but generally a little lower (e.g. 0.5%) on overall and ssim.

The GF group adaptation is still off by default in this patch.
Compared to with the head, enabling this mode now gives
big average psnr gains on the YT sets (e.g. YT_HD >11.2%),
a drop in overall PSNR (YT-HD 3.9%) and a smaller drop or
neutral for SSIM.

Change-Id: If4b32cd0740d3fb941317b374f9c2951954eee90

13 days agoMerge "Remove redundant test"
Adrian Grange [Sat, 21 Feb 2015 00:13:55 +0000 (16:13 -0800)]
Merge "Remove redundant test"

13 days agoMerge "Remove a few unneccessary multiplications in denoiser."
Marco [Fri, 20 Feb 2015 22:42:02 +0000 (14:42 -0800)]
Merge "Remove a few unneccessary multiplications in denoiser."

13 days agoRemove a few unneccessary multiplications in denoiser. 19/73819/1
Marco [Fri, 20 Feb 2015 19:54:28 +0000 (11:54 -0800)]
Remove a few unneccessary multiplications in denoiser.

Change-Id: I3edbb7cc67203fbbf32c6fd4a08015ca9d9ed53e

13 days agoMove dequant table from VP9_COMMON to VP9_COMP as decoder 14/73814/2
Hangyu Kuang [Fri, 20 Feb 2015 18:58:12 +0000 (10:58 -0800)]
Move dequant table from VP9_COMMON to VP9_COMP as decoder
does not need it any more.

This reduces VP9_COMMON size from 25776 bytes to 17584 bytes(~31%).

Change-Id: Ic5daea732ccefb6d512b048af7983f0efe08589b

13 days agoMerge "Adjustments to cyclic refresh (aq-mode=3)."
Marco [Fri, 20 Feb 2015 17:55:05 +0000 (09:55 -0800)]
Merge "Adjustments to cyclic refresh (aq-mode=3)."

13 days agoMerge "Add high bit depth support to rtc sub8x8 block coding"
Jingning Han [Fri, 20 Feb 2015 17:35:18 +0000 (09:35 -0800)]
Merge "Add high bit depth support to rtc sub8x8 block coding"

13 days agoAdjustments to cyclic refresh (aq-mode=3). 03/73603/17
Marco [Wed, 28 Jan 2015 19:34:24 +0000 (11:34 -0800)]
Adjustments to cyclic refresh (aq-mode=3).

Target higher delta-qp for big blocks with zero motion,
and for segment#1: avoid 64x64 partition size and force 8x8 tx size.

Metrics on RTC set mostly positive: SSIM up by ~4%, PSRN by ~1.5%.
Doesn't seem to be any change in speed.

Change-Id: I1f68fa3c4f62dab3b90cc58041f05ebb048ae5ac

13 days agoAdd high bit depth support to rtc sub8x8 block coding 02/73802/3
Jingning Han [Wed, 18 Feb 2015 23:48:40 +0000 (15:48 -0800)]
Add high bit depth support to rtc sub8x8 block coding

This commit adds proper buffer handle to support high bit depth
in rtc sub8x8 block coding.

Change-Id: Ibaf8a2160194121aec9ca68b8094817fed9ccaea

13 days agoMerge "Optimize the dequantization process on decoder side."
Hangyu Kuang [Fri, 20 Feb 2015 16:23:54 +0000 (08:23 -0800)]
Merge "Optimize the dequantization process on decoder side."

2 weeks agoMerge "Fix control string in firstpass stats fprintf"
Adrian Grange [Fri, 20 Feb 2015 00:36:43 +0000 (16:36 -0800)]
Merge "Fix control string in firstpass stats fprintf"

2 weeks agoOptimize the dequantization process on decoder side. 01/73801/7
Hangyu Kuang [Wed, 18 Feb 2015 23:32:24 +0000 (15:32 -0800)]
Optimize the dequantization process on decoder side.

Change-Id: I00621ff7165bbe86a18794b4a816976c9effaf78

2 weeks agoMerge "Improve skip_txfm thresholds in the non-rd mode selection"
Yunqing Wang [Thu, 19 Feb 2015 23:31:02 +0000 (15:31 -0800)]
Merge "Improve skip_txfm thresholds in the non-rd mode selection"

2 weeks agoFix control string in firstpass stats fprintf 08/73808/1
Adrian Grange [Thu, 19 Feb 2015 23:18:30 +0000 (15:18 -0800)]
Fix control string in firstpass stats fprintf

20 items in the control string but only 19 arguments.

Change-Id: I51dab9aa1c58c653b52395005a9cb41f09feb484