summaryrefslogtreecommitdiff
path: root/vpx
AgeCommit message (Collapse)Author
2017-07-06vp8cx,cosmetics: correct VP9_SET_TILE_COLUMNS docsJames Zern
this has been set to max since: f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default ~v1.4.0 Change-Id: Ic796fc05abe73a58700ec50e3f8e72d3462898ec
2017-07-06vp8cx,cosmetics: correct VP9_SET_FRAME_PARALLEL_DECODING docsJames Zern
this has been on by default since: f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default ~v1.4.0 Change-Id: I52017ab0157feaf429dce3d9e1af8a53bb5c1b65
2017-05-10vp9: SVC: Fix setting in sample encoder.Marco
For 1 spatial layer case, scaling_num/den was not set properly. Change-Id: I139bf70c6dffde89eed24e435bcb5d98d2029bcd
2017-04-24Make the row based multi-threaded encoder deterministicYunqing Wang
This patch followed allow_exhaustive_searches feature modification and continued to modify the encoder to achieve the determinism in the row based multi-threaded encoding. While row-mt = 1 and using multiple threads, the adaptive feature in encoder was disabled, which gave BDRate gain(at speed 1, -0.6% ~ -0.7%; at speed 2, -0.46% ~ -0.59%), but some encoder speed losses(7% ~ 10% at speed 1 and 3% ~ 6% at speed 2). These speed losses were acceptable considering the speed gains obtained from row-mt. Change-Id: I60d87a25346ebc487a864b57d559f560b7e398bb
2017-04-06VP9 motion vector unit testYunqing Wang
To prevent the motion vector out of range bug, added a motion vector unit test in VP9. In the 4k video encoding, always forced to use extreme motion vectors and also encouraged to use INTER modes. In the decoding, checked if the motion vector was valid, and also checked the encoder/decoder mismatch. The tests showed that this unit test could reveal the issue we saw before. Change-Id: I0a880bd847dad8a13f7fd2012faf6868b02fa3b4
2017-03-16vpx_codec.h: include vpx/*.h -> ./*.hMarco
This matches the other includes and also fixes a compile issue in chromium. Change-Id: I45e00a1454f7ed948aa3b96b04cc5946b1d02985
2017-03-07Merge "tiny_ssim.c : adds y4m support to tiny_ssim."James Bankoski
2017-03-07tiny_ssim.c : adds y4m support to tiny_ssim.Jim Bankoski
Change-Id: I7a13b7e3a1e11ddbe4be3009edf03528e1bc7647
2017-02-28VPX_CODEC_CAP_HIGHBITDEPTH for decoder interfaceChris Cunningham
Moves the def from vpx_encoder.h -> vpx_codec.h. The defined value is changed as part of this move. Adds the value to decoder capabilities when CONFIG_VP9_HIGHBITDEPTH. Change-Id: I7d61fc821cda29f1e32bb9b2b9ffd3d83966e419
2017-02-27vp9: Rename new_mt to row_mtVignesh Venkatasubramanian
new_mt is a very generic name that will get obsolete soon enough. Since this is exposed as a codec control, renaming it to row_mt to signify row level paralellism. Also renaming the ETHREAD_BIT_MATCH codec control to ROW_MT_BIT_EXACT. Change-Id: Ic7872d78bb3b12fb4cf92ba028ec8e08eb3a9558
2017-02-13The bitstream bit match test in multi-threaded encoderYunqing Wang
While the new-mt mode is enabled(namely, allowing to use row-based multi-threading in encoder), several speed features that adaptively adjust encoding parameters during encoding would cause mismatch between single-thread encoded bitstream and multi-thread encoded bitstream. This patch provides a set_control API to disable these features, so that the bit match bitstream is obtained in the unit test. Change-Id: Ie9868bafdfe196296d1dd29e0dca517f6a9a4d60
2017-01-24Multi-threading of first pass stats collectionRanjit Kumar Tulabandu
(yunqingwang) 1. Rebased the patch. Incorporated recent first pass changes. 2. Turned on the first pass unit test. Change-Id: Ia2f7ba8152d0b6dd6bf8efb9dfaf505ba7d8edee
2017-01-12Add decoder getters for the last quantizer.Peter Boström
To be used for frame stats output of vpxdec. Change-Id: I0739a01bd3635c4b3fedd58f3e27363ce8fb1b1e
2016-11-28svc_test: fix two warningsJim Bankoski
Use of possibly uninitialized variable and missing test initializer. Change-Id: I2192c81c39ef4239cc11a309850c0ee8781ef17e
2016-11-03vp9-svc: Add decoder control to decode up to x spatial layers.Marco
Change-Id: I85536473b8722424785c84c5b5520960b4e5744a
2016-10-31vp9-svc: Add checks to layer bitrates in vp9_spatial_svc_encoder.Marco
Add some checks to the layer bitrates passed in through the command line. Change-Id: I16f270035a6034d63313fe3019aa90dca9a3eefb
2016-10-28vp9: Updates to SVC sample encoder.Marco
Allow for passing in the layer bitrates at command line. Fix to allow passing in bitrate for each spatial-temporal layer. Change to some default values for 1 pass cbr mode: spatial scale and qp-max/min. Small fixes to some build warnings. Change-Id: I3f9a776262712480a6570bb863a835b2fc49935a
2016-10-19vp8: Add control for gf boost for 1 pass cbr.Marco
Control already exists for vp9, adding it to vp8. Usage is only when error_resilient is off. Added a datarate unittest for non-zero boost. Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35
2016-09-20vp8: remove VP8_SET_DBG* control supportJames Zern
the --enable-postproc-visualizer configure option remains as a no-op as do the control names and values for compatibility + remove the corresponding debug flags from vpxdec: --pp-* Change-Id: I4a001cd9962b59560d7d6bda6272d4ff32b8d37c
2016-09-09vpx_codec_control: return incapable for unmatched controlJames Zern
VPX_CODEC_INCAPABLE rather than the more generic VPX_CODEC_ERROR Change-Id: Id1ed7fb23a2910192713c6b2389c0b7320201f52
2016-08-24Add --alt-ref-aq=<int> optionYury Gitman
In the future this option will activate adaptive quantization special for altref frames. Encoder will create the adaptive quantization map on the basis of lookahead buffers similarity which is the estimate of the future motion compensation performance. Change-Id: Ia0088b3babb0f9a4899c79d8d819947ba5a03df2
2016-07-25vp9 svc: Enable different speed setting for each spatial layer.jackychen
This change only affects 1 pass cbr svc mode. Change-Id: If0da87bb200f7e7762755340c40c8157cc7a16ca
2016-07-21vpx/: apply clang-formatclang-format
Change-Id: I95922a64568bf289863c1564212b6be5beec36df
2016-06-28remove visual studio < 2010 workaroundsJames Zern
BUG=b/29583530 Change-Id: Iafd05637eb65f4da54a9c857e79204a77646858a
2016-06-27Merge "Port metric computation changes from nextgenv2"Yaowu Xu
2016-06-24Port metric computation changes from nextgenv2Yaowu Xu
Change-Id: I4aceffcdf7af59ffeb51984f0345c3a4c7e76a9f
2016-06-24vp9-svc: Remove some unneeded code/comment.Marco
Change-Id: I710707296042d8586109760544ef68e40ae486c3
2016-06-17remove vp10James Zern
development has moved to the nextgenv2 branch and a snapshot from here was used to seed aomedia BUG=b/29457125 Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0
2016-06-15Add vp9 encoder API VP9E_GET_LEVEL to provide bitstream levelhui su
Change-Id: I1ef3df0192491035728fe9d5eb25cc66dc2965de
2016-05-19Revert "Extend the external fb interface to allocate individual planes."James Zern
This reverts commit 6dd7f2b50a65373aa906d678cb5a29fb65531a55. conversion warnings, crashes in 32-bit builds Change-Id: I529ead34cd93c862dd07c9a29d8542dda2fc20ea
2016-05-19Merge "Extend the external fb interface to allocate individual planes."Daniele Castagna
2016-05-18Extend the external fb interface to allocate individual planes.Daniele Castagna
Change-Id: I73e1b9ea6f4c76ae539e2b3292ee4c751d9c7de4
2016-05-11Fix typos in control function for VP9E_SET_TARGET_LEVELhui su
Change-Id: Ic797c6be579c3434681a5e9dbb3900ae49c43958
2016-05-10Add VP9 encoder API for level specification.hui su
Add control API VP9E_SET_TARGET_LEVEL that allows the encoder to control the output bitstream level and/or keep level related statistics. Usage: 255 do not care about level (default) 0 keep level related stats only 10 target for level 1 11 target for level 1.1 . . . 62 target for level 6.2 Usage for vpxenc: --target-level=0/255/10/11... Change-Id: I31d1aeca19358b893e7577b4e63748c8e614034a
2016-05-09Revert "Skip inttypes.h on Darwin"James Zern
This reverts commit 1bec0c5a7e885ec792f6bb658eb3f34ad8f37b15. Breaks desktop Mac builds. Change-Id: I5b79dc29ad544357192ed16a47279716243e51dd
2016-05-04Skip inttypes.h on DarwinBrion Vibber
When building a dynamic framework with Swift compatibility, can't include any headers that aren't in another module or you get an error like this from Xcode on the including project: Include of non-modular header inside framework For some reason the system inttypes.h is not in a module, unlike other standard C library headers... but it doesn't seem to be actually needed on Darwin, so removing it doesn't appear to be a problem. Change-Id: I11d264483c54feefd9d2edf573afaef34ddcd0f2
2016-05-04Break exports for spatial_svc out to fix shared builds without itBrion Vibber
Change-Id: I208c84cce216464b82eaa51945ce17a8e6625673
2016-03-08vp9-svc: Change default spatial bitrate allocation.Marco
Only affects 1 pass cbr svc. Change-Id: I8387219e35e516d9ce890557ee1855f2af8f636a
2016-01-20Vidyo patch: Changes to the scalability code.Marco
Changes to mode selection for 1 pass SVC mode: use base layer motion vector, changes to intra-prediction. Change-Id: I3e883aa04db521cfa026a0b12c9478ea35a344c9
2016-01-04Update IMAGE_ABI_VERSION which wasn't updated after color_range enum was ↵Sasi Inguva
introduced. Change-Id: I83703851f65f93573ebf7d2c0d0f056ba879c07a
2015-12-01Fix a spatial svc test crashDebargha Mukherjee
Fixes crash in 2pass spatial svc test that was introduced in: https://chromium-review.googlesource.com/#/c/313571/6 Change-Id: Iab3e8225a8d159cd33f5849dffe6802e25038047
2015-11-23vp9-svc: Fix to allow setting qp-max/min per spatial and temporal layer.Marco
Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624
2015-10-27VP9-SVC: Allow frame dropping due to overshoot for spatial layers.Marco
For 1 pass CBR mode. Change-Id: I8bceb489a850ec26f05382eecb5c0c32a1bb8883
2015-10-20Merge "vp8cx: remove deprecated reference/entropy controls"James Zern
2015-10-16vp8cx: remove deprecated reference/entropy controlsJames Zern
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been deprecated since the initial public release Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
2015-10-16Add a new enum type vpx_color_range_tYaowu Xu
to make meaning of color_range obvious. Change-Id: I303582e448b82b3203b497e27b22601cc718dfff
2015-10-16vpx/*.h: add VPX_CTRL_* preproc definesJames Zern
allows controls to be tested for at compile-time Change-Id: I1cd01287dc144392956c82e6dbac003f37703039
2015-10-09vpx/*.h, cosmetics: fix some typosJames Zern
Change-Id: Ie9ead2c665c6c065a6b922ab66bae9be63483272
2015-09-25vp9/10: improve support for render_width/height.Ronald S. Bultje
In the decoder, map this to the output variable vpx_image_t.r_w/h. This is intended as an improved version of VP9D_GET_DISPLAY_SIZE, which doesn't work with parallel frame decoding. In the encoder, map this to a codec control func (VP9E_SET_RENDER_SIZE) that takes a w/h pair argument in a int[2] (identical to VP9D_GET_DISPLAY_SIZE). Also add render_size to the encoder_param_get_to_decoder unit test. See issue 1030. Change-Id: I12124c13602d832bf4c44090db08c1009c94c7e8
2015-09-17Add SVC codec control to set frame flags and buffer indices.Marco
Add SVC codec control to set the frame flags and buffer indices for each spatial layer of the current (super)frame to be encoded. This allows the application to set (and change on the fly) the reference frame configuration for spatial layers. Added an example layer pattern (spatial and temporal layers) in vp9_spatial_svc_encoder for the bypass_mode using new control. Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee