summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2014-02-04One-pass rate control fixes and cleanupsDeb Mukherjee
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-03Merge "vp9_filter.h: rename interp_kernel type"James Zern
2014-02-03Merge "vp9/encoder: fix function prototypes"James Zern
2014-02-03Merge "Removing ENC_DEBUG."Dmitry Kovalev
2014-02-03Merge "Build fix with config internal stats"Yongzhe Wang
2014-02-03vp9_filter.h: rename interp_kernel typeJames Zern
-> 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-03Merge "INLINE and reimplement get_unsigned_bits()."Alex Converse
2014-02-03Build fix with config internal statsYongzhe Wang
Fixes a build issue when internal stats is enabled Change-Id: I822cc60274e34b5f29ccbaa1f986fb9da6a8de4b
2014-02-03Merge "Removing "_short" suffix from arm transform file names."Dmitry Kovalev
2014-02-03Merge "Optimize bilinear sub-pixel filters in sse2"Yunqing Wang
2014-02-03Merge "Propgate constants through subexp routines."Alex Converse
2014-02-03Merge "Revert "Layer based rate control for CBR mode.""Marco Paniconi
2014-02-03Revert "Layer based rate control for CBR mode."Marco Paniconi
This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13 Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-03INLINE and reimplement get_unsigned_bits().Alex Converse
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-03Propgate constants through subexp routines.Alex Converse
This avoids calls to get_unsigned_bits() with constants and replaces hard to trace loops with simpler structures. Change-Id: Ic1afc5a17d7df5bcfc85b76efda316b0bf118467
2014-02-03Merge "Cleaning up vp9_mcomp.{c, h}."Dmitry Kovalev
2014-02-03Optimize bilinear sub-pixel filters in sse2Yunqing Wang
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-02Layer based rate control for CBR mode.Marco Paniconi
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-01-31vp9/encoder: fix function prototypesJames Zern
silences warnings about declarations not matching prototype Change-Id: I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d
2014-01-31Merge "static function convert to inline or global vp9_blockd.h"Jim Bankoski
2014-01-31Merge "Set proper rtc interp_filter at block level"Yaowu Xu
2014-01-31Merge "Typo & comment corrections"Adrian Grange
2014-01-31static function convert to inline or global vp9_blockd.hJim Bankoski
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
2014-01-31Merge "Rename a loopfilter parameter"Yunqing Wang
2014-01-31Merge "Cleaning up vp9_get_second_pass_params() function."Dmitry Kovalev
2014-01-31Cleaning up vp9_mcomp.{c, h}.Dmitry Kovalev
Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38
2014-01-31Merge "Cleaning up motion compensation code."Dmitry Kovalev
2014-01-31Removing "_short" suffix from arm transform file names.Dmitry Kovalev
Change-Id: Iefe118f61a335e88821a21a9f50fb919212c1507
2014-01-31Cleaning up vp9_get_second_pass_params() function.Dmitry Kovalev
Change-Id: Ie7b295190d8def447408e575ea0f3fa3c7eb7dd2
2014-01-31Set proper rtc interp_filter at block levelYaowu Xu
Based on frame level settings. Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a
2014-01-31Rename a loopfilter parameterYunqing Wang
As pointed out by Dmitry and James, "partial" is a Microsoft- specific c++ keyword, and it is renamed. Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8
2014-01-31Merge "bsize problem 360p"Jim Bankoski
2014-01-31Typo & comment correctionsAdrian Grange
Change-Id: I64569afe61a2679afdd263d3e226a89b9f73cc61
2014-01-31Merge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."Dmitry Kovalev
2014-01-31Merge "Renaming "mbskip" to "skip"."Dmitry Kovalev
2014-01-31Merge "Only allow interp_filter change in SWITCHABLE mode"Yaowu Xu
2014-01-31Merge "fix IOCs"Yaowu Xu
2014-01-31Merge "Properly merge two different real time modes"Yaowu Xu
2014-01-31bsize problem 360pJim Bankoski
Fixes an assert that crashed for 360p.. Change-Id: I2faf15c93cbdb0e62a27a3b663f0d09ba62774a8
2014-01-31Only allow interp_filter change in SWITCHABLE modeYaowu Xu
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
2014-01-31fix IOCsYaowu Xu
Left shift of negative values caused IOC warnings. Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e
2014-01-31Properly merge two different real time modesYaowu Xu
--rt --cpu-used=-5 uses the progressive rtc mode --rt --cpu-used=-6 uses the new super fast rtc mode Change-Id: Id6469ca996100cdf794a0e42d76430161f22f976
2014-01-31vp9 decoder: row-based multi-threaded loopfilterYunqing Wang
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
2014-01-31Cleanup block_rd_txfm.Alex Converse
* Avoid unnecessary type erasure * Prune unused/duplicate fields from struct rdcost_block_args * Make struct rdcost_block_args a local Change-Id: I4f1fd4837ccd028bbfe727191ee8d69f0463b7e5
2014-01-31Merge "Add constant to represent minimum KF boost"Adrian Grange
2014-01-31Disable update of last_show_frame for existing frameAdrian Grange
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
2014-01-31remove confusing compressor_speedJim Bankoski
use mode instead Change-Id: I419d7a2dc4b0714ca6ff723c5e824521c150c460
2014-01-31Add constant to represent minimum KF boostAdrian Grange
Added a constant to represent the minimum KF boost rather than using the magic number 2000 in the code. Change-Id: I9428b61f47d26312caff81c6f9ae8587df004791
2014-01-30Merge "Replace inline with INLINE"Yaowu Xu
2014-01-30Replace inline with INLINEYaowu Xu
So x86_64-win64-vs11 can build successfully. Change-Id: If354c2ea3921fac8c9b413ed39223e70bc20c535