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

10 years agoMerge "initialize bit buffer structure to avoid warning error"
Jim Bankoski [Mon, 30 Jun 2014 16:14:23 +0000 (09:14 -0700)]
Merge "initialize bit buffer structure to avoid warning error"

10 years agoMerge "vp8 denoiser fix: free memory of denoiser->denoiser_state."
Marco Paniconi [Mon, 30 Jun 2014 15:30:54 +0000 (08:30 -0700)]
Merge "vp8 denoiser fix: free memory of denoiser->denoiser_state."

10 years agoMerge "Implemented motion compensation for VP9 denoiser"
Tim Kopp [Mon, 30 Jun 2014 15:29:32 +0000 (08:29 -0700)]
Merge "Implemented motion compensation for VP9 denoiser"

10 years agoMerge "silence unused parm warning for worker thread in loop filter"
Jim Bankoski [Mon, 30 Jun 2014 15:08:53 +0000 (08:08 -0700)]
Merge "silence unused parm warning for worker thread in loop filter"

10 years agoMerge "remove unused parms from rd_pick_inter_mode_sb_seg_skip"
Jim Bankoski [Mon, 30 Jun 2014 15:08:41 +0000 (08:08 -0700)]
Merge "remove unused parms from rd_pick_inter_mode_sb_seg_skip"

10 years agoinitialize bit buffer structure to avoid warning error
Jim Bankoski [Mon, 30 Jun 2014 15:05:15 +0000 (08:05 -0700)]
initialize bit buffer structure to avoid warning error

Change-Id: I38bb2801ad3f059d5e2eb6513eec92397c67abcd

10 years agovp8 denoiser fix: free memory of denoiser->denoiser_state.
Marco Paniconi [Sun, 29 Jun 2014 23:43:56 +0000 (16:43 -0700)]
vp8 denoiser fix: free memory of denoiser->denoiser_state.

Change-Id: I86451ddfa90d871e46e5b4c97794dbef65293c6c

10 years agosilence unused parm warning for worker thread in loop filter
Jim Bankoski [Sun, 29 Jun 2014 16:30:59 +0000 (09:30 -0700)]
silence unused parm warning for worker thread in loop filter

Change-Id: Id51468f99f8970b8795ce2d254344f4b8d7817d0

10 years agoremove unused parms from rd_pick_inter_mode_sb_seg_skip
Jim Bankoski [Sun, 29 Jun 2014 16:23:21 +0000 (09:23 -0700)]
remove unused parms from rd_pick_inter_mode_sb_seg_skip

Change-Id: I7f989d197444d166133ad91eb23ac1033109f58d

10 years agoMerge "vp9: disable postproc buffer alloc when unnecessary"
James Zern [Sat, 28 Jun 2014 17:21:38 +0000 (10:21 -0700)]
Merge "vp9: disable postproc buffer alloc when unnecessary"

10 years agoMerge "Add a test using VP9E_SET_LOSSLESS"
James Zern [Sat, 28 Jun 2014 05:19:16 +0000 (22:19 -0700)]
Merge "Add a test using VP9E_SET_LOSSLESS"

10 years agolibs.mk: don't include x86inc.asm in codec src list
James Zern [Fri, 27 Jun 2014 23:40:39 +0000 (16:40 -0700)]
libs.mk: don't include x86inc.asm in codec src list

this file is an include and doesn't need to be built on its own.
fixes:
ranlib: file: libvpx_g.a(x86inc.asm.o) has no symbols

Change-Id: I89504e37ff0a4488489af7b9b7e09fb32acc4853

10 years agoAdd a test using VP9E_SET_LOSSLESS
Alex Converse [Fri, 27 Jun 2014 23:09:06 +0000 (16:09 -0700)]
Add a test using VP9E_SET_LOSSLESS

Change-Id: Ia9ac079d65fbd0a134e8d69c1f4ce171fe94bf64

10 years agoconfigure: defer x32 check until post toolchain setup
James Zern [Fri, 27 Jun 2014 22:33:39 +0000 (15:33 -0700)]
configure: defer x32 check until post toolchain setup

x32 would never be detected unless an explicit CC= was used
fixes:
...: -E: command not found

Change-Id: I465fd7b0979f782053bdda240ad68edbca5658e5

10 years agovp9: disable postproc buffer alloc when unnecessary
James Zern [Fri, 27 Jun 2014 22:08:07 +0000 (15:08 -0700)]
vp9: disable postproc buffer alloc when unnecessary

the buffer is only used in encoding and only when
CONFIG_INTERNAL_STATS or CONFIG_VP9_POSTPROC is enabled.
a future change should decouple this from the frame buffer allocation
and make it conditional based on runtime flags when the above config
options are enabled.
reduces decode heap usage by at least 12%

Change-Id: Id0b97620d4936afefa538d3aadf32106743d9caf

10 years agoMerge "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""
James Zern [Sat, 28 Jun 2014 03:53:57 +0000 (20:53 -0700)]
Merge "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:"""

10 years agoRevert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""
James Zern [Sat, 28 Jun 2014 00:31:01 +0000 (17:31 -0700)]
Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""

This reverts commit b336356198b8ada50fbb59f04f11cefceaf5ff95.

This causes a hang in:
VP9/InvalidFileTest.ReturnCode/3

the change to test/user_priv_test.cc remains with a minor update

Change-Id: I4a8a272ca37ea329b0f413f0b1cd827a238bd9fd

10 years agoMerge "Allow encoder to set lpf level to 0"
Yaowu Xu [Fri, 27 Jun 2014 23:47:16 +0000 (16:47 -0700)]
Merge "Allow encoder to set lpf level to 0"

10 years agoMerge "Added a new speed 7 in rt mode"
Yaowu Xu [Fri, 27 Jun 2014 23:47:06 +0000 (16:47 -0700)]
Merge "Added a new speed 7 in rt mode"

10 years agoMerge "Add a CPU speed test with screen content."
Alex Converse [Fri, 27 Jun 2014 23:32:52 +0000 (16:32 -0700)]
Merge "Add a CPU speed test with screen content."

10 years agoMerge "iosbuild.sh Add arm64 support to VPX.framework."
James Zern [Fri, 27 Jun 2014 23:20:38 +0000 (16:20 -0700)]
Merge "iosbuild.sh Add arm64 support to VPX.framework."

10 years agoMerge "configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin."
Tom Finegan [Fri, 27 Jun 2014 23:17:35 +0000 (16:17 -0700)]
Merge "configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin."

10 years agoMerge "fix: Only do spatial SVC when there are > 1 layers"
Tim Kopp [Fri, 27 Jun 2014 22:42:14 +0000 (15:42 -0700)]
Merge "fix: Only do spatial SVC when there are > 1 layers"

10 years agoMerge "VP9 denoiser: implemented update_frame_stats()"
Tim Kopp [Fri, 27 Jun 2014 22:41:51 +0000 (15:41 -0700)]
Merge "VP9 denoiser: implemented update_frame_stats()"

10 years agoAllow encoder to set lpf level to 0
Yaowu Xu [Fri, 27 Jun 2014 22:23:02 +0000 (15:23 -0700)]
Allow encoder to set lpf level to 0

As a way to speed-up rtc encoding at speed 7.

Change-Id: Ie36a010392cf7b741dc130df21a4e733622a75b7

10 years agoAdded a new speed 7 in rt mode
Yaowu Xu [Fri, 27 Jun 2014 17:05:24 +0000 (10:05 -0700)]
Added a new speed 7 in rt mode

To experiment with different speed/quality compromises.

Change-Id: Ia9d4b85243554d620498a327da37c356e752b07f

10 years agoMerge "[spatial svc] Remove encoding modes since we only need one mode at this time."
Minghai Shang [Fri, 27 Jun 2014 18:48:22 +0000 (11:48 -0700)]
Merge "[spatial svc] Remove encoding modes since we only need one mode at this time."

10 years agoMerge "[spatial svc]Remove key frame quantizer settings since key frame is decided...
Minghai Shang [Fri, 27 Jun 2014 18:48:16 +0000 (11:48 -0700)]
Merge "[spatial svc]Remove key frame quantizer settings since key frame is decided by rate control"

10 years agoMerge "Verify that the ouput of q0 is lossless in cpu speed test."
Alex Converse [Fri, 27 Jun 2014 18:09:14 +0000 (11:09 -0700)]
Merge "Verify that the ouput of q0 is lossless in cpu speed test."

10 years agoMerge "Better validation of invalid files"
Jim Bankoski [Fri, 27 Jun 2014 18:05:21 +0000 (11:05 -0700)]
Merge "Better validation of invalid files"

10 years agoAdd a CPU speed test with screen content.
Alex Converse [Thu, 26 Jun 2014 23:21:14 +0000 (16:21 -0700)]
Add a CPU speed test with screen content.

Encoding screen content exercises various fast skip paths that are
missed by natural video content.

Change-Id: Ie359884ef9be89cbe5dda6d82f1f79360604a090

10 years agoVerify that the ouput of q0 is lossless in cpu speed test.
Alex Converse [Thu, 26 Jun 2014 23:19:40 +0000 (16:19 -0700)]
Verify that the ouput of q0 is lossless in cpu speed test.

Change-Id: Ib94ee638eb486f1368f2e3098d25c1d3d28fc265

10 years agoMerge "vp8: bugfix in postproc vp8_de_noise."
Marco Paniconi [Fri, 27 Jun 2014 17:14:56 +0000 (10:14 -0700)]
Merge "vp8: bugfix in postproc vp8_de_noise."

10 years agoMerge "Add realtime coverage to cpu speed test"
Alex Converse [Fri, 27 Jun 2014 17:07:03 +0000 (10:07 -0700)]
Merge "Add realtime coverage to cpu speed test"

10 years agoMerge "Use UV prediction when deciding to skip in for lossless."
Alex Converse [Fri, 27 Jun 2014 17:06:54 +0000 (10:06 -0700)]
Merge "Use UV prediction when deciding to skip in for lossless."

10 years agoBetter validation of invalid files
Jim Bankoski [Fri, 27 Jun 2014 17:03:15 +0000 (10:03 -0700)]
Better validation of invalid files

This patch checks that a decoder never tries to reference frame that's
outside the range of 2x to 1/16th the size of this frame.  Any attempt
to do so causes a failure.

Change-Id: I5c98fa7bb95ac4f29146f29dd92b62fe96164e4c

10 years agovp8: bugfix in postproc vp8_de_noise.
Marco Paniconi [Fri, 27 Jun 2014 16:20:58 +0000 (09:20 -0700)]
vp8: bugfix in postproc vp8_de_noise.

Set the proper number of mb_rows/cols.
Also remove warnings (unused variable) when configured with temporal-denoising disabled.

Change-Id: I8abd2372394ee55295feb87a66efd294ea6989d0

10 years agoImplemented motion compensation for VP9 denoiser
Tim Kopp [Tue, 17 Jun 2014 20:01:34 +0000 (13:01 -0700)]
Implemented motion compensation for VP9 denoiser

Change-Id: Iee21eb0ecc5a1fe2c56fb3df0cee0ead6d139ed1

10 years agofix: Only do spatial SVC when there are > 1 layers
Tim Kopp [Thu, 26 Jun 2014 22:28:08 +0000 (15:28 -0700)]
fix: Only do spatial SVC when there are > 1 layers

Bug introduced in I930dced169c9d53f8044d2754a04332138347409. If
svc.number_temporal_layers == 1 and svc.number_spatial_layers == 1, the system
attempt to do spatial SVC. It no longer does that.

Change-Id: Ie6b130a72b1eea40c547c9a64447e40695f811c5

10 years agoVP9 denoiser: implemented update_frame_stats()
Tim Kopp [Tue, 17 Jun 2014 19:51:39 +0000 (12:51 -0700)]
VP9 denoiser: implemented update_frame_stats()

Also added reset_frame_stats()

Change-Id: I8e6ca00dbd5fa85cd39485d81c9343c0ff207d6c

10 years agoMerge "Multi-arf: Change ref buffer for primary arf."
Yaowu Xu [Fri, 27 Jun 2014 14:07:02 +0000 (07:07 -0700)]
Merge "Multi-arf: Change ref buffer for primary arf."

10 years agodenoising_sse2.c visual studio warnings/errors fix
Scott LaVarnway [Fri, 27 Jun 2014 12:00:26 +0000 (05:00 -0700)]
denoising_sse2.c visual studio warnings/errors fix

Fixed reported vs warnings/errors.

Change-Id: Ia4c44d64a69dbd9e1738c6ebb48be29582b7e1d3

10 years agoMulti-arf: Change ref buffer for primary arf.
Paul Wilkins [Thu, 26 Jun 2014 10:26:25 +0000 (11:26 +0100)]
Multi-arf: Change ref buffer for primary arf.

For the primary arf in a group, if multiple arfs
are enabled and we were using arfs in the previous
group, then allow the second arf from the previous
group to be used as an additional reference.

Change-Id: Iaf41706a52f54ef21548026851cd77100d6aebda

10 years agoAdd realtime coverage to cpu speed test
Alex Converse [Thu, 26 Jun 2014 23:16:38 +0000 (16:16 -0700)]
Add realtime coverage to cpu speed test

Change-Id: I33e8d1788ce29ffc695f7e9b84167ef446b1b56c

10 years agoAdaptive txfm size selection depending on residual sse/variance
Jingning Han [Wed, 25 Jun 2014 23:53:07 +0000 (16:53 -0700)]
Adaptive txfm size selection depending on residual sse/variance

This commit enables an adaptive transform size selection method
for speed -6. It uses largest transform size when the sse is more
than 4 times of variance, i.e., most energy is compacted in the
DC coefficient. Otherwise, use the default TX_8X8. It improves
the compression efficiency for rtc set of speed -6 by 0.8%, no
speed change observed.

Change-Id: Ie6ed1e728ff7bf88ebe940a60811361cdd19969c

10 years agoMerge "Skip the partition search for the frame with no motion"
Pengchong Jin [Thu, 26 Jun 2014 21:36:10 +0000 (14:36 -0700)]
Merge "Skip the partition search for the frame with no motion"

10 years agoUse UV prediction when deciding to skip in for lossless.
Alex Converse [Thu, 26 Jun 2014 19:55:37 +0000 (12:55 -0700)]
Use UV prediction when deciding to skip in for lossless.

Change-Id: Ic149749157d762039446d14472d40d9211c6451a

10 years agoMerge "vp8: Add temporal denoising for UV-channel."
Marco Paniconi [Thu, 26 Jun 2014 20:03:49 +0000 (13:03 -0700)]
Merge "vp8: Add temporal denoising for UV-channel."

10 years agoMerge "Add arm64-darwin-gcc target."
Tom Finegan [Thu, 26 Jun 2014 19:49:16 +0000 (12:49 -0700)]
Merge "Add arm64-darwin-gcc target."

10 years agoSkip the partition search for the frame with no motion
Pengchong Jin [Mon, 23 Jun 2014 20:00:16 +0000 (13:00 -0700)]
Skip the partition search for the frame with no motion

This patch allows the encoder to skip the partition search for the
frame if it is an inter frame and only zero motion vectors have
been detected in the first pass. The partition size is directly
assigned according to the difference variance.

Borg tests show overall little performance changes in term of PSNR
(derf -0.027%, yt 0.152%, hd 0.078%, stdhd 0%). The worst case of
PSNR loss is -0.514% from yt. The best PSNR gain is 4.293% from yt.
The second pass encoding speedup for slideshow clips is 15%-40%.

Change-Id: I881f347d286553ee5594a9ea09ba1a61ac684045

10 years agovp8: Add temporal denoising for UV-channel.
Scott LaVarnway [Wed, 25 Jun 2014 18:28:02 +0000 (11:28 -0700)]
vp8: Add temporal denoising for UV-channel.

C version and sse2 version, and off by default.
For the test clip used, the sse2 performance improved by ~5.6%

Change-Id: Ic2d815968849db51b9d62085d7a490d0e01574f6

10 years agoAdd arm64-darwin-gcc target.
Tom Finegan [Thu, 26 Jun 2014 01:32:16 +0000 (18:32 -0700)]
Add arm64-darwin-gcc target.

Change-Id: I251cca45db54d2947868e2b9c35cb54f86b10706

10 years agoMerge "Add const mark to const values in non-RD coding mode"
Jingning Han [Thu, 26 Jun 2014 18:00:34 +0000 (11:00 -0700)]
Merge "Add const mark to const values in non-RD coding mode"

10 years agoMerge "Enable real-time version reference motion vector search"
Jingning Han [Thu, 26 Jun 2014 18:00:25 +0000 (11:00 -0700)]
Merge "Enable real-time version reference motion vector search"

10 years agoEnable real-time version reference motion vector search
Jingning Han [Tue, 24 Jun 2014 17:45:31 +0000 (10:45 -0700)]
Enable real-time version reference motion vector search

This commit enables a fast reference motion vector search scheme.
It checks the nearest top and left neighboring blocks to decide the
most probable predicted motion vector. If it finds the two have
the same motion vectors, it then skip finding exterior range for
the second most probable motion vector, and correspondingly skips
the check for NEARMV.

The runtime of speed -5 goes down
pedestrian at 1080p 29377 ms -> 27783 ms
vidyo at 720p       11830 ms -> 10990 ms
i.e., 6%-8% speed-up.

For rtc set, the compression performance
goes down by about -1.3% for both speed -5 and -6.

Change-Id: I2a7794fa99734f739f8b30519ad4dfd511ab91a5

10 years agoAdd const mark to const values in non-RD coding mode
Jingning Han [Thu, 26 Jun 2014 16:41:21 +0000 (09:41 -0700)]
Add const mark to const values in non-RD coding mode

Change-Id: I65209fd1e06fc06833f6647cb028b414391a7017

10 years agoMerge "Fix quality regression for multi arf off case."
Paul Wilkins [Thu, 26 Jun 2014 16:41:40 +0000 (09:41 -0700)]
Merge "Fix quality regression for multi arf off case."

10 years agoMerge "Make non-RD intra mode search txfm size dependent"
Jingning Han [Thu, 26 Jun 2014 16:10:07 +0000 (09:10 -0700)]
Merge "Make non-RD intra mode search txfm size dependent"

10 years agoFix quality regression for multi arf off case.
Paul Wilkins [Thu, 26 Jun 2014 08:48:31 +0000 (09:48 +0100)]
Fix quality regression for multi arf off case.

Bug introduced during multiple iterations on: I3831*

gf_group->arf_update_idx[] cannot currently be used
to select the arf buffer index if buffer flipping on overlays
is enabled (still currently the case when multi arf OFF).

Change-Id: I4ce9ea08f1dd03ac3ad8b3e27375a91ee1d964dc

10 years agoMerge "Dual arf: Name changes."
Paul Wilkins [Thu, 26 Jun 2014 08:55:00 +0000 (01:55 -0700)]
Merge "Dual arf: Name changes."

10 years agoconfigure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin.
Tom Finegan [Thu, 26 Jun 2014 01:06:17 +0000 (18:06 -0700)]
configure.sh: Tweak default of use_x86inc for 64-bit, non-pic, and Darwin.

Mainly a readability fix.

Change-Id: Idfd4de9f25d9b9f9931d8e885d9d031473d5df6d

10 years agoiosbuild.sh Add arm64 support to VPX.framework.
Tom Finegan [Thu, 26 Jun 2014 01:45:15 +0000 (18:45 -0700)]
iosbuild.sh Add arm64 support to VPX.framework.

Change-Id: I30b1813b744c11c0ca4e84554539cc524e7ee034

10 years agoMake non-RD intra mode search txfm size dependent
Jingning Han [Wed, 25 Jun 2014 18:41:49 +0000 (11:41 -0700)]
Make non-RD intra mode search txfm size dependent

This commit fixes the potential issue in the non-RD mode decision
flow that only checks part of the block to estimate the cost. It
was due to the use of fixed transform size, in replacing the
largest transform block size. This commit enables per transform
block cost estimation of the intra prediction mode in the non-RD
mode decision.

Change-Id: I14ff92065e193e3e731c2bbf7ec89db676f1e132

10 years agoMerge changes I915beaef,I229dd6ca
James Zern [Wed, 25 Jun 2014 21:26:18 +0000 (14:26 -0700)]
Merge changes I915beaef,I229dd6ca

* changes:
  vp9cx.mk: move avx c files outside of x86inc block
  test.mk: remove renamed file

10 years agovp9cx.mk: move avx c files outside of x86inc block
James Zern [Wed, 25 Jun 2014 19:20:46 +0000 (12:20 -0700)]
vp9cx.mk: move avx c files outside of x86inc block

same reasoning as:
9f3a0db vp9_rtcd: correct avx2 references

these are all intrinsics, so don't depend on x86inc.asm

Change-Id: I915beaef318a28f64bfa5469e5efe90e4af5b827

10 years agoMerge "Revert "Revert 3 patches from Hangyu to get Chrome to build:""
hkuang [Wed, 25 Jun 2014 18:42:08 +0000 (11:42 -0700)]
Merge "Revert "Revert 3 patches from Hangyu to get Chrome to build:""

10 years agoRevert "Revert 3 patches from Hangyu to get Chrome to build:"
hkuang [Tue, 24 Jun 2014 21:22:09 +0000 (14:22 -0700)]
Revert "Revert 3 patches from Hangyu to get Chrome to build:"

This patch reverts the previous revert from Jim and also add a
variable user_priv in the FrameWorker to save the user_priv
passed from the application. In the decoder_get_frame function,
the user_priv will be binded with the img. This change is needed
or it will fail the unit test added here:
https://gerrit.chromium.org/gerrit/#/c/70610/

This reverts commit 9be46e4565f553460a1bbbf58d9f99067d3242ce.

Change-Id: I376d9a12ee196faffdf3c792b59e6137c56132c1

10 years agotest.mk: remove renamed file
James Zern [Wed, 25 Jun 2014 18:04:14 +0000 (11:04 -0700)]
test.mk: remove renamed file

vp90-2-15-fuzz-flicker.webm was renamed in:
c3db2d8 error check vp9 superframe parsing

Change-Id: I229dd6ca4c662802c457beea0f7b4128153a65dc

10 years agoMerge "Allow lossless breakout in non-rd mode decision."
Alex Converse [Wed, 25 Jun 2014 17:51:57 +0000 (10:51 -0700)]
Merge "Allow lossless breakout in non-rd mode decision."