summaryrefslogtreecommitdiff
path: root/vpx/vp8cx.h
AgeCommit message (Collapse)Author
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-21vpx/: apply clang-formatclang-format
Change-Id: I95922a64568bf289863c1564212b6be5beec36df
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-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
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-16vpx/*.h: add VPX_CTRL_* preproc definesJames Zern
allows controls to be tested for at compile-time Change-Id: I1cd01287dc144392956c82e6dbac003f37703039
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
2015-09-16Add support for color-range.Ronald S. Bultje
In decoder, export (eventually) into vpx_image_t.range field. In encoder, use oxcf->color_range to set it (same way as for color_space). See issue 1059. Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
2015-08-11Fork VP9 and VP10 codebaseJingning Han
This commit folks the VP9 and VP10 codebase and makes libvpx support VP8, VP9, and VP10. Change-Id: I81782e0b809acb3c9844bee8c8ec8f4d5e8fa356
2015-07-22Added TODOs for two unused #definesYaowu Xu
Change-Id: I70407e9350147d6585667f157d9cfe78c6251d26
2015-07-06Adds macros for new encoder controlsDebargha Mukherjee
To aid version management for integration with ffmpeg by use of: #ifdef VPX_CTRL_<CTRL_ID> ... #endif Change-Id: If550e06de4d3aa3685881f312ce6a86fa9de083b
2015-07-06Expose params min-gf-interval/max-gf-intervalDebargha Mukherjee
Adds two new vp9 parameters --min-gf-interval and --max-gf-interval to enable testing based on frequency of alt-ref frames. Also adds a unit-test to test enforcement of min-gf-interval. For both these parameters the default value is 0, which indicates they are picked by the encoder, based on resolution and framerate considerations. If they are greater than zero, the specified parameter is honored. (Additional note by paulwilkins) Note that there is a slight oddity in that key frames are also GFs and considered part of GF only group. However they are treated as not being part of an arf group because for arf groups the previous GF is assumed to be the terminal or overlay frame for the previous group. (end note) Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
2015-06-03Remove ABI check for 1 pass CBR SVC.Marco
Remove the ABI check for the controls needed for SVC 1 pass CBR mode. Bump up the ABI version. Change-Id: I35b79ee010e14af83c6d1e801d574deaaa2fc7eb
2015-06-02Vidyo patch: Rate control for SVC, 1 pass CBR mode.Marco
-Make Rate control work for SVC 1 pass CBR mode. -Added temporal layering mode. -Fixed bug in non-rd variance partition. -Modified/updated the sample encoders (vp9_spatial_svc_encoder, vpx_temporal_svc_encoder). -Added datarate unittest(s) for 1 pass CBR SVC. Change-Id: Ie94b1b68a56ea1267b5087c625e5df04def2ee48
2015-05-19VP8: For high overshoot, force drop frame and max-out QP.Marco
This allows rate control to react to content of current frame being encoded. Enabling this feature via the setting: screen_content_mode = 2. Change-Id: Ib2c6670551d96f4907495d5b7b76bb8c49e673db
2015-03-24VP9E_GET_ACTIVE_MAP API function.Alex Converse
This is useful when aq mode 3 (cyclic refresh) reactivates segments for refresh. Change-Id: I3ad1d9410b899ede393d82bb8db14e2da4d84eca
2015-03-23vp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.hJames Zern
this matches the other includes and simplifies include paths in builds from source Change-Id: I344902c84f688ef93c9f3a53e7c06c30db49d8d3
2015-03-19put spatial svc behind an ABI checkJames Zern
this removes the CONFIG_* checks from public headers, but means '--enable-experimental --enable-spatial-svc' builds will fail without a local change to the ABI in vpx_encoder.h. this should be all right for testing this experiment. Change-Id: Ief55e7b9d1e8332cfce990275e04c29b30af0c4a
2015-03-13Provide information on codec controlsYaowu Xu
The commit updates the comments in vp8cx.h to make it clear which codec support each of codec control functions. Change-Id: Ibf876e289d4325bbb61ce19311da60d384624c2f
2015-03-12Added comment for vp9 only codec controlsYaowu Xu
Comments are updated to reflect that these controls apply to VP9 only, thereby, to insure the document produced by doxygent to reflect the same fact too. Change-Id: Ic54c88ec066aa0ec4552d43dd4a7016e1f810f42
2015-03-12Rename a vp9 only control with vp9e prefixYaowu Xu
Also updated comments and doc to make it clear that the control is supported in VP9 only. Change-Id: I6f120b65135fc1185695e9e3dc29fbe0d430824b
2015-01-15Fix obvious misses in doxygen mainpageYaowu Xu
Change-Id: I0537769904f0853c9299b36a91391f289acf442c
2015-01-14Merge "Add comments for two SVC related controls"Yaowu Xu
2015-01-14Merge "Add comments for two SVC related controls"Yaowu Xu
2015-01-14Merge "Add comments for control VP9E_SET_TUNE_CONTENT"Yaowu Xu
2015-01-14Merge "Add comments for VP9E_SET_FRAME_PERIODIC_BOOST"Yaowu Xu
2015-01-14Merge "Fix comments for encoder controls"Yaowu Xu
2015-01-14Add comments for two SVC related controlsYaowu Xu
VP9E_SET_SVC VP9E_SET_SVC_PARAMETERS Change-Id: Ie32ffad48b6b53c5a2c44c42ec655bfedf8d2903
2015-01-14Add comments for two SVC related controlsYaowu Xu
VP9E_GET_SVC_LAYER_ID VP9E_REGISTER_CX_CALLBACK Change-Id: I92060bde1a4830268c8e07190d4ee4c37bc05334
2015-01-14Add comments for control VP9E_SET_TUNE_CONTENTYaowu Xu
Change-Id: If1fb5d9f1545cb9753eeda22e699b1ab778452b4
2015-01-14Add comments for VP9E_SET_FRAME_PERIODIC_BOOSTYaowu Xu
Change-Id: Id6decd0024b87da82d85d62ec2f4bdff416faa39
2015-01-14Fix comments for encoder controlsYaowu Xu
This commit added coments for the following encoder controls: VP9E_SET_LOSSLESS VP9E_SET_TILE_COLUMNS VP9E_SET_TILE_ROWS VP9E_SET_FRAME_PARALLEL_DECODING VP9E_SET_AQ_MODE Change-Id: I2f75afd9cce01394f202b8e25f36bf763be0ddeb
2015-01-14Add encoder control for setting color spaceYaowu Xu
This commit adds encoder side control for vp9 to set color space info in the output compressed bitstream. It also amends the "vp9_encoder_params_get_to_decoder" test to verify the correct color space information is passed from the encoder end to decoder end. Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650
2014-12-03Various updates to vp8.Marco
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-11-10Vidyo: Support for one-pass rc-enabled SVC encoderDeb Mukherjee
Adds support for one-pass rc-enabled SVC encoder with callbacks for getting per-layer packets. - the callback function registration is implemented as an encoder control function. - if the callback function is not registered, the old way of aggregating packets with superframe will take effect. - one more control function “VP9E_GET_SVC_LAYER_ID” has been implemented to get the temporal/spatial id from the encoder within the callback. This can be used to get the ids to put on RTP packet. Change-Id: I1a90e00135dde65da128b758e6c00b57299a111a
2014-10-27Add a new control of golden frame boost in CBR modeYaowu Xu
0 means that golden boost is off, and uses average frame target rate, a non-zero number means the percentage of boost over average frame bitrate is given initially to golden frames in CBR mode. Change-Id: If4334fe2cc424b65ae0cce27f71b5561bf1e577d
2014-10-24Add a new control of max bitrate for inter frameYaowu Xu
Change-Id: I205de3611622cff7f751ea8baf9f82784581730a
2014-09-18[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each ↵Minghai Shang
layer vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer. In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder. Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
2014-09-12Merge "Change the control function of VP9 denoiser."JackyChen
2014-09-12Change the control function of VP9 denoiser.JackyChen
Change from VP8E_SET_NOISE_SENSITIVITY to VP9E_SET_NOISE_SENSITIVITY Change-Id: Ia210a7029b26924e30973f0f9798a338e0412407
2014-09-12[spatial svc] Remove useless APIs and variablesMinghai Shang
Change-Id: If8cd3879aa2a498a2b1b97cedb88b2b3bd97f0ba
2014-08-05Add a codec control option to tune for screen content.Alex Converse
Change-Id: I12b0b0a06750cb9a5f1bdc3368deb44137acc9a3
2014-07-14[spatial svc]Implement alt reference framesMinghai Shang
All changes are for spatial svc only. 1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer 2. Use golden reference idx for spatial reference 3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers 4. Add "auto-alt-refs" in svc options Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
2014-05-05Mark VP8E_SET_ARNR_TYPE as being deprecatedAdrian Grange
In a future release we plan to remove the option of setting the ARNR filter type. This patch marks this control as being deprecated as advance warning that it will be removed from the API at some point. Change-Id: I5dcca804b44c7c93b1a10da7d69d19ba6061869c
2014-04-29Revert "Force ARNR filtering to be centered on the ARF frame"Adrian Grange
This reverts commit 59e733ca81b707780901340686ecd7419077eb54. Hold off removing arnr_type to give users the opportunity to change their script files to handle its deprecation. A follow-up patch will mark the control for setting arnr_type as deprecated and it will be removed completely in a later revision of the code. Change-Id: I8b817c744e144d3714234a4cd4309816d0c7e3e8
2014-04-03Add codec control function for enabling frame_periodic_boost.Marco Paniconi
Change-Id: I6371ef7301c6bc3138552bd349e9bd154dee3e08
2014-02-20vp8cx.h: add brief desc. for VP9E_SET_SVC_LAYER_IDJames Zern
fixes doxygen warning related to vpx_svc_layer_id Change-Id: I365688133c1598182488501158de6af4b0f4c546