platform/upstream/libvpx.git
10 years agoUse the chessboard pattern pred search in newmv mode
Jingning Han [Wed, 23 Jul 2014 18:47:56 +0000 (11:47 -0700)]
Use the chessboard pattern pred search in newmv mode

This commit extends the chessboard pattern prediction filter search.
If the above and left blocks have the same prediction filter type,
the encoder will skip the prediction filter type search and use the
reference one.

The overall chessboard pattern prediction filter type search reduces
speed 3 runtime for hard clips. Experiments on park joy at 1080p
and 15000 kbps show that the runtime goes from 723265 ms to 65832 ms,
i.e., about 10% speed-up. Compression performance wise, it affects
the coding quality by

Change-Id: I880975497c7ad166532e9eea9bf46684d77ff327
derf:    -0.326%
yt:      -0.257%
hd:      -0.241%
stdhd:   -0.417%

10 years agoRemove redundant num_refs definition
Jingning Han [Wed, 23 Jul 2014 16:29:04 +0000 (09:29 -0700)]
Remove redundant num_refs definition

Use is_comp_pred to replace the use case of num_refs.

Change-Id: I4d0c1e14d5f728428a2ae3d293cd2b4a8b2f31d8

10 years agoEnable chessboard inter prediction filter type search
Jingning Han [Tue, 22 Jul 2014 23:32:20 +0000 (16:32 -0700)]
Enable chessboard inter prediction filter type search

This commit enables a chessboard pattern prediction filter type
search scheme for rate-distortion optimization speed-up. For the
inferred motion vector modes, the encoder can re-use its above/left
neighbor blocks' prediction filter type and skip a full test on
all possible filter types. Such operation is turned on/off
alternatively in a chessboard manner.

It is turned on in speed 3. For test clip pedestrian 1080p, the
runtime is reduced from 231500 ms -> 221700 ms. The compression
performance is changed:
derf:  -0.147%
yt:    -0.134%
hd:    -0.079%
stdhd: -0.220%

Change-Id: I1912f278e7576c2dc632688e3ad7a257410c605a

10 years agoUSE local best_filter variable in handle_inter_mode
Jingning Han [Tue, 22 Jul 2014 18:32:17 +0000 (11:32 -0700)]
USE local best_filter variable in handle_inter_mode

This should be a local variable. Move the definition from
vp9_rd_pick_inter_mode_sb to handle_inter_mode.

Change-Id: I14f4168bb1c896ed04e8f6d4cd89fbf4c9839944

10 years agoTurn on adaptive pred filter scheme for sub8x8 below 720p
Jingning Han [Mon, 21 Jul 2014 23:22:56 +0000 (16:22 -0700)]
Turn on adaptive pred filter scheme for sub8x8 below 720p

For sequences of resolution below 720p, the encoder will check
intra prediction modes and inter prediction modes from LAST_FRAME.
This commit turns on adaptive prediction filter scheme for sub8x8
blocks, where inter prediction modes are enabled. For the test
sequence bus at CIF, the speed 2 runtime goes down from 17879 ms
to 16783 ms, i.e., 6% speed up. The compression performance of
derf set is down by -0.128%.

Change-Id: I01d5321a5ceab4e0666ac5be56c52d896c7a8d45

10 years agoMerge "VP9 denoiser fix: ref frames now updated properly"
Tim Kopp [Mon, 21 Jul 2014 15:28:41 +0000 (08:28 -0700)]
Merge "VP9 denoiser fix: ref frames now updated properly"

10 years agoy4m_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 02:03:08 +0000 (19:03 -0700)]
y4m_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I2ede16e0903a96225a342609545281fdbb83d638

10 years agovp9_subtract_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 02:02:37 +0000 (19:02 -0700)]
vp9_subtract_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I636012c74f5de91d594d7398e92343f5efe08327

10 years agosubtract_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 02:02:16 +0000 (19:02 -0700)]
subtract_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ic738b97d492f244c58989a0f73a4d763340ec274

10 years agosixtap_predict_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 02:01:46 +0000 (19:01 -0700)]
sixtap_predict_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ie59ddc080530d538e4ffb1d862844a84de926d92

10 years agosad_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:59:28 +0000 (18:59 -0700)]
sad_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I60746bc93ba2446c1458a1f09fd1e49cc2e68534

10 years agopp_filter_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:58:53 +0000 (18:58 -0700)]
pp_filter_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: If6cf006a089b0fb42d6bf050570d928d955d658a

10 years agopartial_idct_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:58:16 +0000 (18:58 -0700)]
partial_idct_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ied220e09fceef53039f234ebbb7e51c8e081c84e

10 years agointrapred_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:57:42 +0000 (18:57 -0700)]
intrapred_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I74d7489ea35f988fcfec3651bd16f02e688e406a

10 years agoidct_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:57:11 +0000 (18:57 -0700)]
idct_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I660a77c0c58ca64075c1051ea440fdf4d7c7e6af

10 years agofdct8x8_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:56:22 +0000 (18:56 -0700)]
fdct8x8_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Id2d43931e9b6e16aa4b8e5e346eee08505bdccfb

10 years agofdct4x4_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:55:40 +0000 (18:55 -0700)]
fdct4x4_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I796252a6f7f749b4faa969bbe7fe83eae64fa393

10 years agodecode_perf_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:55:08 +0000 (18:55 -0700)]
decode_perf_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I5fdd6319449364f2e930667d3bd54f68ba3cbb2e

10 years agodct32x32_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:54:31 +0000 (18:54 -0700)]
dct32x32_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ie1918d93c0a0d7a854e88b5a77b8c21b4cdc28b7

10 years agodct16x16_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:53:33 +0000 (18:53 -0700)]
dct16x16_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I4e6f293790922684402bfa9c22ec1ac2b9981a0e

10 years agoconvolve_test: drop '_t' from local typenames
James Zern [Thu, 17 Jul 2014 01:48:20 +0000 (18:48 -0700)]
convolve_test: drop '_t' from local typenames

_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I2a22ffc36e9f88781bc7db0d5a28a7ed924bab1a

10 years agoMerge "Re-introduce frame size check inadvertantly deleted"
Adrian Grange [Fri, 18 Jul 2014 23:33:50 +0000 (16:33 -0700)]
Merge "Re-introduce frame size check inadvertantly deleted"

10 years agoMerge "Use custom mkstemp() to fix Win issue in y4m_test"
Deb Mukherjee [Fri, 18 Jul 2014 23:30:06 +0000 (16:30 -0700)]
Merge "Use custom mkstemp() to fix Win issue in y4m_test"

10 years agoRe-introduce frame size check inadvertantly deleted
Adrian Grange [Fri, 18 Jul 2014 22:40:39 +0000 (15:40 -0700)]
Re-introduce frame size check inadvertantly deleted

This patch adds back in code that checks that the frame
size lies within defined bounds was inadvertantly removed
by a previous patch:
https://gerrit.chromium.org/gerrit/#/c/70814/

Change-Id: If526570ba559260c4b7e98098bc75f7700ae7f97

10 years agoUse custom mkstemp() to fix Win issue in y4m_test
Deb Mukherjee [Mon, 14 Jul 2014 20:31:29 +0000 (13:31 -0700)]
Use custom mkstemp() to fix Win issue in y4m_test

Uses mkstmp() with directory being the same as the test data
directory to create temporary output file. For Windows
GetTempFileNameA() function is used.

Change-Id: Ie4681b2b4f44f8c22d3b3faf134c44087b484f94

10 years agoVP9 denoiser fix: ref frames now updated properly
Tim Kopp [Fri, 18 Jul 2014 21:15:30 +0000 (14:15 -0700)]
VP9 denoiser fix: ref frames now updated properly

The ALT_REF_FRAME is now updated in the case of a KEY_FRAME in the VP9 denoiser.

Change-Id: Idf9a9772706f50e774fb240afcc01db38841043c

10 years agoDisable vp8_sixtap_predict4x4_neon
Johann [Fri, 18 Jul 2014 21:08:52 +0000 (14:08 -0700)]
Disable vp8_sixtap_predict4x4_neon

Crashing on iOS encodes
BUG=817

Change-Id: I2c50f8d359563d15a8b8002b6091184c0f9818af

10 years agoFix visual studio build failure
Yunqing Wang [Fri, 18 Jul 2014 19:29:12 +0000 (12:29 -0700)]
Fix visual studio build failure

Cast frame_size to be int for now to fix build warnings.

Change-Id: I411ba2b1fd429a383c8f6e832b4fa4147914c824

10 years agotemporal_svc sample encoder: setting for denoiser.
Marco Paniconi [Fri, 18 Jul 2014 17:39:34 +0000 (10:39 -0700)]
temporal_svc sample encoder: setting for denoiser.

Reset it as before commit: https://gerrit.chromium.org/gerrit/#/c/70855/

Change-Id: I93df163c4bb565fb30f0f5283ed71347d01153d3

10 years agoMerge "Fix FrameSizeTestsLarge unit-test on 32-bit arch."
Deb Mukherjee [Fri, 18 Jul 2014 10:49:30 +0000 (03:49 -0700)]
Merge "Fix FrameSizeTestsLarge unit-test on 32-bit arch."

10 years agoMerge "Separates profile 2 into 2 profiles 2 and 3"
Deb Mukherjee [Fri, 18 Jul 2014 10:23:51 +0000 (03:23 -0700)]
Merge "Separates profile 2 into 2 profiles 2 and 3"

10 years agoFix FrameSizeTestsLarge unit-test on 32-bit arch.
Deb Mukherjee [Fri, 18 Jul 2014 10:06:07 +0000 (03:06 -0700)]
Fix FrameSizeTestsLarge unit-test on 32-bit arch.

If the img allocation fails the test used to crash before on
32 bit architecture. This patch uses null check on img in
FillFrame. Also, if the first frame initialization has not been
conducted VPX_CODEC_ERROR is expected to return rather than
VPX_CODEC_OK.

Change-Id: I5c4e59c156374009012d280d6ff971a89b43c11f

10 years agoSeparates profile 2 into 2 profiles 2 and 3
Deb Mukherjee [Tue, 15 Jul 2014 08:54:29 +0000 (01:54 -0700)]
Separates profile 2 into 2 profiles 2 and 3

Separates HBD profile int two profiles (2 and 3) consistent with the
highbitdepth branch. This patch is ported from the original highbitdepth
branch patch: https://gerrit.chromium.org/gerrit/#/c/70460/

Two of the invalid file tests needed to be updated.

Change-Id: I6a4acd2f7a60b1fb4cbcc8e0dad4eab4248431e3

10 years agoMerge "iosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol"
James Zern [Fri, 18 Jul 2014 01:06:55 +0000 (18:06 -0700)]
Merge "iosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol"

10 years agoiosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol
Tom Finegan [Thu, 17 Jul 2014 23:47:31 +0000 (16:47 -0700)]
iosbuild.sh: Add VPX_FRAMEWORK_TARGET preproc symbol

Mainly for determining the actual arch when running performance
tests.

Change-Id: Ia6a1c4fcf83e6db1bf94f3e869d146ec32df02f8

10 years agoMerge "Fixed a bug of setting wrong first pass mb stats pointer"
Pengchong Jin [Thu, 17 Jul 2014 21:24:52 +0000 (14:24 -0700)]
Merge "Fixed a bug of setting wrong first pass mb stats pointer"

10 years agoMerge "Modified frame buffer handling"
Adrian Grange [Thu, 17 Jul 2014 19:15:16 +0000 (12:15 -0700)]
Merge "Modified frame buffer handling"

10 years agoFixed a bug of setting wrong first pass mb stats pointer
Pengchong Jin [Thu, 17 Jul 2014 18:54:43 +0000 (11:54 -0700)]
Fixed a bug of setting wrong first pass mb stats pointer

The bug sets the wrong pointer to the first pass mb stats
if the encoder does the re-coding in the second pass.

Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00

10 years agoMerge "Added vp9_sad64x64_neon(), vp9_sad32x32_neon()"
Scott LaVarnway [Thu, 17 Jul 2014 18:42:16 +0000 (11:42 -0700)]
Merge "Added vp9_sad64x64_neon(), vp9_sad32x32_neon()"

10 years agoModified frame buffer handling
Adrian Grange [Thu, 10 Jul 2014 22:35:51 +0000 (15:35 -0700)]
Modified frame buffer handling

This patch is the first step toward simplifying the
frame buffer handling.

The final goal is to have a common frame buffer handling
framework for both encoder and decoder that incorporates
the existing ability to use externally allocated memory.

Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1

10 years agoallow config options to limit max size of decode
Jim Bankoski [Thu, 17 Jul 2014 13:31:50 +0000 (06:31 -0700)]
allow config options to limit max size of decode

This is a practical concern to allow us to fail in a decoder instance
if the size of a file is bigger than we can reasonably handle.

Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393

10 years agofail allocation of buffers if size_t < frame_size
Jim Bankoski [Thu, 17 Jul 2014 13:33:29 +0000 (06:33 -0700)]
fail allocation of buffers if size_t < frame_size

Change-Id: I25c595e8c197ab0a9955d2373f1a74d42fbd1638

10 years agoMerge "Changes to rd balance and multi-arf bug fix."
Paul Wilkins [Thu, 17 Jul 2014 14:01:31 +0000 (07:01 -0700)]
Merge "Changes to rd balance and multi-arf bug fix."

10 years agoMerge "make default_interp_filter choice a speed feature"
Yaowu Xu [Thu, 17 Jul 2014 02:12:22 +0000 (19:12 -0700)]
Merge "make default_interp_filter choice a speed feature"

10 years agoMerge "New decode perf test files"
Joshua Litt [Wed, 16 Jul 2014 23:38:49 +0000 (16:38 -0700)]
Merge "New decode perf test files"

10 years agoNew decode perf test files
Joshua Litt [Wed, 16 Jul 2014 23:01:34 +0000 (16:01 -0700)]
New decode perf test files

Change-Id: I89ff8d4243e0438c8fe4ad74b9745c060b4460d8

10 years agoMerge "vp9_ratectrl.c: refactor get_active_quality usage"
Guillaume Martres [Wed, 16 Jul 2014 21:29:32 +0000 (14:29 -0700)]
Merge "vp9_ratectrl.c: refactor get_active_quality usage"

10 years agomake default_interp_filter choice a speed feature
Yaowu Xu [Wed, 16 Jul 2014 21:28:51 +0000 (14:28 -0700)]
make default_interp_filter choice a speed feature

This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed
feature with the same default value: SWITCHABLE.

Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1

10 years agoAdded vp9_sad64x64_neon(), vp9_sad32x32_neon()
Scott LaVarnway [Wed, 16 Jul 2014 19:54:46 +0000 (12:54 -0700)]
Added vp9_sad64x64_neon(), vp9_sad32x32_neon()

and vp9_sad16x16_neon()

On a Nexus 7, vpxenc (in realtime mode, speed -6)
reported a performance improvement of ~17%.

Change-Id: I91e070cde2973451083d3f3d63b49b7886de9a85

10 years agoMerge "invalid_file_test: add an operator<< for DecodeParam"
James Zern [Wed, 16 Jul 2014 19:05:34 +0000 (12:05 -0700)]
Merge "invalid_file_test: add an operator<< for DecodeParam"

10 years agoAdds support for raw yuv files for 422/444
Deb Mukherjee [Wed, 16 Jul 2014 16:37:13 +0000 (09:37 -0700)]
Adds support for raw yuv files for 422/444

Adds support for raw yuv inputs in 422/444 sampling for use
in profiles 1 and 3.
New options added to vpxenc are:
--i422 and --i444, which are to be used in conjunction with
--width, --height, and --fps for proper raw yuv handling.
A new option is added to vpxdec:
--rawvideo, which enforces raw yuv video output for the
bit-stream decoded irrespective of 420, 422 or 444 sampling.
The existing options --i420 and --yv12
are specialized for use only for 420 content.

Change-Id: I2e3028380709afa673bf2e2c25ad5e271a626055

10 years agoMerge "VP9 Denoiser denoises after mode/bsize search"
Tim Kopp [Wed, 16 Jul 2014 15:22:14 +0000 (08:22 -0700)]
Merge "VP9 Denoiser denoises after mode/bsize search"

10 years agoChanges to rd balance and multi-arf bug fix.
Paul Wilkins [Wed, 16 Jul 2014 10:21:27 +0000 (11:21 +0100)]
Changes to rd balance and multi-arf bug fix.

2 pass only change to calculation of rd mult based on Q.
Make a small adjustment based on frame type and also
replace adjustment based on iifactor with an one based
on the ambient GF/ARF boost level.

Also fix multi arf bug / issue.

Overall these change give an slight improvement in ssim
but hurt psnr a little.

Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e

10 years agoMerge "Renames interface field in VpxInterface"
Deb Mukherjee [Wed, 16 Jul 2014 06:01:51 +0000 (23:01 -0700)]
Merge "Renames interface field in VpxInterface"

10 years agoMerge "Added a rt speed 12"
Yaowu Xu [Wed, 16 Jul 2014 01:02:17 +0000 (18:02 -0700)]
Merge "Added a rt speed 12"

10 years agoMerge changes I58a5af33,Ied9b0392
James Zern [Wed, 16 Jul 2014 01:02:11 +0000 (18:02 -0700)]
Merge changes I58a5af33,Ied9b0392

* changes:
  vp8_bilinear_predict4x4_neon: init src vectors
  vp8_sixtap_predict4x4_neon: init src vectors

10 years agoRenames interface field in VpxInterface
Deb Mukherjee [Tue, 15 Jul 2014 23:55:12 +0000 (16:55 -0700)]
Renames interface field in VpxInterface

Renames interface to codec_interface since it is a reserved
word on windows.

Change-Id: I84f2cbf257a4c44f16dc2464127e35ee405c2c3e

10 years agoAdded a rt speed 12
Yaowu Xu [Tue, 15 Jul 2014 22:29:52 +0000 (15:29 -0700)]
Added a rt speed 12

We target this speed to achieve similar encoding speed and better
compression than vp8 rt mode with cpu-used at -12.

Change-Id: Ic1bb4371c81a17ea80e83459c1cbf4c09a3498e8

10 years agoMerge "[spatial svc]Fix signed/unsigned mismatch error"
Minghai Shang [Tue, 15 Jul 2014 20:08:08 +0000 (13:08 -0700)]
Merge "[spatial svc]Fix signed/unsigned mismatch error"

10 years agoMerge "Make non-rd pick_mode work with Golden/Altref"
Yaowu Xu [Tue, 15 Jul 2014 19:01:31 +0000 (12:01 -0700)]
Merge "Make non-rd pick_mode work with Golden/Altref"

10 years agoMerge "Fix show_existing_frame not decreasing frame buffer ref counter."
Adrian Grange [Tue, 15 Jul 2014 19:01:16 +0000 (12:01 -0700)]
Merge "Fix show_existing_frame not decreasing frame buffer ref counter."

10 years ago[spatial svc]Fix signed/unsigned mismatch error
Minghai Shang [Tue, 15 Jul 2014 18:22:28 +0000 (11:22 -0700)]
[spatial svc]Fix signed/unsigned mismatch error

Change-Id: I5e3b8b1b151bc14416577f85434182cba2302679

10 years agoFix show_existing_frame not decreasing frame buffer ref counter.
Alexander Voronov [Mon, 14 Jul 2014 12:36:21 +0000 (16:36 +0400)]
Fix show_existing_frame not decreasing frame buffer ref counter.

The issue was introduced by commit g7c43fb6. If current frame
is repeated from existing-ref pool, frame buffer ref counter
is not decreased, so buffer isn't released. Decoder fails being
unable to allocate new frame buffer at some point.

Added a test vector to verify that the condition will not
recur later. Test vector was generated by the code in this patch:
https://gerrit.chromium.org/gerrit/#/c/70862/

Change-Id: I8af96eb5b9670176e01a281d2e18bd458712cf78

10 years agoMerge "vp8: Allow for on/off control of UV temporal denoiser."
Marco Paniconi [Tue, 15 Jul 2014 18:05:54 +0000 (11:05 -0700)]
Merge "vp8: Allow for on/off control of UV temporal denoiser."

10 years agoMerge "active_map_test: remove unused VP9_FACTORY define"
Alex Converse [Tue, 15 Jul 2014 17:20:26 +0000 (10:20 -0700)]
Merge "active_map_test: remove unused VP9_FACTORY define"

10 years agovp8: Allow for on/off control of UV temporal denoiser.
Marco Paniconi [Tue, 15 Jul 2014 01:15:39 +0000 (18:15 -0700)]
vp8: Allow for on/off control of UV temporal denoiser.

Use noise_sensitivity level for enabling UV denoiser.

Change-Id: Ib208786a6fdf654981bcd96a3cf44e8e678025c1

10 years agoVP9 Denoiser denoises after mode/bsize search
Tim Kopp [Tue, 8 Jul 2014 15:36:25 +0000 (08:36 -0700)]
VP9 Denoiser denoises after mode/bsize search

In vp8, statistics are collected about the different modes as they are searched.
This process is more complicated due to the variable block size. Fields were
added to the PICM_MODE_CONTEXT struct to hold this information for each point in
the search. The information is then taken from the appropriate part of the tree
during denoising.

Change-Id: I89261ab77ad637821287ae157dfdf694702b8e77

10 years agoactive_map_test: remove unused VP9_FACTORY define
James Zern [Tue, 15 Jul 2014 01:59:16 +0000 (18:59 -0700)]
active_map_test: remove unused VP9_FACTORY define

Change-Id: If96a133ad83e3ed4e4b3620dff857b26641da892

10 years agoinvalid_file_test: add an operator<< for DecodeParam
James Zern [Tue, 15 Jul 2014 01:45:50 +0000 (18:45 -0700)]
invalid_file_test: add an operator<< for DecodeParam

Improves the --gtest_list_tests output and avoids a valgrind warning in
gtest's testing::internal2::PrintBytesInObjectTo() due to padding in the
structure.

old:
VP9/InvalidFileTest.
  ReturnCode/0  # GetParam() = (0x9d5308, 16-byte object <01-00 00-00 00-00 00-00 37-02 73-00 00-00 00-00>)

new:
VP9/InvalidFileTest.
  ReturnCode/0  # GetParam() = (0x9d5308, threads: 1 file: invalid-vp90-01-v2.webm)

Change-Id: Ifb9c66fba2e72272bd591a3f6273aeb6bda6af4a

10 years agoRewrite functions related to first pass block stats
Pengchong Jin [Mon, 14 Jul 2014 16:13:38 +0000 (09:13 -0700)]
Rewrite functions related to first pass block stats

Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53

10 years agoMerge "Some extra bit probability cleanups"
Deb Mukherjee [Tue, 15 Jul 2014 00:26:54 +0000 (17:26 -0700)]
Merge "Some extra bit probability cleanups"

10 years agoMerge "Fix a potential invalid memory access in non-RD coding flow"
Jingning Han [Tue, 15 Jul 2014 00:25:43 +0000 (17:25 -0700)]
Merge "Fix a potential invalid memory access in non-RD coding flow"

10 years agoMake non-rd pick_mode work with Golden/Altref
Yaowu Xu [Mon, 14 Jul 2014 21:51:33 +0000 (14:51 -0700)]
Make non-rd pick_mode work with Golden/Altref

This is to fix a reported issue #825:
https://code.google.com/p/webm/issues/detail?id=825

Change-Id: I196535aee81a8967551c058849d7f9c6874cb730

10 years agoMerge "Silent -wextra warnings"
Yaowu Xu [Mon, 14 Jul 2014 21:03:39 +0000 (14:03 -0700)]
Merge "Silent -wextra warnings"

10 years agoMerge "[spatial svc]Implement alt reference frames"
Minghai Shang [Mon, 14 Jul 2014 20:03:11 +0000 (13:03 -0700)]
Merge "[spatial svc]Implement alt reference frames"

10 years agoMerge "Misc. bit-depth related changes"
Deb Mukherjee [Mon, 14 Jul 2014 19:49:47 +0000 (12:49 -0700)]
Merge "Misc. bit-depth related changes"

10 years agoMisc. bit-depth related changes
Deb Mukherjee [Fri, 11 Jul 2014 18:43:31 +0000 (11:43 -0700)]
Misc. bit-depth related changes

Sets the bit-depth field as default 8 in the image structure in vp8.
Generalizes yuv read in preparation for support for reading 422/444
for 8-bit and 10/12-bit.

Change-Id: I560c13c348b122fd028e408431156376b895058c

10 years ago[spatial svc]Implement alt reference frames
Minghai Shang [Mon, 14 Jul 2014 18:24:17 +0000 (11:24 -0700)]
[spatial svc]Implement alt reference frames

All changes are for spatial svc only.
1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
2. Use golden reference idx for spatial reference
3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
4. Add "auto-alt-refs" in svc options
Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178

10 years agoMerge "Fix chrome valgrind warning due to the use of mismatched bsize"
Jingning Han [Sun, 13 Jul 2014 18:07:44 +0000 (11:07 -0700)]
Merge "Fix chrome valgrind warning due to the use of mismatched bsize"

10 years agoinvalid_file_test: convert test param from tuple to struct
James Zern [Sat, 12 Jul 2014 20:34:36 +0000 (13:34 -0700)]
invalid_file_test: convert test param from tuple to struct

fixes visual studio 9 + apple clang builds where the template type is
interpreted as char[] rather than const char*:

::f1_' : cannot specify explicit initializer for arrays
error: array initializer must be an initializer list or string literal

Change-Id: I27286ce341b2f7a09b6202caffd6b72f64fd2234

10 years agoSilent -wextra warnings
Yaowu Xu [Fri, 11 Jul 2014 23:27:21 +0000 (16:27 -0700)]
Silent -wextra warnings

1. vpxenc.c
2. y4minput.c

Change-Id: I1cfe1ef84a3eec11376976c09947fe6178ee039f

10 years agoMerge "Add unit test to test tile decoding error handling."
hkuang [Fri, 11 Jul 2014 23:09:41 +0000 (16:09 -0700)]
Merge "Add unit test to test tile decoding error handling."

10 years agoMerge "vp9_loopfilter.c: cosmetics"
James Zern [Fri, 11 Jul 2014 23:02:21 +0000 (16:02 -0700)]
Merge "vp9_loopfilter.c: cosmetics"

10 years agoMerge "vpxenc: fix per-frame psnr/size output on a terminal"
James Zern [Fri, 11 Jul 2014 22:53:05 +0000 (15:53 -0700)]
Merge "vpxenc: fix per-frame psnr/size output on a terminal"

10 years agoFix a potential invalid memory access in non-RD coding flow
Jingning Han [Fri, 11 Jul 2014 20:37:28 +0000 (13:37 -0700)]
Fix a potential invalid memory access in non-RD coding flow

This commit fixes a potential out-of-boundary memory access due to
the use of reuse_inter_pred_sby in the non-RD coding flow. It
resolves the corresponding asan error.

Change-Id: Iff605f5921230966990013541cd855d698810922

10 years agoFix chrome valgrind warning due to the use of mismatched bsize
Jingning Han [Thu, 10 Jul 2014 17:55:44 +0000 (10:55 -0700)]
Fix chrome valgrind warning due to the use of mismatched bsize

This commit fixes a mismatched use case of block size in non-RD
intra prediction check. The residual SSE and variance should be
calculated per transform block size, instead of operating block
size, which caused chrome valgrind warning on conditional jump
based on uninitialized value (webm issue 823). This commit
resolves this issue.

Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a

10 years agoAdd unit test to test tile decoding error handling.
hkuang [Tue, 1 Jul 2014 23:04:53 +0000 (16:04 -0700)]
Add unit test to test tile decoding error handling.

Also fix bugs related with corrupted frame handling.
Return VPX_CODEC_CORRUPT_FRAME when getting corrupted
block.

Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41

10 years agoMerge "Remove unnecessary assertions"
Yunqing Wang [Fri, 11 Jul 2014 20:47:03 +0000 (13:47 -0700)]
Merge "Remove unnecessary assertions"

10 years agoMerge "Code refactoring: use defined inline functions"
Yunqing Wang [Fri, 11 Jul 2014 20:46:46 +0000 (13:46 -0700)]
Merge "Code refactoring: use defined inline functions"

10 years agoSome extra bit probability cleanups
Deb Mukherjee [Fri, 11 Jul 2014 18:23:10 +0000 (11:23 -0700)]
Some extra bit probability cleanups

Refactoring to remove some duplication of probability
tables between tokenization and detokenization.

Change-Id: I2fc6a6497f9c0410021a9b41f828bc58a864e466

10 years agoMerge "Remove an unused parameter in vp9_init_search_range()"
Yaowu Xu [Fri, 11 Jul 2014 18:13:22 +0000 (11:13 -0700)]
Merge "Remove an unused parameter in vp9_init_search_range()"

10 years agoMerge "Re-factor and simplify arnr filter."
Adrian Grange [Fri, 11 Jul 2014 17:52:09 +0000 (10:52 -0700)]
Merge "Re-factor and simplify arnr filter."

10 years agoRemove unnecessary assertions
Yunqing Wang [Fri, 11 Jul 2014 17:48:57 +0000 (10:48 -0700)]
Remove unnecessary assertions

Removed 2 unnecessary assertions.

Change-Id: I0f8877d0494bf3ecdb0d7931ccbcaa8289e01d8b

10 years agoRemove an unused parameter in vp9_init_search_range()
Yaowu Xu [Fri, 11 Jul 2014 16:52:26 +0000 (09:52 -0700)]
Remove an unused parameter in vp9_init_search_range()

Change-Id: I3d9130e726a1299fd258f6dfe93315e2d12f76da

10 years agoCode refactoring: use defined inline functions
Yunqing Wang [Fri, 11 Jul 2014 17:30:25 +0000 (10:30 -0700)]
Code refactoring: use defined inline functions

Changed to use defined inline functions consistently through
the code.

Change-Id: I7644d24fa7a837378564a6e0790416d3725dd200

10 years agoRe-factor and simplify arnr filter.
Paul Wilkins [Thu, 3 Jul 2014 13:55:14 +0000 (14:55 +0100)]
Re-factor and simplify arnr filter.

Use a weaker filter for second level arf frames.
Average gain across all sets and metrics ~0.3%

Remove code for arnr_type which is no longer
supported in VP9 which always uses a centered blur.

Re-factor and some cleanup.

Change-Id: Ieb4b8940e99e4e02b3fcc9fca6f2d4109e6ed639

10 years agoRemove an unused parameter
Yaowu Xu [Fri, 11 Jul 2014 15:10:04 +0000 (08:10 -0700)]
Remove an unused parameter

Change-Id: I6ad6fd75dc3c9e6218d88148cf49e205398e2af5

10 years agovp8_bilinear_predict4x4_neon: init src vectors
James Zern [Fri, 11 Jul 2014 06:48:47 +0000 (23:48 -0700)]
vp8_bilinear_predict4x4_neon: init src vectors

quiets uninitialized warnings on the first load.

Change-Id: I58a5af337087d96b4eaea8991a0f85c4ba58aebe

10 years agovp8_sixtap_predict4x4_neon: init src vectors
James Zern [Fri, 11 Jul 2014 06:48:47 +0000 (23:48 -0700)]
vp8_sixtap_predict4x4_neon: init src vectors

quiets uninitialized warnings on the first load.

Change-Id: Ied9b03928537a9ed2cd414b9e8a0be00191b0f32

10 years agoMerge "update vp9_thread.c"
James Zern [Fri, 11 Jul 2014 06:19:55 +0000 (23:19 -0700)]
Merge "update vp9_thread.c"