]> granicus.if.org Git - libvpx/log
libvpx
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 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 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"

10 years agoMerge "vp8/bitstream.h: quiet warnings in EDSP builds"
James Zern [Wed, 2 Jul 2014 05:48:15 +0000 (22:48 -0700)]
Merge "vp8/bitstream.h: quiet warnings in EDSP builds"

10 years agoMerge changes I875ac5a7,I2b13369d,I9ceb47a9
James Zern [Wed, 2 Jul 2014 03:46:53 +0000 (20:46 -0700)]
Merge changes I875ac5a7,I2b13369d,I9ceb47a9

* changes:
  update vp9_thread.[hc]
  vp9_thread_test: remove unnecessary c_str()'s
  vp9_thread_test: factorize decode loop

10 years agoinvalid_file_test: output error detail on mismatch
James Zern [Wed, 2 Jul 2014 03:18:00 +0000 (20:18 -0700)]
invalid_file_test: output error detail on mismatch

Change-Id: I6abf139961fbb6a46db740dc023e26ac1e8e9305

10 years agovpxdec: add --keep-going option
James Zern [Wed, 2 Jul 2014 02:02:15 +0000 (19:02 -0700)]
vpxdec: add --keep-going option

for debugging purposes.
continues decoding after receiving a decode error. will still exit with
an error after the current loop, ignoring remaining --loops

Change-Id: I011a71b866ff493a3f3bbb59e9bff998d19daee3

10 years agoMerge "Re-design quantization process"
Yaowu Xu [Wed, 2 Jul 2014 02:04:01 +0000 (19:04 -0700)]
Merge "Re-design quantization process"

10 years agocpu_speed_test: cosmetics
James Zern [Wed, 2 Jul 2014 01:22:30 +0000 (18:22 -0700)]
cpu_speed_test: cosmetics

- add a virtual destructor
- fix formatting
- remove some unnecessary includes
- remove unused functions/defines/typedefs

Change-Id: I2abd671670cc89fa80edb466ff4bc1fee35b5e31

10 years agoaq_segment_test: cosmetics
James Zern [Wed, 2 Jul 2014 01:22:30 +0000 (18:22 -0700)]
aq_segment_test: cosmetics

- add a virtual destructor
- fix formatting
- remove some unnecessary includes
- remove unused functions/defines/typedefs

Change-Id: I4a65f7f85b2ff53645e4b0e97ca438c1e93dabc8

10 years agoRe-design quantization process
Jingning Han [Tue, 1 Jul 2014 23:10:44 +0000 (16:10 -0700)]
Re-design quantization process

This commit re-designs the quantization process for transform
coefficient blocks of size 4x4 to 16x16. It improves compression
performance for speed 7 by 3.85%. The SSSE3 version for the
new quantization process is included.

The average runtime of the 8x8 block quantization is reduced
from 285 cycles -> 255 cycles, i.e., over 10% faster.

Change-Id: I61278aa02efc70599b962d3314671db5b0446a50

10 years agoAllow lossless skipping in RD mode decision.
Alex Converse [Tue, 1 Jul 2014 23:54:41 +0000 (16:54 -0700)]
Allow lossless skipping in RD mode decision.

Change-Id: I2fc4ecfc2dd3ff1dd241a68c9ed4c280291b41f2

10 years agoMerge "Add a test that tests invalid partitions for profile 1"
Jim Bankoski [Tue, 1 Jul 2014 23:48:56 +0000 (16:48 -0700)]
Merge "Add a test that tests invalid partitions for profile 1"

10 years agoMerge "validate uv block size when reading partition"
Jim Bankoski [Tue, 1 Jul 2014 23:48:45 +0000 (16:48 -0700)]
Merge "validate uv block size when reading partition"

10 years agoStore/read 16x16 block statistics obtained from the first pass
Pengchong Jin [Mon, 30 Jun 2014 16:52:27 +0000 (09:52 -0700)]
Store/read 16x16 block statistics obtained from the first pass

Add a conditional compile flag for this feature. Also add a
switch to enable the encoder to use these statistics in the
second pass. Currently, the switch is turned off.

Change-Id: Ia1c858c35ec90e36f19f5cffe156b97ddaa04922

10 years agoMerge "Elevate NEWMV mode checking threshold in real time"
Yunqing Wang [Tue, 1 Jul 2014 23:05:51 +0000 (16:05 -0700)]
Merge "Elevate NEWMV mode checking threshold in real time"

10 years agoAdd a test that tests invalid partitions for profile 1
Jim Bankoski [Tue, 1 Jul 2014 22:37:26 +0000 (15:37 -0700)]
Add a test that tests invalid partitions for profile 1

Change-Id: I3d95fbe9a8098256582b5386881d5b7bbdb317ed

10 years agoMerge "vp9_thread_test: add 'Thread' to test names"
James Zern [Tue, 1 Jul 2014 22:25:45 +0000 (15:25 -0700)]
Merge "vp9_thread_test: add 'Thread' to test names"

10 years agoElevate NEWMV mode checking threshold in real time
Yunqing Wang [Tue, 1 Jul 2014 19:18:27 +0000 (12:18 -0700)]
Elevate NEWMV mode checking threshold in real time

The current threshold is knid of low, and in many cases NEWMV
mode is checked but not picked as the best mode. This patch
added a speed feature to increase NEWMV threshold, so that
less partition mode checking goes to check NEWMV. This feature
is enabled for speed 6 and 7.

Rtc set borg tests showed:
1. Speed 6, overall psnr: -0.088%, ssim: -1.339%;
   Average speedup on rtc set is 11.1%.
2. Speed 7, overall psnr: -0.505%, ssim: -2.320%
   Average speedup on rtc set is 12.9%.

Change-Id: I953b849eeb6e0d5a1f13eacba30c14204472c5be

10 years agoVP9 denoiser used s/int/enum where appropriate
Tim Kopp [Wed, 18 Jun 2014 16:05:32 +0000 (09:05 -0700)]
VP9 denoiser used s/int/enum where appropriate

Change-Id: Id52a7869fd1f31bb060de170e3295da7435adb9e

10 years agoDenoised output is now grayscale
Tim Kopp [Wed, 18 Jun 2014 15:30:07 +0000 (08:30 -0700)]
Denoised output is now grayscale

Grayscale is conditionally compiled.

Change-Id: I482ab237560d0bae8d397fd9999e78d38104f2a1

10 years agoAdd a new yuv444 testvector.
Alex Converse [Tue, 1 Jul 2014 18:00:18 +0000 (11:00 -0700)]
Add a new yuv444 testvector.

This refelects the profile 1 bitstream change in 6c54dbc.

Change-Id: I39625d88f236a79b7f2955d79c5a451e3753da16

10 years agoMerge "Fix visual studio build issue"
Dmitry Kovalev [Tue, 1 Jul 2014 17:30:39 +0000 (10:30 -0700)]
Merge "Fix visual studio build issue"

10 years agovalidate uv block size when reading partition
Jim Bankoski [Tue, 1 Jul 2014 17:26:26 +0000 (10:26 -0700)]
validate uv block size when reading partition

Change-Id: I74fc5f1a7bab3128cdd49441b83ec3a25aee65ca

10 years agoFix visual studio build issue
Yunqing Wang [Tue, 1 Jul 2014 15:58:05 +0000 (08:58 -0700)]
Fix visual studio build issue

Fixed the signed/unsigned mismatch.

Change-Id: Id83d603b8f1745b71f4cf695a0751e55518b1316

10 years agoupdate vp9_thread.[hc]
James Zern [Fri, 20 Jun 2014 04:14:51 +0000 (21:14 -0700)]
update vp9_thread.[hc]

pull the latest from WebP, which adds a worker interface abstraction
allowing an application to override init/reset/sync/launch/execute/end

this has the side effect of removing a harmless, but annoying, TSan
warning.

Original source:
 http://git.chromium.org/webm/libwebp.git
  100644 blob 08ad4e1fecba302bf1247645e84a7d2779956bc3 src/utils/thread.c
  100644 blob 7bd451b124ae3b81596abfbcc823e3cb129d3a38 src/utils/thread.h

Local modifications:
 - s/WebP/VP9/g
 - camelcase functions -> lower with _'s
 - associate '*' with the variable, not the type

Change-Id: I875ac5a74ed873cbcb19a3a100b5e0ca6fcd9aed

10 years agovp9_thread_test: remove unnecessary c_str()'s
James Zern [Sun, 22 Jun 2014 02:38:52 +0000 (19:38 -0700)]
vp9_thread_test: remove unnecessary c_str()'s

EXPECT_EQ() works with strings

Change-Id: I2b13369d2aa7ff305ee516e6cb73bd099f8dead9

10 years agovp9_thread_test: factorize decode loop
James Zern [Sun, 22 Jun 2014 02:28:36 +0000 (19:28 -0700)]
vp9_thread_test: factorize decode loop

+ add a SCOPED_TRACE with the current filename

Change-Id: I9ceb47a9154bc0d9f9878a83b707e8ed935790f9

10 years agovp9_thread_test: add 'Thread' to test names
James Zern [Sun, 22 Jun 2014 02:16:14 +0000 (19:16 -0700)]
vp9_thread_test: add 'Thread' to test names

s/VP9DecodeMTTest/VP9DecodeMultiThreadedTest/

this enables simpler test filtering

Change-Id: I010a451cf32fa5a95db6734cc22f331f0a0d515a

10 years agovp8/bitstream.h: quiet warnings in EDSP builds
James Zern [Tue, 1 Jul 2014 06:29:34 +0000 (23:29 -0700)]
vp8/bitstream.h: quiet warnings in EDSP builds

fixes:
vp8\encoder\bitstream.h: same type qualifier used more than once

Change-Id: I62b99342131fdaedb1f7cc8d2dcd13ab34637cd7

10 years agoMerge "libs.mk: don't include x86inc.asm in codec src list"
James Zern [Tue, 1 Jul 2014 05:57:00 +0000 (22:57 -0700)]
Merge "libs.mk: don't include x86inc.asm in codec src list"

10 years agoMerge "Revert "Fix a bug in VP9Worker which leads to unit test hang.""
James Zern [Tue, 1 Jul 2014 00:50:45 +0000 (17:50 -0700)]
Merge "Revert "Fix a bug in VP9Worker which leads to unit test hang.""

10 years agoMerge "BITSTREAM: Handle transform size and motion vectors more logically for non...
Alex Converse [Tue, 1 Jul 2014 00:44:01 +0000 (17:44 -0700)]
Merge "BITSTREAM: Handle transform size and motion vectors more logically for non-420."

10 years agoRevert "Fix a bug in VP9Worker which leads to unit test hang."
hkuang [Mon, 30 Jun 2014 23:56:31 +0000 (16:56 -0700)]
Revert "Fix a bug in VP9Worker which leads to unit test hang."

The caller should reset the state instead of letting worker
to reset.

This reverts commit 34b2ce15f95ee0944ebe6d569e7a9179a7e4cc5b.

Change-Id: Idb546ea6386cffc44e98dee772900d21ab79710f

10 years agoMerge "Encode_breakout code refactoring"
Yunqing Wang [Mon, 30 Jun 2014 23:05:25 +0000 (16:05 -0700)]
Merge "Encode_breakout code refactoring"

10 years agoMerge "change to not force interp_type as SWITCHABLE"
Yaowu Xu [Mon, 30 Jun 2014 22:44:08 +0000 (15:44 -0700)]
Merge "change to not force interp_type as SWITCHABLE"

10 years agochange to not force interp_type as SWITCHABLE
Yaowu Xu [Mon, 30 Jun 2014 19:48:21 +0000 (12:48 -0700)]
change to not force interp_type as SWITCHABLE

Encoder still uses SWITCHABLE as default via DEFAULT_INTERP_FILTER,
but does not override the default if it is not SWITCHABLE.

Change-Id: I3c0f6653bd228381a623a026c66599b0a87d01d5

10 years agoMerge "Remove unused set_mode_info function"
Jingning Han [Mon, 30 Jun 2014 19:20:30 +0000 (12:20 -0700)]
Merge "Remove unused set_mode_info function"

10 years agoMerge "Fix a bug in VP9Worker which leads to unit test hang."
hkuang [Mon, 30 Jun 2014 18:32:11 +0000 (11:32 -0700)]
Merge "Fix a bug in VP9Worker which leads to unit test hang."

10 years agoEncode_breakout code refactoring
Yunqing Wang [Mon, 30 Jun 2014 18:16:48 +0000 (11:16 -0700)]
Encode_breakout code refactoring

Moved the encode_breakout_test out of vp9_pick_inter_mode().

Change-Id: I6966d0293ae5210a5a28b0e8debacb24d1c0d2d4

10 years agoRemove unused set_mode_info function
Jingning Han [Mon, 30 Jun 2014 16:49:48 +0000 (09:49 -0700)]
Remove unused set_mode_info function

When the frame is intra coded only, the encoder takes the RD
coding flow. Hence the function set_mode_info is not practically
in use. This commit removes it and the associated conditional
branches.

Change-Id: I1e42659ceb55b771ba712d1cdecacb446aa6460d

10 years agoFix a bug in VP9Worker which leads to unit test hang.
hkuang [Sat, 28 Jun 2014 17:19:35 +0000 (10:19 -0700)]
Fix a bug in VP9Worker which leads to unit test hang.

This fixes the hang in VP9/InvalidFileTest.ReturnCode/3
due to worker->had_error has not been reset after getting
error.

Change-Id: Ia3608225094758a2bd88f6ae4dd9dfd93bbaad27

10 years agoEnable encode breakout in real time
Yunqing Wang [Sat, 28 Jun 2014 00:44:32 +0000 (17:44 -0700)]
Enable encode breakout in real time

For real time speed 7, once encode breakout is on(i.e. encoding
setting --static-thresh=1), a proper encode breakout threshold
is set to speed up the encoder.

Set --static-thresh=1, RTC set borg test showed a slight overall
psnr loss of 0.162%, but ssim gain of 0.287%. The average speedup
on RTC set is 6%, and for some clips, the speedup can be 10+%.

Change-Id: Id522d9ce779ff7c699936d13d0c47083de4afb85

10 years agoDecide the partitioning threshold from the variance histogram
Yunqing Wang [Thu, 1 May 2014 22:14:39 +0000 (15:14 -0700)]
Decide the partitioning threshold from the variance histogram

Before encoding a frame, calculate and store each 16x16 block's
variance of source difference between last and current frame.
Find partitioning threshold T for the frame from its variance
histogram, and then use T to make partition decisions.

Comparing with fixed 16x16 partitioning, rtc set test showed an
overall psnr gain of 3.242%, and ssim gain of 3.751%. The best
psnr gain is 8.653%.

The overall encoding speed didn't change much. It got faster for
some clips(for example, 12% speedup for vidyo1), and a little
slower for others.

Also, a minor modification was made in datarate unit test.

Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c