Deb Mukherjee
35ee7f5f4b
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
2014-02-04 10:51:27 -08:00
Adrian Grange
ee5cf3794e
Remove duplicated code
...
Change-Id: I1b7c8165162e835e22cf164cce989c0cebd7ca95
2014-02-04 10:01:04 -08:00
Yunqing Wang
d1961e6fbf
Optimize bilinear sub-pixel filters in ssse3
...
This patch added ssse3 optimization of bilinear sub-pixel filters.
The real time encoder was speeded up by ~1%.
Change-Id: Ie82e98976f411183cb8c61ab8d2ba0276e55a338
2014-02-04 08:01:55 -08:00
Rui Ueyama
25eeac0518
Skip COMDAT sections when parsing COFF
...
Fixes https://code.google.com/p/chromium/issues/detail?id=339889
when building Clang-based ASan on Windows
Change-Id: Ib77d9593636f46827dbb77f087d407ec0f463fc7
2014-02-04 07:56:52 -08:00
James Zern
2b7338aca4
Merge "vp9_filter.h: rename interp_kernel type"
2014-02-03 23:12:28 -08:00
James Zern
0669cd57c3
Merge "vp9/encoder: fix function prototypes"
2014-02-03 23:09:26 -08:00
James Zern
0a0c2930c6
Merge changes I9ebfeb49,I2e2f9bb6
...
* changes:
resize_test: use const_iterator where appropriate
resize_test: silence a warning
2014-02-03 23:08:53 -08:00
James Zern
ac94505ed7
Merge changes Ic362b088,I1c65c2aa
...
* changes:
vpxenc: find_mismatch/compare_img: normalize types
vpxenc: cosmetics
2014-02-03 23:07:35 -08:00
Yaowu Xu
084c49ac79
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
2014-02-03 18:13:25 -08:00
Dmitry Kovalev
5daaff527e
Moving x1 & y1 calculation under if condition.
...
Change-Id: Iae787d491f7cfe24855ef8f2d04e2c6c19350378
2014-02-03 18:03:17 -08:00
Dmitry Kovalev
64cca45c1d
Cleaning up vp9_get_pred_context_single_ref_p2().
...
Change-Id: I294075acd3073c41e153079ff4462816898b3778
2014-02-03 17:46:34 -08:00
Dmitry Kovalev
9fca1ce9c3
Replacing int_mv with MV.
...
Change-Id: I36b8b419be92171857e77a881da066424ff47af5
2014-02-03 17:30:59 -08:00
Dmitry Kovalev
3ffb204360
Merge "Removing ENC_DEBUG."
2014-02-03 17:11:52 -08:00
Yongzhe Wang
469b530fa3
Merge "Build fix with config internal stats"
2014-02-03 17:10:23 -08:00
James Zern
cca4276dac
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
2014-02-03 16:48:38 -08:00
Alex Converse
be1b41673f
Merge "INLINE and reimplement get_unsigned_bits()."
2014-02-03 16:26:33 -08:00
Dmitry Kovalev
220b8f8644
Encoder quantization cleanup.
...
Change-Id: I633205c95f0e81ce0589580501d0be4425a3cb8e
2014-02-03 14:57:28 -08:00
Yongzhe Wang
513faceaed
Build fix with config internal stats
...
Fixes a build issue when internal stats is enabled
Change-Id: I822cc60274e34b5f29ccbaa1f986fb9da6a8de4b
2014-02-03 14:35:48 -08:00
Dmitry Kovalev
282f36adc4
Merge "Removing "_short" suffix from arm transform file names."
2014-02-03 14:28:47 -08:00
Dmitry Kovalev
ae1c298733
Inlinging get_next_chkpts macro in vp9_mcomp.c.
...
Change-Id: I38ca35dccfb9051d08b026d75ba2f3a35adb0259
2014-02-03 14:26:36 -08:00
Dmitry Kovalev
a2baab8b85
Moving MBGRAPH_{MB, FRAME}_STATS structs to vp9_mbgraph.h.
...
Change-Id: I424c79735a7f3bbf6bf9c1391ff53aa78abae624
2014-02-03 12:35:06 -08:00
Yunqing Wang
cabfd505a4
Merge "Optimize bilinear sub-pixel filters in sse2"
2014-02-03 12:31:34 -08:00
Alex Converse
5470e0cfda
Merge "Propgate constants through subexp routines."
2014-02-03 12:29:52 -08:00
Marco Paniconi
5437474c54
Merge "Revert "Layer based rate control for CBR mode.""
2014-02-03 12:28:47 -08:00
Marco Paniconi
7ec838edc4
Revert "Layer based rate control for CBR mode."
...
This reverts commit 6be2b750b8
Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-03 12:28:32 -08:00
Alex Converse
ffd3d4834b
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
2014-02-03 12:16:22 -08:00
Alex Converse
41d3c989fd
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
2014-02-03 11:55:46 -08:00
Dmitry Kovalev
f7c17b89f0
Merge "Cleaning up vp9_mcomp.{c, h}."
2014-02-03 10:53:21 -08:00
Yunqing Wang
2488cb34bc
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
2014-02-03 10:34:45 -08:00
Marco Paniconi
6be2b750b8
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
2014-02-02 14:30:43 -08:00
James Zern
ef951d1919
vp9/encoder: fix function prototypes
...
silences warnings about declarations not matching prototype
Change-Id: I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d
2014-01-31 20:45:36 -08:00
Jim Bankoski
37e5325b9f
Merge "static function convert to inline or global vp9_blockd.h"
2014-01-31 20:16:37 -08:00
James Zern
bb061388a2
resize_test: use const_iterator where appropriate
...
Change-Id: I9ebfeb4947e7d7bc8af175730b0b25b2880ee26c
2014-01-31 20:11:55 -08:00
James Zern
17b899322c
resize_test: silence a warning
...
the timebase of pts is 1/fps, so casting down to unsigned is safe here.
Change-Id: I2e2f9bb68604c3c5539804685e6166beb54fe83e
2014-01-31 20:10:28 -08:00
Yaowu Xu
1c3fc43771
Merge "Set proper rtc interp_filter at block level"
2014-01-31 19:59:32 -08:00
Adrian Grange
61142301ac
Merge "Typo & comment corrections"
2014-01-31 19:51:44 -08:00
Jim Bankoski
9dec7712ab
static function convert to inline or global vp9_blockd.h
...
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
2014-01-31 19:50:40 -08:00
James Zern
b1c23f7b4b
Merge "libmkv: remove unused variable."
2014-01-31 19:29:06 -08:00
James Zern
f5962491d7
Merge "libmkv: Remove spurious declaration."
2014-01-31 18:48:36 -08:00
Yunqing Wang
7c6a49bada
Merge "Rename a loopfilter parameter"
2014-01-31 18:33:33 -08:00
Dmitry Kovalev
f1761a74cd
Merge "Cleaning up vp9_get_second_pass_params() function."
2014-01-31 18:15:33 -08:00
Dmitry Kovalev
3b3f1d8303
Cleaning up vp9_mcomp.{c, h}.
...
Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38
2014-01-31 18:11:41 -08:00
Dmitry Kovalev
c2ca97caaf
Merge "Cleaning up motion compensation code."
2014-01-31 17:33:40 -08:00
James Zern
389344945e
Merge "remove duplicate const from vpx_codec_iface_t use"
2014-01-31 17:28:17 -08:00
Dmitry Kovalev
c49b08c9a1
Removing "_short" suffix from arm transform file names.
...
Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507
2014-01-31 17:19:02 -08:00
Dmitry Kovalev
6e4a03e844
Removing "_1d" suffix from mips transform code.
...
Unifying transform function names across libvpx, 1d is a redundant suffix.
Change-Id: I077c19f3bc7d4842ed7ca5814d77b3dce1728e13
2014-01-31 17:05:03 -08:00
Dmitry Kovalev
1ee4916794
Cleaning up vp9_get_second_pass_params() function.
...
Change-Id: Ie7b295190d8def447408e575ea0f3fa3c7eb7dd2
2014-01-31 16:49:33 -08:00
James Zern
4a703576f7
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
2014-01-31 16:32:42 -08:00
Yaowu Xu
f99eb936a4
Set proper rtc interp_filter at block level
...
Based on frame level settings.
Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a
2014-01-31 16:32:19 -08:00
Yunqing Wang
11a9366e3b
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
2014-01-31 16:30:04 -08:00