Age | Commit message (Collapse) | Author |
|
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
|
|
|
|
|
|
|
|
|
|
-> InterpKernel
avoids conflicts in variable names, fixing the build with various
toolchains.
broken since:
8691565 Removing subpix_fn_table struct.
Change-Id: Ib5f6fdbcb494a97b62c75b99d4d826ff25d4c981
|
|
|
|
Fixes a build issue when internal stats is enabled
Change-Id: I822cc60274e34b5f29ccbaa1f986fb9da6a8de4b
|
|
|
|
|
|
|
|
|
|
This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13
Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
|
|
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
|
|
This avoids calls to get_unsigned_bits() with constants and
replaces hard to trace loops with simpler structures.
Change-Id: Ic1afc5a17d7df5bcfc85b76efda316b0bf118467
|
|
|
|
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
|
|
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
|
|
silences warnings about declarations not matching prototype
Change-Id: I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d
|
|
|
|
|
|
|
|
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
|
|
|
|
|
|
Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38
|
|
|
|
Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507
|
|
Change-Id: Ie7b295190d8def447408e575ea0f3fa3c7eb7dd2
|
|
Based on frame level settings.
Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a
|
|
As pointed out by Dmitry and James, "partial" is a Microsoft-
specific c++ keyword, and it is renamed.
Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8
|
|
|
|
Change-Id: I64569afe61a2679afdd263d3e226a89b9f73cc61
|
|
|
|
|
|
|
|
|
|
|
|
Fixes an assert that crashed for 360p..
Change-Id: I2faf15c93cbdb0e62a27a3b663f0d09ba62774a8
|
|
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
|
|
Left shift of negative values caused IOC warnings.
Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e
|
|
--rt --cpu-used=-5 uses the progressive rtc mode
--rt --cpu-used=-6 uses the new super fast rtc mode
Change-Id: Id6469ca996100cdf794a0e42d76430161f22f976
|
|
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
|
|
* Avoid unnecessary type erasure
* Prune unused/duplicate fields from struct rdcost_block_args
* Make struct rdcost_block_args a local
Change-Id: I4f1fd4837ccd028bbfe727191ee8d69f0463b7e5
|
|
|
|
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
|
|
use mode instead
Change-Id: I419d7a2dc4b0714ca6ff723c5e824521c150c460
|
|
Added a constant to represent the minimum KF boost
rather than using the magic number 2000 in the code.
Change-Id: I9428b61f47d26312caff81c6f9ae8587df004791
|
|
|
|
So x86_64-win64-vs11 can build successfully.
Change-Id: If354c2ea3921fac8c9b413ed39223e70bc20c535
|