platform/upstream/libvpx.git
10 years agoMerge "Remove unused copy src frame function"
Johann [Wed, 30 Jul 2014 20:23:18 +0000 (13:23 -0700)]
Merge "Remove unused copy src frame function"

10 years agoMerge "Add test for vp8 copy frame"
Johann [Wed, 30 Jul 2014 20:22:50 +0000 (13:22 -0700)]
Merge "Add test for vp8 copy frame"

10 years agoMerge "vp9_cx_iface: defer compressed data buffer alloc"
James Zern [Wed, 30 Jul 2014 19:03:45 +0000 (12:03 -0700)]
Merge "vp9_cx_iface: defer compressed data buffer alloc"

10 years agoMerge "Neon version of vp9_quantize_fp()"
Frank Galligan [Wed, 30 Jul 2014 18:12:20 +0000 (11:12 -0700)]
Merge "Neon version of vp9_quantize_fp()"

10 years agoMerge changes I3513ae17,Ia0b51165,I461d8b3d
James Zern [Wed, 30 Jul 2014 18:04:26 +0000 (11:04 -0700)]
Merge changes I3513ae17,Ia0b51165,I461d8b3d

* changes:
  make testdata: look for other variants of sha1sum
  make testdata: fail if a sha1 fails or is missing
  test-data.sha1: add missing checksums

10 years agoMerge "decode_to_md5.sh: fix local md5 variable assignment"
James Zern [Wed, 30 Jul 2014 17:55:11 +0000 (10:55 -0700)]
Merge "decode_to_md5.sh: fix local md5 variable assignment"

10 years agodecode_to_md5.sh: fix local md5 variable assignment
James Zern [Wed, 30 Jul 2014 17:50:01 +0000 (10:50 -0700)]
decode_to_md5.sh: fix local md5 variable assignment

extract only the md5 + quote the result
fixes:
test/examples.sh: 47: local: img-176x144-0029.i420: bad variable name

Change-Id: I81c6a83c8a4e792a520fd7046c8eedcbd4af9a0c

10 years agoMerge "Fix to Visual Studio build error."
Marco Paniconi [Wed, 30 Jul 2014 17:33:35 +0000 (10:33 -0700)]
Merge "Fix to Visual Studio build error."

10 years agoMerge "Clean up max/min allowed block size in rd_pick_partition"
Jingning Han [Wed, 30 Jul 2014 17:05:26 +0000 (10:05 -0700)]
Merge "Clean up max/min allowed block size in rd_pick_partition"

10 years agoMerge "Use frame index directly in get_chessboard_index"
Jingning Han [Wed, 30 Jul 2014 17:05:03 +0000 (10:05 -0700)]
Merge "Use frame index directly in get_chessboard_index"

10 years agoMerge "clear up cfg unused warning in vp9_pick_inter_mode"
Jim Bankoski [Wed, 30 Jul 2014 16:56:33 +0000 (09:56 -0700)]
Merge "clear up cfg unused warning in vp9_pick_inter_mode"

10 years agoNeon version of vp9_quantize_fp()
Scott LaVarnway [Mon, 28 Jul 2014 12:47:55 +0000 (05:47 -0700)]
Neon version of vp9_quantize_fp()

On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~12.4%

Change-Id: Id29d215acf58bb108489e218a259adf74b4768d7

10 years agoFix to Visual Studio build error.
Marco Paniconi [Wed, 30 Jul 2014 16:13:11 +0000 (09:13 -0700)]
Fix to Visual Studio build error.

signed/unsigned mismatch from commit: 918011.

Change-Id: I6b9bb3618f8e72ea4cc0e6ba8fb9b13676985ed0

10 years agoclear up cfg unused warning in vp9_pick_inter_mode
Jim Bankoski [Wed, 30 Jul 2014 15:55:22 +0000 (08:55 -0700)]
clear up cfg unused warning in vp9_pick_inter_mode

Change-Id: Iefcf0a25aaf5e44e8e791839aa82d876555025e0

10 years agoNeon version of vp9_sub_pixel_variance16x16(),
Scott LaVarnway [Tue, 29 Jul 2014 23:47:34 +0000 (16:47 -0700)]
Neon version of vp9_sub_pixel_variance16x16(),

vp9_variance16x16(), and vp9_get16x16var().

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

Change-Id: Ib163aa99f56e680194aabe00dacdd7f0899a4ecb

10 years agomake testdata: look for other variants of sha1sum
James Zern [Wed, 30 Jul 2014 03:43:56 +0000 (20:43 -0700)]
make testdata: look for other variants of sha1sum

it's shasum / sha1 on osx, bsd variants

Change-Id: I3513ae1740adfb05e9b5777d27d445dafbd22413

10 years agomake testdata: fail if a sha1 fails or is missing
James Zern [Wed, 30 Jul 2014 03:31:23 +0000 (20:31 -0700)]
make testdata: fail if a sha1 fails or is missing

Change-Id: Ia0b51165d260e283f5338f290a39718e462aed55

10 years agotest-data.sha1: add missing checksums
James Zern [Wed, 30 Jul 2014 03:31:10 +0000 (20:31 -0700)]
test-data.sha1: add missing checksums

Change-Id: I461d8b3d7cb8f5d787f189dac9032220b089f05f

10 years agoMerge "Remove 'local' from configure and configure.sh"
James Zern [Wed, 30 Jul 2014 03:07:05 +0000 (20:07 -0700)]
Merge "Remove 'local' from configure and configure.sh"

10 years agoMerge "vpx_once: implement once() for OS/2"
James Zern [Wed, 30 Jul 2014 02:36:11 +0000 (19:36 -0700)]
Merge "vpx_once: implement once() for OS/2"

10 years agoMerge "Makefile: add -mstackrealign to CFLAGS on OS/2\r \r This prevents SIGSEGV of...
James Zern [Wed, 30 Jul 2014 02:21:24 +0000 (19:21 -0700)]
Merge "Makefile: add -mstackrealign to CFLAGS on OS/2\r \r This prevents SIGSEGV of test_libvpx.\r \r Change-Id: I788743841469f4141bc8d29b1d1a8683cb00655c\r"

10 years agoRemove 'local' from configure and configure.sh
KO Myung-Hun [Tue, 22 Jul 2014 02:09:27 +0000 (11:09 +0900)]
Remove 'local' from configure and configure.sh

'local' is not posix.

Change-Id: I46d7acfa574cbef686cee1b35022f5781485c3fa

10 years agovpx_once: implement once() for OS/2
KO Myung-Hun [Sat, 26 Jul 2014 05:53:59 +0000 (14:53 +0900)]
vpx_once: implement once() for OS/2

Change-Id: I9f736f299490464bbdbb6cd24ee6f5b46ad45ec6

10 years agovp9_cx_iface: defer compressed data buffer alloc
James Zern [Tue, 22 Jul 2014 01:27:58 +0000 (18:27 -0700)]
vp9_cx_iface: defer compressed data buffer alloc

currently the only way to know if multiple alt-refs are enabled is to
inspect the encoder instance.
this reduces the size of the allocation by 75% when not using multiple
alt-refs

Change-Id: Ie4baa240c2897e64b766c6ad229674884b5a65b6

10 years agoMerge "Remove the redundant index computation in the first pass"
Pengchong Jin [Tue, 29 Jul 2014 21:27:24 +0000 (14:27 -0700)]
Merge "Remove the redundant index computation in the first pass"

10 years agoMerge "vp8: Add an aggressive denoising mode."
Marco Paniconi [Tue, 29 Jul 2014 18:23:25 +0000 (11:23 -0700)]
Merge "vp8: Add an aggressive denoising mode."

10 years agovp8: Add an aggressive denoising mode.
Marco Paniconi [Thu, 24 Jul 2014 19:54:38 +0000 (12:54 -0700)]
vp8: Add an aggressive denoising mode.

Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522

10 years agoClean up max/min allowed block size in rd_pick_partition
Jingning Han [Tue, 29 Jul 2014 18:03:00 +0000 (11:03 -0700)]
Clean up max/min allowed block size in rd_pick_partition

This commit replace the repetitive retrieve of max and min allowed
partition from speed_feature with local variables max_size and
min_size.

Change-Id: Ib06f11f16615e4876e4dd5fb6a968c6bf5f7b216

10 years agoUse frame index directly in get_chessboard_index
Jingning Han [Fri, 25 Jul 2014 23:43:27 +0000 (16:43 -0700)]
Use frame index directly in get_chessboard_index

The get_chessboard_index() used to call the entire VP9_COMMON
struct pointer to retrieve the chessboard pattern index. This cl
makes it call the frame index directly.

Change-Id: I3cad9d209ea2e77a358085a04fe1ff0ddec5ba03

10 years agoAdded vp9_fdct8x8_neon(), vp9_fdct8x8_1_neon()
Scott LaVarnway [Mon, 28 Jul 2014 22:21:10 +0000 (15:21 -0700)]
Added vp9_fdct8x8_neon(), vp9_fdct8x8_1_neon()

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

Change-Id: I428c72c40df82c6d537955e320a8debf99343004

10 years agoMakefile: add -mstackrealign to CFLAGS on OS/2
KO Myung-Hun [Tue, 22 Jul 2014 01:48:36 +0000 (10:48 +0900)]
Makefile: add -mstackrealign to CFLAGS on OS/2

This prevents SIGSEGV of test_libvpx.

Change-Id: I788743841469f4141bc8d29b1d1a8683cb00655c

10 years agoRemove the redundant index computation in the first pass
Pengchong Jin [Mon, 28 Jul 2014 23:04:36 +0000 (16:04 -0700)]
Remove the redundant index computation in the first pass

Remove the redundant index computation when store the first
pass block-wise statistics. Currently, a single byte is
allocated for a 16x16 blocks, and all the frame statistics
saved during the first pass will be kept in memory for use
in the second pass. For a 1920x1080 300-frame clip, it will
take about 2.3 MB memory. This feature is off in current
setting.

Change-Id: I135a95b348ec093d54c6a07e1e8237626909e3bd

10 years agoFix bug 805
levytamar82 [Thu, 24 Jul 2014 07:42:13 +0000 (00:42 -0700)]
Fix bug 805

Remove all the redundant dct functions (dct4x4, dct8x8)
in avx2 except dct32x32 those functions were copied originally from dct_sse2

Change-Id: I742576fbf5175f3ac09f2076976a9247b259323e

10 years agoMerge "Store block-wise statistics obtained in the first pass"
Pengchong Jin [Mon, 28 Jul 2014 21:49:05 +0000 (14:49 -0700)]
Merge "Store block-wise statistics obtained in the first pass"

10 years agoMerge "Fix reference frame size restrictions."
Jim Bankoski [Mon, 28 Jul 2014 16:47:57 +0000 (09:47 -0700)]
Merge "Fix reference frame size restrictions."

10 years agoStore block-wise statistics obtained in the first pass
Pengchong Jin [Fri, 25 Jul 2014 18:07:44 +0000 (11:07 -0700)]
Store block-wise statistics obtained in the first pass

Change-Id: I9956db2ba2f7d28f484daaf5022d8d1ef5db473c

10 years agoFix reference frame size restrictions.
Jim Bankoski [Mon, 28 Jul 2014 15:37:25 +0000 (08:37 -0700)]
Fix reference frame size restrictions.

The issue was introduced by commit g9f37d14 with adding explicit
restrictions on reference-frame scale factors. The restriction
is checked against aligned-by-8 frame dimensions, not against
original ones. So, for example, frame of 35×35 actually can refer
to frame of 70×70, but the new check won't allow this. It will
compare 35 vs 72 (not 70), so 2x downscale limit will be exceeded.

Change-Id: Ic663693034440f64ac8312cbff9e1e773a921060

10 years agoMerge "This removes a test that fails on 32 bit"
Jim Bankoski [Mon, 28 Jul 2014 14:17:27 +0000 (07:17 -0700)]
Merge "This removes a test that fails on 32 bit"

10 years agoRemove unused copy src frame function
Johann [Wed, 16 Jul 2014 15:42:32 +0000 (08:42 -0700)]
Remove unused copy src frame function

Change-Id: I03798e387a656473b6ec004246e2b882c8c6bb84

10 years agoAdd test for vp8 copy frame
Johann [Fri, 18 Jul 2014 20:53:53 +0000 (13:53 -0700)]
Add test for vp8 copy frame

Change-Id: Iddac0f263b283480315147c51deec2a2bbd7a1a7

10 years agoMerge "Fix rd_pick_partition search loop for 4x4 blocks"
Jingning Han [Fri, 25 Jul 2014 22:57:35 +0000 (15:57 -0700)]
Merge "Fix rd_pick_partition search loop for 4x4 blocks"

10 years agoMerge "Fix potential ioc issue in vp9_get_prob for 4K above sizes"
Jingning Han [Fri, 25 Jul 2014 22:56:53 +0000 (15:56 -0700)]
Merge "Fix potential ioc issue in vp9_get_prob for 4K above sizes"

10 years agoMerge "Remove unnecessary conditional assignment"
Jingning Han [Fri, 25 Jul 2014 22:56:31 +0000 (15:56 -0700)]
Merge "Remove unnecessary conditional assignment"

10 years agoMerge "[spatial svc]Fix reference issues"
Minghai Shang [Fri, 25 Jul 2014 20:24:27 +0000 (13:24 -0700)]
Merge "[spatial svc]Fix reference issues"

10 years agoMerge "Encode perf test"
Joshua Litt [Fri, 25 Jul 2014 20:16:36 +0000 (13:16 -0700)]
Merge "Encode perf test"

10 years agoEncode perf test
Joshua Litt [Mon, 21 Jul 2014 17:57:16 +0000 (10:57 -0700)]
Encode perf test

Change-Id: I61993946fe5cbcd7ebeb6302efd9538bff022e5a

10 years agoMerge "Allocate aligned source in variance test"
Yunqing Wang [Fri, 25 Jul 2014 17:53:13 +0000 (10:53 -0700)]
Merge "Allocate aligned source in variance test"

10 years agoMerge "Refactor inter/intra_suberblock_yrd."
Alex Converse [Fri, 25 Jul 2014 17:51:48 +0000 (10:51 -0700)]
Merge "Refactor inter/intra_suberblock_yrd."

10 years agoMerge "Fix allocation of context buffers on frame resize"
Yaowu Xu [Fri, 25 Jul 2014 15:49:39 +0000 (08:49 -0700)]
Merge "Fix allocation of context buffers on frame resize"

10 years agoMerge "Changed validation of reference frame size"
Yaowu Xu [Fri, 25 Jul 2014 15:48:48 +0000 (08:48 -0700)]
Merge "Changed validation of reference frame size"

10 years agoMerge "vp8: reduce refresh_max_mbs_perframe with fewer layers."
Marco Paniconi [Fri, 25 Jul 2014 15:42:41 +0000 (08:42 -0700)]
Merge "vp8: reduce refresh_max_mbs_perframe with fewer layers."

10 years agoMerge "s/CONFIG_DENOISING/CONFIG_VP9_TEMPORAL_DENOISING"
Tim Kopp [Fri, 25 Jul 2014 14:53:51 +0000 (07:53 -0700)]
Merge "s/CONFIG_DENOISING/CONFIG_VP9_TEMPORAL_DENOISING"

10 years agoFix rd_pick_partition search loop for 4x4 blocks
Jingning Han [Fri, 25 Jul 2014 14:08:23 +0000 (07:08 -0700)]
Fix rd_pick_partition search loop for 4x4 blocks

The partition search for 4x4 blocks takes unnecessary steps to
reconstruct pixels and an extra partition type update. This commit
removes such operations. No visible compression/speed difference.
Thanks to Yue (yuec@) for finding this issue.

Change-Id: I3f83824aa3fd3717d63be0b280fa57258939a70a

10 years agoMerge "rtcd.pl: check for auto_help availability"
James Zern [Fri, 25 Jul 2014 06:09:35 +0000 (23:09 -0700)]
Merge "rtcd.pl: check for auto_help availability"

10 years agoRemove neon version of vp8 extend borders
Johann [Thu, 24 Jul 2014 16:32:01 +0000 (09:32 -0700)]
Remove neon version of vp8 extend borders

The code fails the unit test. Speed comparisons to the C are invalid
because the code frequently didn't correctly extend the right and
bottom portions of the frame.

Reduce maximum frame size on ARM devices to avoid OOM

Change-Id: Ia664c86406f0bb8120fd7ad401f32d0bd44994fb

10 years agoAdd test for vp8 extend_borders
Johann [Wed, 16 Jul 2014 10:47:27 +0000 (03:47 -0700)]
Add test for vp8 extend_borders

Change-Id: I5bfc965019815e631a2300eb29aa065fb2bc94aa

10 years agoAllocate aligned source in variance test
Yunqing Wang [Fri, 25 Jul 2014 00:11:58 +0000 (17:11 -0700)]
Allocate aligned source in variance test

The source buffer is an aligned buffer in VP9. Added the alignment
to make it consistent with libvpx.

Change-Id: I3ebb9d2e8555ed532951da479dd5cbbb8812e02d

10 years agovp8: reduce refresh_max_mbs_perframe with fewer layers.
Marco Paniconi [Thu, 24 Jul 2014 22:44:29 +0000 (15:44 -0700)]
vp8: reduce refresh_max_mbs_perframe with fewer layers.

Change-Id: Ib39cc0218a1f232c0cde8e99ca3319c17274bd48

10 years agoFix potential ioc issue in vp9_get_prob for 4K above sizes
Jingning Han [Thu, 24 Jul 2014 22:31:32 +0000 (15:31 -0700)]
Fix potential ioc issue in vp9_get_prob for 4K above sizes

This commit turns on the existing vp9_get_prob function using
64 bit in the intermediate step. It fixes the ioc issue for 4K
above frame sizes (issue 828).

Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c

10 years agoRemove unnecessary conditional assignment
Jingning Han [Thu, 24 Jul 2014 21:43:06 +0000 (14:43 -0700)]
Remove unnecessary conditional assignment

The assignment of the variable mode_excluded in
vp9_rd_pick_inter_mode_sub8x8 takes redundant conditional jump.
This commit removes it.

Change-Id: Ie195fbe6e54ec2ade7093d562c456a2e93143704

10 years agoSet and use uv_crop_[width|height]
Johann [Wed, 16 Jul 2014 09:30:21 +0000 (02:30 -0700)]
Set and use uv_crop_[width|height]

Ensure consistent border extension by rounding uv_crop_* at image
creation time. Where it was rounded problems could arise with the right
and bottom extensions.
When padding = 32, y_width = 64, and y_crop_width = 63:
 (padding + width - crop_width + 1) / 2
 32 + 64 - 63 + 1 should equal 32 *but*
 32 + 1 + 1 equals 34 giving a right buffer of 17 instead of 16.
By calculating uv_crop_* earlier we round up at the appropriate time and
for the same values:
 (y_crop_width + 1) / 2
 63 + 1 / 2
 64
 (padding / 2) + uv_width - uv_crop_width
 16 + 16 - 16
 16

Change-Id: If866cd1b63444771440edb1432280ac83875969b

10 years agoChanged validation of reference frame size
Yaowu Xu [Thu, 24 Jul 2014 16:12:46 +0000 (09:12 -0700)]
Changed validation of reference frame size

A previous change, https://gerrit.chromium.org/gerrit/#/c/70632,
introduced a size validation for reference frames to insuare the
input stream is a valid VP9 stream. However, the logic requiring
all reference frames have valid size turned out to be too strict.

In this commit, we modify the validation to require one of the
reference frame has valid dimension. In addition, the decoder
reports error whenever it detects the use of reference frame
with invalid scalig ratio.

Change-Id: If8efc312244087556cfe00f1fcbdff811268ebad

10 years agortcd.pl: check for auto_help availability
James Zern [Thu, 24 Jul 2014 21:55:19 +0000 (14:55 -0700)]
rtcd.pl: check for auto_help availability

'auto_help' was added to Getopt::Long in 2.33
this isn't strictly necessary as an unrecognized option (--help) will
issue a warning and then print the usage

Change-Id: Ia757553a4e19d22a8eb70768a8866ab1a76a0eec

10 years agoFix allocation of context buffers on frame resize
Adrian Grange [Thu, 24 Jul 2014 20:37:47 +0000 (13:37 -0700)]
Fix allocation of context buffers on frame resize

The patch:
https://gerrit.chromium.org/gerrit/#/c/70814/
changed the test that determined whether the context
frame buffers needed to be reallocated or not.

The code checked for a change in total frame area
to signal the need to reallocate context buffers.
However, the above_context buffer needs to be
resized i:xf only the width of the frame has increased.

Change-Id: Ib89d75651af252908144cf662578d84f16cf30e6

10 years agos/CONFIG_DENOISING/CONFIG_VP9_TEMPORAL_DENOISING
Tim Kopp [Thu, 24 Jul 2014 20:30:00 +0000 (13:30 -0700)]
s/CONFIG_DENOISING/CONFIG_VP9_TEMPORAL_DENOISING

This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other
flags.

Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8

10 years agoRefactor inter/intra_suberblock_yrd.
Alex Converse [Wed, 23 Jul 2014 00:57:40 +0000 (17:57 -0700)]
Refactor inter/intra_suberblock_yrd.

Move txfm_rd_in_plane into choose_tx_size_from_rd and cleanup callers.

Change-Id: I1df2d7dc984802bd5e204cbe881ada0d75fbb3f7

10 years agoMerge "x86inc: fix compilation with NASM\r \r Change-Id: I5978921ab1ccad6648a5bde6ad023...
James Zern [Thu, 24 Jul 2014 05:45:51 +0000 (22:45 -0700)]
Merge "x86inc: fix compilation with NASM\r \r Change-Id: I5978921ab1ccad6648a5bde6ad023c3e3430f5f4\r"

10 years agox86inc: fix compilation with NASM
KO Myung-Hun [Tue, 22 Jul 2014 01:47:20 +0000 (10:47 +0900)]
x86inc: fix compilation with NASM

Change-Id: I5978921ab1ccad6648a5bde6ad023c3e3430f5f4

10 years agoMakefile: strip debugging informations only
KO Myung-Hun [Tue, 22 Jul 2014 11:19:52 +0000 (20:19 +0900)]
Makefile: strip debugging informations only

--strip-unneeded causes SIGSEGV when accessing g_executable_path. So
test_libvpx crashes due to SIGSEGV in ::testing::InitGoogleTest().

OS/2, aout, strip v2.23.2

Change-Id: I2718d082447ee0d9ad0c021b9156c50e1ac085a6

10 years ago[spatial svc]Fix reference issues
Minghai Shang [Wed, 23 Jul 2014 20:52:34 +0000 (13:52 -0700)]
[spatial svc]Fix reference issues

1. Remove last reference flag for first frame upper layers in one pass mode.
2. Disable refresh golden frame flag for key frames.

Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6

10 years agoMerge "Remove redundant argument entry in handle_inter_mode"
Jingning Han [Wed, 23 Jul 2014 22:07:01 +0000 (15:07 -0700)]
Merge "Remove redundant argument entry in handle_inter_mode"

10 years agoMerge "Use the chessboard pattern pred search in newmv mode"
Jingning Han [Wed, 23 Jul 2014 22:06:52 +0000 (15:06 -0700)]
Merge "Use the chessboard pattern pred search in newmv mode"

10 years agoMerge "Fix clang compiler warning in denoising_neon."
Marco Paniconi [Wed, 23 Jul 2014 20:58:45 +0000 (13:58 -0700)]
Merge "Fix clang compiler warning in denoising_neon."

10 years agoMerge "Moved call to vp9_clear_system_state() to a proper location"
Yaowu Xu [Wed, 23 Jul 2014 19:46:11 +0000 (12:46 -0700)]
Merge "Moved call to vp9_clear_system_state() to a proper location"

10 years agoRemove redundant argument entry in handle_inter_mode
Jingning Han [Wed, 23 Jul 2014 19:02:52 +0000 (12:02 -0700)]
Remove redundant argument entry in handle_inter_mode

The value of mode_excluded has been properly set in
vp9_rd_pick_inter_mode_sb(). It is redundant to send it in
handle_inter_mode() and re-set the value again.

Change-Id: I408d4731f2f42e0bcf3ae62e85757717bb410471

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 agoMerge "Remove redundant num_refs definition"
Jingning Han [Wed, 23 Jul 2014 17:34:54 +0000 (10:34 -0700)]
Merge "Remove redundant num_refs definition"

10 years agoFix clang compiler warning in denoising_neon.
Marco Paniconi [Wed, 23 Jul 2014 16:42:09 +0000 (09:42 -0700)]
Fix clang compiler warning in denoising_neon.

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

Change-Id: I580308f8aa4af194b5d8990a9692ebd18db68ee8

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 agoMerge "Enable chessboard inter prediction filter type search"
Jingning Han [Wed, 23 Jul 2014 16:12:56 +0000 (09:12 -0700)]
Merge "Enable chessboard inter prediction filter type search"

10 years agoMerge "frame_size_tests: reduce default 'large' frame size"
James Zern [Wed, 23 Jul 2014 01:40:31 +0000 (18:40 -0700)]
Merge "frame_size_tests: reduce default 'large' frame size"

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 agoframe_size_tests: reduce default 'large' frame size
James Zern [Tue, 22 Jul 2014 22:48:25 +0000 (15:48 -0700)]
frame_size_tests: reduce default 'large' frame size

VP9FrameSizeTestsLarge exposed an integer overflow in the VP9 encoder,
for now reduce the size to allow the tests to clear and prevent further
regressions.
4096x4096 -> 4096x2160

this should be restored after the bug is fixed:
https://code.google.com/p/webm/issues/detail?id=828

Change-Id: I47fdf0648f1d9a3951f731bbf0b727f85ada4fa1

10 years agoMerge "vp8: Set default denoiser_decision to copy for UV channel."
Marco Paniconi [Tue, 22 Jul 2014 22:25:06 +0000 (15:25 -0700)]
Merge "vp8: Set default denoiser_decision to copy for UV channel."

10 years agoMerge "Fix get_frame_type function"
Adrian Grange [Tue, 22 Jul 2014 22:17:27 +0000 (15:17 -0700)]
Merge "Fix get_frame_type function"

10 years agoMerge "VP9 denoiser bugfix in debugging code."
Tim Kopp [Tue, 22 Jul 2014 21:48:42 +0000 (14:48 -0700)]
Merge "VP9 denoiser bugfix in debugging code."

10 years agoMerge "USE local best_filter variable in handle_inter_mode"
Jingning Han [Tue, 22 Jul 2014 21:21:34 +0000 (14:21 -0700)]
Merge "USE local best_filter variable in handle_inter_mode"

10 years agoVP9 denoiser bugfix in debugging code.
Tim Kopp [Tue, 22 Jul 2014 21:00:11 +0000 (14:00 -0700)]
VP9 denoiser bugfix in debugging code.

When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed,
denoised video to a separate file. Moved the point at which the file is
written to in order to avoid an extra blank frame at the beginning of the video.

Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3

10 years agoMerge "vp9_bitstream.c: cosmetics"
James Zern [Tue, 22 Jul 2014 20:17:40 +0000 (13:17 -0700)]
Merge "vp9_bitstream.c: cosmetics"

10 years agoMerge "[spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC"
Minghai Shang [Tue, 22 Jul 2014 19:43:40 +0000 (12:43 -0700)]
Merge "[spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC"

10 years agoFix get_frame_type function
Adrian Grange [Tue, 22 Jul 2014 19:12:16 +0000 (12:12 -0700)]
Fix get_frame_type function

Fixed the function get_frame_type to return the correct
frame type for golden and last frames.

Change-Id: I8edddd9aa26cbe7a1de8ff211389410b22b1bd14

10 years agovp9_bitstream.c: cosmetics
James Zern [Tue, 22 Jul 2014 01:27:06 +0000 (18:27 -0700)]
vp9_bitstream.c: cosmetics

fix indent, spelling and drop some vertical whitespace

Change-Id: I722671381a374a24763b07a02805ab1d149ab3f4

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 agoMerge "vp8 denoiser fix: Update denoised altref on key frame."
Marco Paniconi [Tue, 22 Jul 2014 18:15:08 +0000 (11:15 -0700)]
Merge "vp8 denoiser fix: Update denoised altref on key frame."

10 years agovp8: Set default denoiser_decision to copy for UV channel.
Marco Paniconi [Tue, 22 Jul 2014 18:06:00 +0000 (11:06 -0700)]
vp8: Set default denoiser_decision to copy for UV channel.

Since the UV decision to denoise is based on Y, we need to set
the default/initial denoiser decision_u/v to COPY_BLOCK,
to make sure if no uv_denoiser is applied we still update
(uv)running_avg with source.

Change-Id: I5af1c2afbd40c498cd3de208bea88c837099b24d

10 years ago[spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC
Minghai Shang [Tue, 22 Jul 2014 17:05:40 +0000 (10:05 -0700)]
[spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVC

Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082

10 years agovp8 denoiser fix: Update denoised altref on key frame.
Marco Paniconi [Mon, 21 Jul 2014 16:58:54 +0000 (09:58 -0700)]
vp8 denoiser fix: Update denoised altref on key frame.

On a key frame, the denoised-running_avg for all references
frames should be updated with the source.
The altref denoised-running_avg was not being updated on key frame,
this fixes that.

Change-Id: Ie02cd0ba5383e013af59240e6df7e185d11703f6

10 years agoMerge "Turn on adaptive pred filter scheme for sub8x8 below 720p"
Jingning Han [Tue, 22 Jul 2014 16:11:52 +0000 (09:11 -0700)]
Merge "Turn on adaptive pred filter scheme for sub8x8 below 720p"

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 agoRemove unfinished VP9 alpha channel.
Alex Converse [Thu, 17 Jul 2014 18:29:59 +0000 (11:29 -0700)]
Remove unfinished VP9 alpha channel.

Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca