platform/upstream/libvpx.git
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 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 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 agoMerge "update vp9_thread.c"
James Zern [Fri, 11 Jul 2014 06:19:55 +0000 (23:19 -0700)]
Merge "update vp9_thread.c"

10 years agoMerge changes Ie241772d,I3c72e226
James Zern [Fri, 11 Jul 2014 04:11:40 +0000 (21:11 -0700)]
Merge changes Ie241772d,I3c72e226

* changes:
  tests: add API_REGISTER_STATE_CHECK
  call vp[89]_clear_system_state after longjmp

10 years agoMerge "Minor cleanup"
Yaowu Xu [Thu, 10 Jul 2014 23:39:48 +0000 (16:39 -0700)]
Merge "Minor cleanup"

10 years agoMerge "sh tests: Add support for running tested programs within another program."
Tom Finegan [Thu, 10 Jul 2014 23:16:06 +0000 (16:16 -0700)]
Merge "sh tests: Add support for running tested programs within another program."

10 years agoMerge "Add warning to temporal SVC test when temporal denoising is disabled."
Tom Finegan [Thu, 10 Jul 2014 22:34:30 +0000 (15:34 -0700)]
Merge "Add warning to temporal SVC test when temporal denoising is disabled."

10 years agosh tests: Add support for running tested programs within another program.
Tom Finegan [Thu, 10 Jul 2014 22:17:05 +0000 (15:17 -0700)]
sh tests: Add support for running tested programs within another program.

Specifying the --prefix command line arg executes all test programs within the
context of the prefix string, which is assigned to VPX_TEST_PREFIX.
All test functions updated to include VPX_TEST_PREFIX in their eval command.

Change-Id: I2e215cc8f216048edf3269db02a6b5660fe32318

10 years agoAdd warning to temporal SVC test when temporal denoising is disabled.
Tom Finegan [Thu, 10 Jul 2014 21:52:31 +0000 (14:52 -0700)]
Add warning to temporal SVC test when temporal denoising is disabled.

Change-Id: Ib3792aa93514ccaf06c5d3f737f6e9243096f61c

10 years agotests: add API_REGISTER_STATE_CHECK
James Zern [Thu, 10 Jul 2014 04:02:02 +0000 (21:02 -0700)]
tests: add API_REGISTER_STATE_CHECK

used to wrap API functions to ensure full environment consistency as
opposed to the renamed ASM_REGISTER_STATE_CHECK which is used with
assembly functions.
currently checks the FPU tag word in x86/x86_64 gcc builds to ensure
emms has been called.

Change-Id: Ie241772dbf903d33d516a1add4c8c6783f2e1490

10 years agocall vp[89]_clear_system_state after longjmp
James Zern [Thu, 10 Jul 2014 19:36:28 +0000 (12:36 -0700)]
call vp[89]_clear_system_state after longjmp

restore the environment post encode/decode failure

Change-Id: I3c72e2260a616432eaf1f9545d4fb4d8e45cc7b0

10 years agoupdate vp9_thread.c
James Zern [Wed, 9 Jul 2014 19:45:21 +0000 (12:45 -0700)]
update vp9_thread.c

pull the latest from libwebp.

Original source:
 http://git.chromium.org/webm/libwebp.git
 100644 blob 264210ba2807e4da47eb5d18c04cf869d89b9784 src/utils/thread.c

commit 46fd44c1042c9903b2f1ab87e9f200a13c7e702d
Author: James Zern <jzern@google.com>
Date:   Tue Jul 8 19:53:28 2014 -0700

    thread: remove harmless race on status_ in End()

    if a thread was still doing work when End() was called there'd be a race
    on worker->status_. in these cases, however, the specific value is
    meaningless as it would be >= OK and the thread would have been shut
    down properly, but we'll check 'impl_' instead to avoid any potential
    TSan/DRD reports.

    Change-Id: Ib93cbc226a099f07761f7bad765549dffb8054b1

Change-Id: Ib0ef25737b3c6d017fa74822e21ed58508230b91

10 years agoMerge "Refactor vp9_diamond_search_sad function"
Yunqing Wang [Thu, 10 Jul 2014 18:06:32 +0000 (11:06 -0700)]
Merge "Refactor vp9_diamond_search_sad function"

10 years agoMerge "Refactor refining_search_sad code"
Yunqing Wang [Thu, 10 Jul 2014 17:43:00 +0000 (10:43 -0700)]
Merge "Refactor refining_search_sad code"

10 years agoFix a bug in boundary checking.
hkuang [Thu, 10 Jul 2014 15:03:56 +0000 (08:03 -0700)]
Fix a bug in boundary checking.

Change-Id: Ifc741da9da6f61c8d3c1f675ec6b8a96570f877d

10 years agoRefactor vp9_diamond_search_sad function
Yunqing Wang [Thu, 10 Jul 2014 16:19:03 +0000 (09:19 -0700)]
Refactor vp9_diamond_search_sad function

Currently, vp9_diamond_search_sadx4() is only called when sse3 is
enabled, which is improper since sse2 optimization of sdx4df
functions are available. Changed to always use
vp9_diamond_search_sadx4().

Change-Id: I4b95d6b7a3c6c645783c373f0ba8d645ece24717

10 years agoMerge "vp9_decoder_remove: destroy common after thread shutdown"
James Zern [Thu, 10 Jul 2014 00:46:42 +0000 (17:46 -0700)]
Merge "vp9_decoder_remove: destroy common after thread shutdown"

10 years agovp9_loopfilter.c: cosmetics
James Zern [Wed, 9 Jul 2014 18:35:16 +0000 (11:35 -0700)]
vp9_loopfilter.c: cosmetics

- fix indent, spelling
- drop some whitespace in some comments
- add an assert in vp9_setup_mask, it shouldn't be called on decode
  error

Change-Id: Ic312a815e977a6f9cb81ceb7b039eeada76c5aa0

10 years agoRefactor refining_search_sad code
Yunqing Wang [Wed, 9 Jul 2014 23:50:11 +0000 (16:50 -0700)]
Refactor refining_search_sad code

There are sse2 optimization of sdx4df functions. Instead of calling
vp9_refining_search_sadx4 only when sse3 is enabled, call it always.

Change-Id: I24f93818f7d4209d1425039e0eb099ff9ff08fe9

10 years agoMinor cleanup
Yaowu Xu [Wed, 9 Jul 2014 22:42:10 +0000 (15:42 -0700)]
Minor cleanup

Change-Id: I3a3ceeeed489f8b1ccd7199ff97f3fb991bbf5a4

10 years agoRemove repetitive code in mcomp.c
Yunqing Wang [Wed, 9 Jul 2014 21:50:50 +0000 (14:50 -0700)]
Remove repetitive code in mcomp.c

Deleted vp9_find_best_sub_pixel_comp_tree(), and combined it in
vp9_find_best_sub_pixel_tree().

Change-Id: Ifb25763c8b19822df5537cc1daa76ce88dc3b056

10 years agoMerge "Adjust full-pixel search method in real-time mode"
Yunqing Wang [Wed, 9 Jul 2014 20:46:42 +0000 (13:46 -0700)]
Merge "Adjust full-pixel search method in real-time mode"

10 years agoMerge "Combined non-rd motion searchs into a single function"
Yaowu Xu [Wed, 9 Jul 2014 20:02:25 +0000 (13:02 -0700)]
Merge "Combined non-rd motion searchs into a single function"

10 years agoAdjust full-pixel search method in real-time mode
Yunqing Wang [Tue, 8 Jul 2014 21:52:47 +0000 (14:52 -0700)]
Adjust full-pixel search method in real-time mode

Use FAST_HEX in speed 5 and 6, which covers more points than
FAST_DIAMOND and improves motion search quality.

At speed 6, RTC set borg tests showed slight quality gain (psnr
gain: 0.143%, ssim gain: 0.226%). No noticeable encoding speed
change.

Change-Id: Ifa62875d9a52ee382ec494f271382bb77d8c67bf

10 years agoCombined non-rd motion searchs into a single function
Yaowu Xu [Wed, 2 Jul 2014 23:54:53 +0000 (16:54 -0700)]
Combined non-rd motion searchs into a single function

This commit combined the full pel and sub pel motion search into a
single function to avoid code duplication. The commit does not change
encoder outputs.

Change-Id: Ibe18342c4f64073bef20f9cf6c6ca0a20d01bf0d

10 years agoMerge "Re-design quantization process for 32x32 transform block"
Jingning Han [Wed, 9 Jul 2014 18:55:26 +0000 (11:55 -0700)]
Merge "Re-design quantization process for 32x32 transform block"

10 years agovpxenc: fix per-frame psnr/size output on a terminal
James Zern [Wed, 9 Jul 2014 18:38:00 +0000 (11:38 -0700)]
vpxenc: fix per-frame psnr/size output on a terminal

was previously being wiped out by the ctrl-K escape

Change-Id: I87d0de255a174f19e8912a65e519dad99d54a530

10 years agovp9_decoder_remove: destroy common after thread shutdown
James Zern [Wed, 9 Jul 2014 18:08:06 +0000 (11:08 -0700)]
vp9_decoder_remove: destroy common after thread shutdown

in a failure case the threads may still be running and share a reference
to VP9_COMMON

Change-Id: I867034b4b55f133663b8cbf6ca06e72acf952849

10 years agoMerge "Move vp9_thread.* to common."
hkuang [Wed, 9 Jul 2014 17:16:13 +0000 (10:16 -0700)]
Merge "Move vp9_thread.* to common."

10 years agoMerge "Vp9 denoiser MC bugfix"
Tim Kopp [Wed, 9 Jul 2014 15:02:20 +0000 (08:02 -0700)]
Merge "Vp9 denoiser MC bugfix"

10 years agoMerge "Fix decoder handling of intra-only frames"
Adrian Grange [Wed, 9 Jul 2014 14:37:28 +0000 (07:37 -0700)]
Merge "Fix decoder handling of intra-only frames"

10 years agoMerge "vp9_cx_iface.c: allow speed greater than 7"
Guillaume Martres [Wed, 9 Jul 2014 11:21:19 +0000 (04:21 -0700)]
Merge "vp9_cx_iface.c: allow speed greater than 7"

10 years agoMerge changes I2abd6716,I4a65f7f8
James Zern [Wed, 9 Jul 2014 02:01:39 +0000 (19:01 -0700)]
Merge changes I2abd6716,I4a65f7f8

* changes:
  cpu_speed_test: cosmetics
  aq_segment_test: cosmetics

10 years agoMerge "invalid_file_test: output error detail on mismatch"
James Zern [Wed, 9 Jul 2014 02:00:53 +0000 (19:00 -0700)]
Merge "invalid_file_test: output error detail on mismatch"

10 years agoRe-design quantization process for 32x32 transform block
Jingning Han [Mon, 7 Jul 2014 19:08:40 +0000 (12:08 -0700)]
Re-design quantization process for 32x32 transform block

This commit enables a new quantization process for 32x32 2D-DCT
transform coefficient blocks. It improves the compression
performance of speed 5 by 1.4%. The overall compression gains of
speed 5 due to the new quantization scheme is 4.7%. It also includes
the SSSE3 implementation of the 32x32 quantization process.

Change-Id: I0855b124fd6462418683f783f5bcb44255c9993b

10 years agoFix decoder handling of intra-only frames
Adrian Grange [Mon, 9 Jun 2014 22:22:17 +0000 (15:22 -0700)]
Fix decoder handling of intra-only frames

This patch fixes bug 633:
https://code.google.com/p/webm/issues/detail?id=633

The first decoded frame does not have to be a keyframe,
it could be an inter-frame that is coded intra-only.

This patch fixes the handling of intra-only frames.

A test vector has also been added that encodes 3
intra-only frames at the start of the clip. The
test vector was generated using the code in the
following patch:
https://gerrit.chromium.org/gerrit/#/c/70680/

Change-Id: Ib40b1dbf91aae2bc047e23c626eaef09d1860147

10 years agoVp9 denoiser MC bugfix
Tim Kopp [Mon, 7 Jul 2014 18:35:27 +0000 (11:35 -0700)]
Vp9 denoiser MC bugfix

In the previous version, only certain buffers in the macroblockd were saved and
the restored. In this version, all of the buffers are saved and restored. The
code was then rolled into a loop for readability.

Also contains a tiny fix for when the -DOUTPUT_YUV_DENOISED flag is used.

Change-Id: Id925ef8b3fa122ae88acfa1d9a1e4df45df83518

10 years agoMove abs() to where it is effective
Johann [Tue, 8 Jul 2014 20:57:49 +0000 (13:57 -0700)]
Move abs() to where it is effective

vp8/encoder/x86/denoising_sse2.c:35:10: error: taking the absolute value
of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]

Change-Id: I749ba8e6f55dbd9b822bfd4260a8397554f5e524

10 years agovp9_cx_iface.c: allow speed greater than 7
Guillaume Martres [Tue, 8 Jul 2014 13:52:33 +0000 (15:52 +0200)]
vp9_cx_iface.c: allow speed greater than 7

This makes it possible to use --rt --cpu-used=8.

Change-Id: I8b5bc4449b6e05d24d25145e35b4793501268c59

10 years agoMerge "Fix build for examples/vp8_multi_resolution_encoder."
Marco Paniconi [Tue, 8 Jul 2014 00:07:13 +0000 (17:07 -0700)]
Merge "Fix build for examples/vp8_multi_resolution_encoder."

10 years agoFix build for examples/vp8_multi_resolution_encoder.
Marco Paniconi [Mon, 7 Jul 2014 20:57:28 +0000 (13:57 -0700)]
Fix build for examples/vp8_multi_resolution_encoder.

Change-Id: I7ec4e0e05487fe80d93e31e0f6a21f326b5c7276

10 years agoMerge "Use the VP9 version of extend_borders"
Johann [Mon, 7 Jul 2014 22:20:37 +0000 (15:20 -0700)]
Merge "Use the VP9 version of extend_borders"

10 years agoMove vp9_thread.* to common.
hkuang [Mon, 7 Jul 2014 21:52:19 +0000 (14:52 -0700)]
Move vp9_thread.* to common.

Prepare for frame parallel decoding, the reference count buffers
need to be protected by mutex. Move vp9_thread.* to common
folder so that those buffers could use cross-platform mutex
from vp9_thread.*.

Change-Id: I541277cf15eefed6641555944f67f4a0bcdc8154

10 years agoMerge "Adds support for reading and writing 10/12-bit y4m"
Deb Mukherjee [Mon, 7 Jul 2014 19:36:28 +0000 (12:36 -0700)]
Merge "Adds support for reading and writing 10/12-bit y4m"

10 years agoMerge "Tune SSSE3 implementation of fast path quantization"
Jingning Han [Mon, 7 Jul 2014 19:07:09 +0000 (12:07 -0700)]
Merge "Tune SSSE3 implementation of fast path quantization"

10 years agoMerge "Remove an empty line"
Jingning Han [Mon, 7 Jul 2014 18:42:48 +0000 (11:42 -0700)]
Merge "Remove an empty line"

10 years agoTune SSSE3 implementation of fast path quantization
Jingning Han [Mon, 7 Jul 2014 18:04:37 +0000 (11:04 -0700)]
Tune SSSE3 implementation of fast path quantization

This commit further simplifies the SSSE3 implementation of the fast
path quantization process.

Change-Id: I5be3286ec0f1bd81d1cf5be3168fece6384fb9ca

10 years agoRemove an empty line
Jingning Han [Mon, 7 Jul 2014 17:28:05 +0000 (10:28 -0700)]
Remove an empty line

Change-Id: Id6eedc502c86433df1456dd994aee6bc9a1359a2

10 years agoCleanup motion search speed features.
Alex Converse [Tue, 1 Jul 2014 20:02:05 +0000 (13:02 -0700)]
Cleanup motion search speed features.

* Replace max_step_search_steps with constant MAX_MVSEARCH_STEPS
* Fold (reduce_first_step_size + speed > 5) into reduce_first_step_size
  replacing uses of reduce_first_step_size that don't add the speed
  check with zero.

Change-Id: Iae46395dbf3eaca138bf4d18b838a9e364b5a198

10 years agoMerge "Allow lossless skipping in RD mode decision."
Alex Converse [Mon, 7 Jul 2014 16:58:43 +0000 (09:58 -0700)]
Merge "Allow lossless skipping in RD mode decision."

10 years agoMerge "Neon version of vp8_denoiser_filter_uv()"
Scott LaVarnway [Mon, 7 Jul 2014 16:41:07 +0000 (09:41 -0700)]
Merge "Neon version of vp8_denoiser_filter_uv()"

10 years agoAdds support for reading and writing 10/12-bit y4m
Deb Mukherjee [Thu, 12 Jun 2014 23:53:13 +0000 (16:53 -0700)]
Adds support for reading and writing 10/12-bit y4m

The y4m extension used is the same as the one used in ffmpeg/x264.
The patch is adapted from the highbitdepth branch.

Also adds unit tests for y4m header parsing and md5 check
of the raw frame data, as well as y4m writing.

[build fix for Mac/VS by not using tuples with strings]

Change-Id: I40897ee37d289e4b6cea6fedc67047d692b8cb46

10 years agoMerge "Reverting "Adds support for reading and writing 10/12-bit y4m" for now because...
Dmitry Kovalev [Thu, 3 Jul 2014 19:59:31 +0000 (12:59 -0700)]
Merge "Reverting "Adds support for reading and writing 10/12-bit y4m" for now because of Mac Build Failure."

10 years agoMerge "Multi-arf: Add code to turn it on and off."
Paul Wilkins [Thu, 3 Jul 2014 09:16:49 +0000 (02:16 -0700)]
Merge "Multi-arf: Add code to turn it on and off."

10 years agoReverting "Adds support for reading and writing 10/12-bit y4m" for now because of...
Dmitry Kovalev [Thu, 3 Jul 2014 05:23:38 +0000 (22:23 -0700)]
Reverting "Adds support for reading and writing 10/12-bit y4m" for now because of Mac Build Failure.

This reverts commit 82dc1332af4b16d3e4ad3c4358498820637b7add

Change-Id: I824bf42bf47c7df6985c79e451d6af913030d374

10 years agoMerge "Cleanup vp9_rd."
Alex Converse [Thu, 3 Jul 2014 04:33:54 +0000 (21:33 -0700)]
Merge "Cleanup vp9_rd."

10 years agoMerge "Split vp9_rdopt into vp9_rdopt and vp9_rd."
Alex Converse [Thu, 3 Jul 2014 04:33:44 +0000 (21:33 -0700)]
Merge "Split vp9_rdopt into vp9_rdopt and vp9_rd."

10 years agoMerge "vpxdec: add --keep-going option"
James Zern [Thu, 3 Jul 2014 02:28:40 +0000 (19:28 -0700)]
Merge "vpxdec: add --keep-going option"

10 years agoMerge "Cleaning up and simplifying read_frame_stats()."
Dmitry Kovalev [Wed, 2 Jul 2014 22:56:50 +0000 (15:56 -0700)]
Merge "Cleaning up and simplifying read_frame_stats()."

10 years agoCleanup vp9_rd.
Alex Converse [Wed, 2 Jul 2014 22:54:36 +0000 (15:54 -0700)]
Cleanup vp9_rd.

Change-Id: I39a37335ba5b3a969d328afb1f425ddb2cf7ddda

10 years agoSplit vp9_rdopt into vp9_rdopt and vp9_rd.
Alex Converse [Wed, 2 Jul 2014 19:36:48 +0000 (12:36 -0700)]
Split vp9_rdopt into vp9_rdopt and vp9_rd.

vp9_rdopt is for making rd optimal mode decisions. vp9_rd is for all
other rd related routines. Anything used outside of making an rd optimal
decision belongs in rd.

Change-Id: I772a3073f7588bdf139f551fb9810b6864d8e64b

10 years agoCleaning up and simplifying read_frame_stats().
Dmitry Kovalev [Wed, 2 Jul 2014 20:03:20 +0000 (13:03 -0700)]
Cleaning up and simplifying read_frame_stats().

Change-Id: I262ecac02d376de83097bb40f744f5584e987603

10 years agoMerge "Fix rd threshold overflow issue"
Yunqing Wang [Wed, 2 Jul 2014 20:06:41 +0000 (13:06 -0700)]
Merge "Fix rd threshold overflow issue"

10 years agoMerge "VP9 denoiser implemented FILTER_BLOCK case"
Tim Kopp [Wed, 2 Jul 2014 19:48:28 +0000 (12:48 -0700)]
Merge "VP9 denoiser implemented FILTER_BLOCK case"

10 years agoMerge "VP9 denoising enabled by noise_sensitivity param"
Tim Kopp [Wed, 2 Jul 2014 19:45:34 +0000 (12:45 -0700)]
Merge "VP9 denoising enabled by noise_sensitivity param"

10 years agoFix rd threshold overflow issue
Yunqing Wang [Wed, 2 Jul 2014 19:16:27 +0000 (12:16 -0700)]
Fix rd threshold overflow issue

Moved the threshold adjustment before reference flag checking,
which could set the threshold to INT_MAX for disabled reference
frame, and cause overflow if the adjustment is done after that.

Change-Id: I85e94f8726d5e3ae93f65965aa978721dddc9957

10 years agoMerge "Replaced loops with vpx_memcpy()"
Tim Kopp [Wed, 2 Jul 2014 18:35:32 +0000 (11:35 -0700)]
Merge "Replaced loops with vpx_memcpy()"

10 years agoVP9 denoiser implemented FILTER_BLOCK case
Tim Kopp [Tue, 17 Jun 2014 20:04:39 +0000 (13:04 -0700)]
VP9 denoiser implemented FILTER_BLOCK case

Renamed updating_running_avg() to filter(). Extended function with the rest of
the filter procedure. Made all of the empirically-determined constants used in
VP8 into functions so they can be tweaked more easily.

Change-Id: I41730c8c92370c76885950a43742347477ca4e7e

10 years agoVP9 denoising enabled by noise_sensitivity param
Tim Kopp [Tue, 1 Jul 2014 18:05:16 +0000 (11:05 -0700)]
VP9 denoising enabled by noise_sensitivity param

As in VP8.

Currently, this parameter is set with the VP8E_SET_NOISE_SENSITIVITY flag.
The flag was not renamed so that we don't break the interface for webrtc. This
should probably be changed at some point in the future.

Change-Id: Ic73fcb0dde9d1d019e9d042050b617333ac65472

10 years agoReplaced loops with vpx_memcpy()
Tim Kopp [Tue, 1 Jul 2014 15:31:06 +0000 (08:31 -0700)]
Replaced loops with vpx_memcpy()

Change-Id: Icbe05657f0e92c3838e6a5a975f4f82d21328a2e

10 years agoMerge "Added a speed feature controlling a motion search parameter"
Yaowu Xu [Wed, 2 Jul 2014 17:31:51 +0000 (10:31 -0700)]
Merge "Added a speed feature controlling a motion search parameter"

10 years agoMulti-arf: Add code to turn it on and off.
Paul Wilkins [Mon, 30 Jun 2014 09:35:00 +0000 (10:35 +0100)]
Multi-arf: Add code to turn it on and off.

Add test code to turn multi-arf on and off depending
on group length and zero motion.

Changes to active max group length for mult-arf.

Fund second arf only from normal frame bits.

Change-Id: I920287fac1c886428c15a39f731a25d07c2b796c

10 years agoMerge "Adapt strength of AQ2."
Paul Wilkins [Wed, 2 Jul 2014 16:49:34 +0000 (09:49 -0700)]
Merge "Adapt strength of AQ2."

10 years agoAdded a speed feature controlling a motion search parameter
Yaowu Xu [Tue, 1 Jul 2014 17:52:17 +0000 (10:52 -0700)]
Added a speed feature controlling a motion search parameter

This commit added a speed feature to control the step_param used in
full pixel motion search. The intention is to reduced the search
steps for high speed real time coding.

Change-Id: I21d2f0105c2b647783a6688615da7fcf2b6d670b

10 years agoMerge "Store/read 16x16 block statistics obtained from the first pass"
Pengchong Jin [Wed, 2 Jul 2014 15:36:22 +0000 (08:36 -0700)]
Merge "Store/read 16x16 block statistics obtained from the first pass"

10 years agoAdapt strength of AQ2.
Paul Wilkins [Wed, 4 Jun 2014 13:14:14 +0000 (14:14 +0100)]
Adapt strength of AQ2.

Adapt the use of segmentation in AQ mode 2 based on
the ambient kf/arf/gf Q.

Disable segmentation where the rate per SB is very
low and overheads are likely to outweigh the benefits.

This patch reduces the -ve average metrics impact
of AQ mode 2 while allowing stronger 3 segment AQ
in some cases. Average improvement ~0.5-1.0%.

Change-Id: I5892dfcc7507c5cc6444531cc7fe17554cf8d0c7

10 years agoAdds support for reading and writing 10/12-bit y4m
Deb Mukherjee [Thu, 12 Jun 2014 23:53:13 +0000 (16:53 -0700)]
Adds support for reading and writing 10/12-bit y4m

The y4m extension used is the same as the one used in ffmpeg/x264.
The patch is adapted from the highbitdepth branch.

Also adds unit tests for y4m header parsing and md5 check
of the raw frame data, as well as y4m writing.

Change-Id: Ie2794daf6dbafd2f128464f9b9da520fc54c0dd6

10 years agoMerge "VP9 denoiser used s/int/enum where appropriate"
Tim Kopp [Wed, 2 Jul 2014 06:03:24 +0000 (23:03 -0700)]
Merge "VP9 denoiser used s/int/enum where appropriate"

10 years agoMerge "Denoised output is now grayscale"
Tim Kopp [Wed, 2 Jul 2014 06:03:07 +0000 (23:03 -0700)]
Merge "Denoised output is now grayscale"