platform/upstream/libvpx.git
10 years agoads2gas_apple.pl: Reduce differences to ads2gas.pl
Martin Storsjo [Wed, 5 Feb 2014 08:57:24 +0000 (10:57 +0200)]
ads2gas_apple.pl: Reduce differences to ads2gas.pl

Avoid substitution of substrings by using \b to make sure the
substituted strings are at word boundaries.

This is an adaption of the corresponding changes to ads2gas.pl
from 7ebcaeb0fa.

Change-Id: I52160e8ba0373d4779d5fc3b0c384ca5c51c7b13

10 years agoMerge "libmkv: Use uint64_t instead of UInt64."
James Zern [Wed, 5 Feb 2014 04:31:07 +0000 (20:31 -0800)]
Merge "libmkv: Use uint64_t instead of UInt64."

10 years agoMerge "vp9_systemdependent.h: relocate system includes"
James Zern [Wed, 5 Feb 2014 02:58:20 +0000 (18:58 -0800)]
Merge "vp9_systemdependent.h: relocate system includes"

10 years agovp9_systemdependent.h: relocate system includes
James Zern [Wed, 5 Feb 2014 02:28:45 +0000 (18:28 -0800)]
vp9_systemdependent.h: relocate system includes

avoid wrapping msvc includes with extern "C"; this breaks some visual
studio builds of the (c++) tests.

Change-Id: Ie8062d55d4f4c049f6cd360a36da6a67607df132

10 years agoMerge "Adjust speed feature for --rt"
Yaowu Xu [Wed, 5 Feb 2014 02:20:57 +0000 (18:20 -0800)]
Merge "Adjust speed feature for --rt"

10 years agoMerge "Removing DBG_PRNT_SEGMAP."
Dmitry Kovalev [Wed, 5 Feb 2014 01:52:16 +0000 (17:52 -0800)]
Merge "Removing DBG_PRNT_SEGMAP."

10 years agoMerge "libmkv: constify codec_id."
James Zern [Wed, 5 Feb 2014 01:14:11 +0000 (17:14 -0800)]
Merge "libmkv: constify codec_id."

10 years agoMerge "Removing unused estimate_cq() function."
Dmitry Kovalev [Wed, 5 Feb 2014 00:57:57 +0000 (16:57 -0800)]
Merge "Removing unused estimate_cq() function."

10 years agoMerge "Moving MBGRAPH_{MB, FRAME}_STATS structs to vp9_mbgraph.h."
Dmitry Kovalev [Wed, 5 Feb 2014 00:53:55 +0000 (16:53 -0800)]
Merge "Moving MBGRAPH_{MB, FRAME}_STATS structs to vp9_mbgraph.h."

10 years agoMerge "Renaming vp9_variance_c.c to vp9_variance.c."
Dmitry Kovalev [Wed, 5 Feb 2014 00:53:27 +0000 (16:53 -0800)]
Merge "Renaming vp9_variance_c.c to vp9_variance.c."

10 years agoMerge "Replacing int_mv with MV."
Dmitry Kovalev [Wed, 5 Feb 2014 00:53:14 +0000 (16:53 -0800)]
Merge "Replacing int_mv with MV."

10 years agoMerge "Inlinging get_next_chkpts macro in vp9_mcomp.c."
Dmitry Kovalev [Wed, 5 Feb 2014 00:52:47 +0000 (16:52 -0800)]
Merge "Inlinging get_next_chkpts macro in vp9_mcomp.c."

10 years agoMerge "Removing SECTIONBITS_OUTPUT."
Dmitry Kovalev [Wed, 5 Feb 2014 00:52:12 +0000 (16:52 -0800)]
Merge "Removing SECTIONBITS_OUTPUT."

10 years agolibmkv: Use uint64_t instead of UInt64.
Ralph Giles [Mon, 3 Feb 2014 19:00:11 +0000 (11:00 -0800)]
libmkv: Use uint64_t instead of UInt64.

The rest of the code uses stdint types and this makes porting
easier.

Change-Id: Ie2f565f6a919199f0145b6aea97bb7588548e97d

10 years agolibmkv: constify codec_id.
Ralph Giles [Mon, 3 Feb 2014 18:56:27 +0000 (10:56 -0800)]
libmkv: constify codec_id.

This lets the caller pass a string literal for the codec id.

From https://bugzilla.mozilla.org/show_bug.cgi?id=966044

Change-Id: I345bd7a5943f0c33b3fb368d4280100ac5038a3d

10 years agoRemoving DBG_PRNT_SEGMAP.
Dmitry Kovalev [Wed, 29 Jan 2014 22:10:38 +0000 (14:10 -0800)]
Removing DBG_PRNT_SEGMAP.

Change-Id: I71d85e3455545960938e525ae8aa0a667e1db94c

10 years agoMerge "Ignore missing newline message"
Johann [Tue, 4 Feb 2014 23:56:17 +0000 (15:56 -0800)]
Merge "Ignore missing newline message"

10 years agoIgnore missing newline message
Johann [Mon, 3 Feb 2014 20:15:17 +0000 (12:15 -0800)]
Ignore missing newline message

git diff adds the following line to diffs:
\ No newline at end of file

which interferes with diff.py parsing. diff.py only looks for '+', '-'
and ' ' at the beginning of the line.

Issue seen on https://gerrit.chromium.org/gerrit/68611

Change-Id: I0d7b4485c470e0b409f2c9cddde6c9aceba0152e

10 years agoMerge "Moving x1 & y1 calculation under if condition."
Dmitry Kovalev [Tue, 4 Feb 2014 22:50:25 +0000 (14:50 -0800)]
Merge "Moving x1 & y1 calculation under if condition."

10 years agoMerge "With on demand border extension, clamping the MV is not longer needed."
hkuang [Tue, 4 Feb 2014 22:50:20 +0000 (14:50 -0800)]
Merge "With on demand border extension, clamping the MV is not longer needed."

10 years agoRenaming vp9_variance_c.c to vp9_variance.c.
Dmitry Kovalev [Tue, 4 Feb 2014 22:49:43 +0000 (14:49 -0800)]
Renaming vp9_variance_c.c to vp9_variance.c.

Change-Id: I7b29cb18ad36d79e1c6329c7de88496059f49db4

10 years agoWith on demand border extension, clamping the MV
hkuang [Tue, 4 Feb 2014 18:56:16 +0000 (10:56 -0800)]
With on demand border extension, clamping the MV
is not longer needed.

Change-Id: I40c37ef18c67ab27fc336694dfca3c43a87c47ca

10 years agoRemoving unused estimate_cq() function.
Dmitry Kovalev [Tue, 4 Feb 2014 02:13:15 +0000 (18:13 -0800)]
Removing unused estimate_cq() function.

Change-Id: If3a1af1a54f3a3c0d9c966fdc0721981070c7f28

10 years agoMerge "One-pass rate control fixes and cleanups"
Deb Mukherjee [Tue, 4 Feb 2014 19:12:10 +0000 (11:12 -0800)]
Merge "One-pass rate control fixes and cleanups"

10 years agoMerge "Remove duplicated code"
Adrian Grange [Tue, 4 Feb 2014 18:59:57 +0000 (10:59 -0800)]
Merge "Remove duplicated code"

10 years agoOne-pass rate control fixes and cleanups
Deb Mukherjee [Thu, 23 Jan 2014 02:00:08 +0000 (18:00 -0800)]
One-pass rate control fixes and cleanups

Fixes rate control partially in one-pass non-cbr case to achieve a
bitrate close to the one desired. Previous version was way off at
the high bitrate end.

Also includes several one-pass rate control cleanups and refactoring.

On derfraw300, one-pass encoding is now 19% off from two-pass speed
0 encoding, down from 35%.

Change-Id: I6f0dcdb7f8aa85a7e7cd3a3155d4f9d2a4d2f4f4

10 years agoRemove duplicated code
Adrian Grange [Tue, 4 Feb 2014 18:01:04 +0000 (10:01 -0800)]
Remove duplicated code

Change-Id: I1b7c8165162e835e22cf164cce989c0cebd7ca95

10 years agoMerge "vp9_filter.h: rename interp_kernel type"
James Zern [Tue, 4 Feb 2014 07:12:28 +0000 (23:12 -0800)]
Merge "vp9_filter.h: rename interp_kernel type"

10 years agoMerge "vp9/encoder: fix function prototypes"
James Zern [Tue, 4 Feb 2014 07:09:26 +0000 (23:09 -0800)]
Merge "vp9/encoder: fix function prototypes"

10 years agoMerge changes I9ebfeb49,I2e2f9bb6
James Zern [Tue, 4 Feb 2014 07:08:53 +0000 (23:08 -0800)]
Merge changes I9ebfeb49,I2e2f9bb6

* changes:
  resize_test: use const_iterator where appropriate
  resize_test: silence a warning

10 years agoMerge changes Ic362b088,I1c65c2aa
James Zern [Tue, 4 Feb 2014 07:07:35 +0000 (23:07 -0800)]
Merge changes Ic362b088,I1c65c2aa

* changes:
  vpxenc: find_mismatch/compare_img: normalize types
  vpxenc: cosmetics

10 years agoAdjust speed feature for --rt
Yaowu Xu [Tue, 4 Feb 2014 01:47:29 +0000 (17:47 -0800)]
Adjust speed feature for --rt

Moved a few features with low impact on compression form -5 to -4 and
increased adaptive_rd_thresh for -5.

Change-Id: Ib1b748168cc6ed7684ae4818499f3a536ae76253

10 years agoMoving x1 & y1 calculation under if condition.
Dmitry Kovalev [Tue, 4 Feb 2014 02:03:17 +0000 (18:03 -0800)]
Moving x1 & y1 calculation under if condition.

Change-Id: Iae787d491f7cfe24855ef8f2d04e2c6c19350378

10 years agoReplacing int_mv with MV.
Dmitry Kovalev [Tue, 4 Feb 2014 01:30:59 +0000 (17:30 -0800)]
Replacing int_mv with MV.

Change-Id: I36b8b419be92171857e77a881da066424ff47af5

10 years agoMerge "Removing ENC_DEBUG."
Dmitry Kovalev [Tue, 4 Feb 2014 01:11:52 +0000 (17:11 -0800)]
Merge "Removing ENC_DEBUG."

10 years agoMerge "Build fix with config internal stats"
Yongzhe Wang [Tue, 4 Feb 2014 01:10:23 +0000 (17:10 -0800)]
Merge "Build fix with config internal stats"

10 years agovp9_filter.h: rename interp_kernel type
James Zern [Tue, 4 Feb 2014 00:48:38 +0000 (16:48 -0800)]
vp9_filter.h: rename interp_kernel type

-> InterpKernel
avoids conflicts in variable names, fixing the build with various
toolchains.

broken since:
8691565 Removing subpix_fn_table struct.

Change-Id: Ib5f6fdbcb494a97b62c75b99d4d826ff25d4c981

10 years agoMerge "INLINE and reimplement get_unsigned_bits()."
Alex Converse [Tue, 4 Feb 2014 00:26:33 +0000 (16:26 -0800)]
Merge "INLINE and reimplement get_unsigned_bits()."

10 years agoBuild fix with config internal stats
Yongzhe Wang [Mon, 3 Feb 2014 22:29:28 +0000 (14:29 -0800)]
Build fix with config internal stats

Fixes a build issue when internal stats is enabled

Change-Id: I822cc60274e34b5f29ccbaa1f986fb9da6a8de4b

10 years agoMerge "Removing "_short" suffix from arm transform file names."
Dmitry Kovalev [Mon, 3 Feb 2014 22:28:47 +0000 (14:28 -0800)]
Merge "Removing "_short" suffix from arm transform file names."

10 years agoInlinging get_next_chkpts macro in vp9_mcomp.c.
Dmitry Kovalev [Mon, 3 Feb 2014 19:05:19 +0000 (11:05 -0800)]
Inlinging get_next_chkpts macro in vp9_mcomp.c.

Change-Id: I38ca35dccfb9051d08b026d75ba2f3a35adb0259

10 years agoMoving MBGRAPH_{MB, FRAME}_STATS structs to vp9_mbgraph.h.
Dmitry Kovalev [Mon, 3 Feb 2014 20:35:06 +0000 (12:35 -0800)]
Moving MBGRAPH_{MB, FRAME}_STATS structs to vp9_mbgraph.h.

Change-Id: I424c79735a7f3bbf6bf9c1391ff53aa78abae624

10 years agoMerge "Optimize bilinear sub-pixel filters in sse2"
Yunqing Wang [Mon, 3 Feb 2014 20:31:34 +0000 (12:31 -0800)]
Merge "Optimize bilinear sub-pixel filters in sse2"

10 years agoMerge "Propgate constants through subexp routines."
Alex Converse [Mon, 3 Feb 2014 20:29:52 +0000 (12:29 -0800)]
Merge "Propgate constants through subexp routines."

10 years agoMerge "Revert "Layer based rate control for CBR mode.""
Marco Paniconi [Mon, 3 Feb 2014 20:28:47 +0000 (12:28 -0800)]
Merge "Revert "Layer based rate control for CBR mode.""

10 years agoRevert "Layer based rate control for CBR mode."
Marco Paniconi [Mon, 3 Feb 2014 20:28:32 +0000 (12:28 -0800)]
Revert "Layer based rate control for CBR mode."

This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13

Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b

10 years agoINLINE and reimplement get_unsigned_bits().
Alex Converse [Mon, 3 Feb 2014 20:12:01 +0000 (12:12 -0800)]
INLINE and reimplement get_unsigned_bits().

The new implementation disagrees when the argument is equal to 2**n but
that is never called in practice and based on how it is used the new
implementation is correct in that case.

Change-Id: Ifbac4ad87d459fe6bd2fd0f400c0340f96617342

10 years agoPropgate constants through subexp routines.
Alex Converse [Mon, 3 Feb 2014 19:14:46 +0000 (11:14 -0800)]
Propgate constants through subexp routines.

This avoids calls to get_unsigned_bits() with constants and
replaces hard to trace loops with simpler structures.

Change-Id: Ic1afc5a17d7df5bcfc85b76efda316b0bf118467

10 years agoMerge "Cleaning up vp9_mcomp.{c, h}."
Dmitry Kovalev [Mon, 3 Feb 2014 18:53:21 +0000 (10:53 -0800)]
Merge "Cleaning up vp9_mcomp.{c, h}."

10 years agoOptimize bilinear sub-pixel filters in sse2
Yunqing Wang [Wed, 29 Jan 2014 23:49:03 +0000 (15:49 -0800)]
Optimize bilinear sub-pixel filters in sse2

Using bilinear filters could speed up the codec in real-time mode.
This patch added sse2 optimizations of bilinear filters that
operate on different-sized blocks.

Tests showed that the real-time encoder was speeded up by 3%.

Change-Id: If99a7ee4385fcc225c3ee7445d962d5752e57c3f

10 years agoLayer based rate control for CBR mode.
Marco Paniconi [Sun, 2 Feb 2014 22:30:43 +0000 (14:30 -0800)]
Layer based rate control for CBR mode.

This patch adds a buffer-based rate control for temporal layers,
under CBR mode.

Added vpx_temporal_scalable_patters.c encoder for testing temporal
layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).

Updated datarate unittest with tests for temporal layer rate-targeting.

Change-Id: I9cb6cce2494390ae6096ee17774af7fb9308bde7

10 years agovp9/encoder: fix function prototypes
James Zern [Sat, 1 Feb 2014 04:45:36 +0000 (20:45 -0800)]
vp9/encoder: fix function prototypes

silences warnings about declarations not matching prototype

Change-Id: I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d

10 years agoMerge "static function convert to inline or global vp9_blockd.h"
Jim Bankoski [Sat, 1 Feb 2014 04:16:37 +0000 (20:16 -0800)]
Merge "static function convert to inline or global vp9_blockd.h"

10 years agoresize_test: use const_iterator where appropriate
James Zern [Sat, 1 Feb 2014 04:11:55 +0000 (20:11 -0800)]
resize_test: use const_iterator where appropriate

Change-Id: I9ebfeb4947e7d7bc8af175730b0b25b2880ee26c

10 years agoresize_test: silence a warning
James Zern [Sat, 1 Feb 2014 04:10:28 +0000 (20:10 -0800)]
resize_test: silence a warning

the timebase of pts is 1/fps, so casting down to unsigned is safe here.

Change-Id: I2e2f9bb68604c3c5539804685e6166beb54fe83e

10 years agoMerge "Set proper rtc interp_filter at block level"
Yaowu Xu [Sat, 1 Feb 2014 03:59:32 +0000 (19:59 -0800)]
Merge "Set proper rtc interp_filter at block level"

10 years agoMerge "Typo & comment corrections"
Adrian Grange [Sat, 1 Feb 2014 03:51:44 +0000 (19:51 -0800)]
Merge "Typo & comment corrections"

10 years agostatic function convert to inline or global vp9_blockd.h
Jim Bankoski [Sat, 1 Feb 2014 01:35:53 +0000 (17:35 -0800)]
static function convert to inline or global vp9_blockd.h

Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe

10 years agoMerge "libmkv: remove unused variable."
James Zern [Sat, 1 Feb 2014 03:29:06 +0000 (19:29 -0800)]
Merge "libmkv: remove unused variable."

10 years agoMerge "libmkv: Remove spurious declaration."
James Zern [Sat, 1 Feb 2014 02:48:36 +0000 (18:48 -0800)]
Merge "libmkv: Remove spurious declaration."

10 years agoMerge "Rename a loopfilter parameter"
Yunqing Wang [Sat, 1 Feb 2014 02:33:33 +0000 (18:33 -0800)]
Merge "Rename a loopfilter parameter"

10 years agoMerge "Cleaning up vp9_get_second_pass_params() function."
Dmitry Kovalev [Sat, 1 Feb 2014 02:15:33 +0000 (18:15 -0800)]
Merge "Cleaning up vp9_get_second_pass_params() function."

10 years agoCleaning up vp9_mcomp.{c, h}.
Dmitry Kovalev [Sat, 1 Feb 2014 02:11:41 +0000 (18:11 -0800)]
Cleaning up vp9_mcomp.{c, h}.

Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38

10 years agoMerge "Cleaning up motion compensation code."
Dmitry Kovalev [Sat, 1 Feb 2014 01:33:40 +0000 (17:33 -0800)]
Merge "Cleaning up motion compensation code."

10 years agoMerge "remove duplicate const from vpx_codec_iface_t use"
James Zern [Sat, 1 Feb 2014 01:28:17 +0000 (17:28 -0800)]
Merge "remove duplicate const from vpx_codec_iface_t use"

10 years agoRemoving "_short" suffix from arm transform file names.
Dmitry Kovalev [Sat, 1 Feb 2014 01:19:02 +0000 (17:19 -0800)]
Removing "_short" suffix from arm transform file names.

Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507

10 years agoCleaning up vp9_get_second_pass_params() function.
Dmitry Kovalev [Sat, 1 Feb 2014 00:49:33 +0000 (16:49 -0800)]
Cleaning up vp9_get_second_pass_params() function.

Change-Id: Ie7b295190d8def447408e575ea0f3fa3c7eb7dd2

10 years agoremove duplicate const from vpx_codec_iface_t use
James Zern [Sat, 1 Feb 2014 00:32:42 +0000 (16:32 -0800)]
remove duplicate const from vpx_codec_iface_t use

the public typedef already includes a const, quiets
'same type qualifier used more than once' warnings

Change-Id: Ib118b3b116fba59d4c6ead84d85b26e5d3ed363d

10 years agoSet proper rtc interp_filter at block level
Yaowu Xu [Sat, 1 Feb 2014 00:32:19 +0000 (16:32 -0800)]
Set proper rtc interp_filter at block level

Based on frame level settings.

Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a

10 years agoRename a loopfilter parameter
Yunqing Wang [Sat, 1 Feb 2014 00:09:28 +0000 (16:09 -0800)]
Rename a loopfilter parameter

As pointed out by Dmitry and James, "partial" is a Microsoft-
specific c++ keyword, and it is renamed.

Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8

10 years agoMerge "bsize problem 360p"
Jim Bankoski [Sat, 1 Feb 2014 00:21:13 +0000 (16:21 -0800)]
Merge "bsize problem 360p"

10 years agovpxenc: find_mismatch/compare_img: normalize types
James Zern [Sat, 1 Feb 2014 00:10:43 +0000 (16:10 -0800)]
vpxenc: find_mismatch/compare_img: normalize types

use uint32_t where appropriate, silences a few warnings

Change-Id: Ic362b08868b00f4828982757a7bcee081d50308d

10 years agovpxenc: cosmetics
James Zern [Fri, 31 Jan 2014 23:49:17 +0000 (15:49 -0800)]
vpxenc: cosmetics

find_mismatch() / compare_img(): const, whitespace

Change-Id: I1c65c2aac378535001720aca31e7437ee5492739

10 years agoTypo & comment corrections
Adrian Grange [Thu, 30 Jan 2014 23:04:32 +0000 (15:04 -0800)]
Typo & comment corrections

Change-Id: I64569afe61a2679afdd263d3e226a89b9f73cc61

10 years agolibmkv: remove unused variable.
Ralph Giles [Sat, 1 Feb 2014 00:01:14 +0000 (16:01 -0800)]
libmkv: remove unused variable.

Fixes a warning.

Change-Id: I7f98ea7847cf8e776a4bbd65d273036280bfb5dd

10 years agoMerge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."
Dmitry Kovalev [Fri, 31 Jan 2014 23:55:04 +0000 (15:55 -0800)]
Merge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."

10 years agoMerge "Renaming "mbskip" to "skip"."
Dmitry Kovalev [Fri, 31 Jan 2014 23:52:35 +0000 (15:52 -0800)]
Merge "Renaming "mbskip" to "skip"."

10 years agolibmkv: Remove spurious declaration.
Ralph Giles [Fri, 31 Jan 2014 23:47:26 +0000 (15:47 -0800)]
libmkv: Remove spurious declaration.

Change-Id: I5a83f6651a42df8387aa8996f9353a20e60483df

10 years agoMerge "Only allow interp_filter change in SWITCHABLE mode"
Yaowu Xu [Fri, 31 Jan 2014 23:44:00 +0000 (15:44 -0800)]
Merge "Only allow interp_filter change in SWITCHABLE mode"

10 years agoMerge "fix IOCs"
Yaowu Xu [Fri, 31 Jan 2014 23:33:22 +0000 (15:33 -0800)]
Merge "fix IOCs"

10 years agoMerge "Properly merge two different real time modes"
Yaowu Xu [Fri, 31 Jan 2014 23:31:33 +0000 (15:31 -0800)]
Merge "Properly merge two different real time modes"

10 years agobsize problem 360p
Jim Bankoski [Fri, 31 Jan 2014 23:14:02 +0000 (15:14 -0800)]
bsize problem 360p

Fixes an assert that crashed for 360p..

Change-Id: I2faf15c93cbdb0e62a27a3b663f0d09ba62774a8

10 years agoOnly allow interp_filter change in SWITCHABLE mode
Yaowu Xu [Fri, 31 Jan 2014 19:08:27 +0000 (11:08 -0800)]
Only allow interp_filter change in SWITCHABLE mode

This commit added a logic to prevent the inter_filter type from being
changed if the default interp_filter mode is not switchable. Also, it
sets the default interp_filter to BILINEAR at very and super fast rtc
encoding modes

Change-Id: Ic41e6d31de29795a4ce536ec79afb01cab6daad3

10 years agofix IOCs
Yaowu Xu [Fri, 31 Jan 2014 23:06:31 +0000 (15:06 -0800)]
fix IOCs

Left shift of negative values caused IOC warnings.

Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e

10 years agoProperly merge two different real time modes
Yaowu Xu [Fri, 31 Jan 2014 02:33:26 +0000 (18:33 -0800)]
Properly merge two different real time modes

--rt --cpu-used=-5 uses the progressive rtc mode
--rt --cpu-used=-6 uses the new super fast rtc mode

Change-Id: Id6469ca996100cdf794a0e42d76430161f22f976

10 years agovp9 decoder: row-based multi-threaded loopfilter
Yunqing Wang [Fri, 27 Dec 2013 23:25:54 +0000 (15:25 -0800)]
vp9 decoder: row-based multi-threaded loopfilter

Implemented parallel loopfiltering, which uses existing tile-
decoding threads. Each thread works on one row, and when that row
is loopfiltered, it moves to next unattended row. To ensure the
correct filtering order, threads are synchronized and one
superblock is filtered only if the superblocks it depends on are
filtered already.

To reduce synchronization overhead and speed up the decoder, we use
nsync > 1 for high resolution.

Performance tests:
1. on desktop:
8-tile 4k video using 8 threads, speedup: 70% - 80%
4-tile HD video using 4 threads, speedup: ~35%
2. on mobile device(Nexus 7):
4-tile 1080p video using 4 threads, speedup: 18% - 25%
4-tile 1080p video using 2 threads, speedup: 10% - 15%

Change-Id: If54b4a11960dd706c22d5ad145ad94156031f36a

10 years agoCleanup block_rd_txfm.
Alex Converse [Fri, 31 Jan 2014 19:06:14 +0000 (11:06 -0800)]
Cleanup block_rd_txfm.

* Avoid unnecessary type erasure
* Prune unused/duplicate fields from struct rdcost_block_args
* Make struct rdcost_block_args a local

Change-Id: I4f1fd4837ccd028bbfe727191ee8d69f0463b7e5

10 years agoMerge "Add constant to represent minimum KF boost"
Adrian Grange [Fri, 31 Jan 2014 19:10:04 +0000 (11:10 -0800)]
Merge "Add constant to represent minimum KF boost"

10 years agoDisable update of last_show_frame for existing frame
Adrian Grange [Thu, 23 Jan 2014 17:26:19 +0000 (09:26 -0800)]
Disable update of last_show_frame for existing frame

When showing a previously decoded frame, i.e. when
show_existing_frame=1, the update of the
last_show_frame flag must be disabled.

This is to ensure that the last_show_frame flag
reflects the state of the flag for the immediately
previously decoded frame rather then the value that
was forced to ensure that a previously decoded frame
would be displayed.

This patch also adds a test vector to verify that the
display_existing_frame flag works as expected. Code
for generating the test vector can be found in this
patch:
https://gerrit.chromium.org/gerrit/#/c/68581/

(Bug originally reported by Alexander Voronov
<ru.xalba@gmail.com>).

Change-Id: I731d288fba02088959f7fcc87707137fffc6acf5

10 years agoremove confusing compressor_speed
Jim Bankoski [Fri, 31 Jan 2014 15:55:19 +0000 (07:55 -0800)]
remove confusing compressor_speed

use mode instead

Change-Id: I419d7a2dc4b0714ca6ff723c5e824521c150c460

10 years agoAdd constant to represent minimum KF boost
Adrian Grange [Thu, 23 Jan 2014 17:02:29 +0000 (09:02 -0800)]
Add constant to represent minimum KF boost

Added a constant to represent the minimum KF boost
rather than using the magic number 2000 in the code.

Change-Id: I9428b61f47d26312caff81c6f9ae8587df004791

10 years agoMerge "Replace inline with INLINE"
Yaowu Xu [Thu, 30 Jan 2014 20:05:09 +0000 (12:05 -0800)]
Merge "Replace inline with INLINE"

10 years agoMerge "tests: fix a few msvc warnings"
James Zern [Thu, 30 Jan 2014 20:03:36 +0000 (12:03 -0800)]
Merge "tests: fix a few msvc warnings"

10 years agoReplace inline with INLINE
Yaowu Xu [Thu, 30 Jan 2014 19:48:16 +0000 (11:48 -0800)]
Replace inline with INLINE

So x86_64-win64-vs11 can build successfully.

Change-Id: If354c2ea3921fac8c9b413ed39223e70bc20c535

10 years agoMerge "Enforce the use of profile 1 for non-420 content."
Alex Converse [Thu, 30 Jan 2014 19:01:53 +0000 (11:01 -0800)]
Merge "Enforce the use of profile 1 for non-420 content."

10 years agoMerge "Fixing out of bounds access in frame_refs[] array."
Yaowu Xu [Thu, 30 Jan 2014 17:34:18 +0000 (09:34 -0800)]
Merge "Fixing out of bounds access in frame_refs[] array."

10 years agoMerge "Fix some automerge artifacts"
Yaowu Xu [Thu, 30 Jan 2014 17:33:24 +0000 (09:33 -0800)]
Merge "Fix some automerge artifacts"

10 years agoMerge "Fix a build issue for --enable-intern-stats"
Yaowu Xu [Thu, 30 Jan 2014 17:33:20 +0000 (09:33 -0800)]
Merge "Fix a build issue for --enable-intern-stats"

10 years agoFix some automerge artifacts
Yaowu Xu [Thu, 30 Jan 2014 03:03:07 +0000 (19:03 -0800)]
Fix some automerge artifacts

Some changes in 1ca1186 were mistakenly reverted by a later merge,
this commit re-instated the chanages from values to enums.

Change-Id: Ia6b01c31da584a1f612996e6432612c1295b9eaf

10 years agoFix a build issue for --enable-intern-stats
Yaowu Xu [Thu, 30 Jan 2014 02:15:37 +0000 (18:15 -0800)]
Fix a build issue for --enable-intern-stats

Change-Id: Iea7c9fa0726dbf9792eea79e6a05eb8a3c718d45