summaryrefslogtreecommitdiff
path: root/vpx/vp8cx.h
AgeCommit message (Collapse)Author
2023-06-07Fix more typos (2/n)Jerome Jiang
kernal -> kernel e.g -> e.g. paritioning -> partitioning partioning -> partitioning coefficents -> coefficients i.e, -> i.e., equivalend -> equivalent recive -> receive resoultions -> resolutions Bug: webm:1803 Change-Id: I1d6176202ee5daee7a64bf59114e8b304aeb4db7
2023-05-04Add Vpx* prefix to Tpl{Block,Frame}StatsJerome Jiang
This is to avoid symbols redifinition when integrating with other libraries. Bug: b/273736974 Change-Id: I891af78b1907504d5bb9f735164aea18c2aba944
2023-05-03Add codec control to export TPL statsJerome Jiang
new codec control: VP9E_GET_TPL_STATS with unit test Bug: b/273736974 Change-Id: I27343bd3f6dffafc86925234537bcdb557bc4079
2023-03-22Revert "Add codec control to get tpl stats"Jerome Jiang
This reverts commit 9c15fb62b3dfe1c698dc28f9efedb022b0ef8eb8. Reason for revert: vpxenc should only use public interface Original change's description: > Add codec control to get tpl stats > > Add command line flag to vpxenc to export tpl stats > > Bug: b/273736974 > Change-Id: I6980096531b0c12fbf7a307fdef4c562d0c29e32 Bug: b/273736974 Change-Id: Ifa8951bb34e5936bbfc33086b22e9fc36d379bc9
2023-03-20Add codec control to get tpl statsJerome Jiang
Add command line flag to vpxenc to export tpl stats Bug: b/273736974 Change-Id: I6980096531b0c12fbf7a307fdef4c562d0c29e32
2023-01-19Add codec control to set per frame QPJerome Jiang
Use case is for 1 pass encoding. Forces max_quantizer = min_quantizer and aq-mode = 0. Applicalble to spatial layers, where user may set the QP per spatial layer. Change-Id: Idfcb7daefde94c475ed1bc0eb8af47c9f309110b
2022-06-13Restore backward compatibilityJerome Jiang
This CL breaks the backward compatibility: 1365e7e1a vp9-svc: Remove VP9E_SET_TEMPORAL_LAYERING_MODE Forcing the value of the next element Bug: webm:1752 Change-Id: I83c774b3aa6cca25f2f14995590fb20c0a1668d4
2022-05-06vp8[cd]x.h: document vpx_codec_vp[89]_[cd]x*James Zern
+ mark the _algo variables as deprecated. this quiets some doxygen warnings Bug: webm:1752 Change-Id: I53b9b796c3d8fef5c713ee4278641198f95b5864
2022-03-02vp9-svc: Remove VP9E_SET_TEMPORAL_LAYERING_MODEMarco Paniconi
The control was never implemented, no need to keep this. temporal_layering_mode is set in the config. Bug: webm:1753 Change-Id: I9a6eb50e82344605ab62775911783af82ac2d401
2022-01-28vpx/vp8[cd]x.h,cosmetics: normalize ctrls to enum orderJames Zern
Change-Id: I49bbd956b3a64008d1abe54de87d7831bc3eede6
2022-01-11Revert "Set unused reference frames to first ref"Jerome Jiang
This reverts commit e7f33a53cf404bbb3688af9b13375b5c090daae4. Change-Id: I54e807220885cb78af6f3c6e48b3eb2c9f1e70b4
2021-12-11Set unused reference frames to first refJianhui Dai
If a reference frame is not referenced, then set the index for that reference to the first one used/referenced instead of unused slot. Unused slot means key frame, as key frame resets all slots with itself. This CL extracts `get_first_ref_frame()` from `reset_fb_idx_unused()` with a typo fixing, and sets all unused reference frames to first ref in vp9 uncompressed header. Bug: webrtc:13442 Change-Id: I99523bc2ceedf27efe376d1113851ff342982181
2021-10-01vpx_roi_map: add delta range infoJames Zern
Change-Id: If2ef4400562075b4e7abadc01638a46c0c7f1859
2021-09-10Add vp8 support to rc libJerome Jiang
For 1 layer CBR only. Support for temporal layers comes later. Rename the library to libvpxrc Bug: b/188853141 Change-Id: Ib7f977b64c05b1a0596870cb7f8e6768cb483850
2021-09-02Add codec control for vp8 external rcJerome Jiang
disable cyclic refresh Change-Id: I7905602919d5780831fad840577e97730ce0afc2
2021-07-22Add control to get QP for all spatial layersJerome Jiang
Change-Id: I77a9884351e71649c8f8632293d9515c60f6adbc
2021-07-13Add codec control for rtc external ratectrl libJerome Jiang
This will do 3 things: Turn off low motion computation Turn off gf update constrain on key frame frequency turn off content mode for cyclic refresh Those are used to verify the external ratectrl lib works as expected. Change-Id: Ic6e61498de82d6b3973e58df246cf5e05f838680
2021-07-02Add codec control to get loopfilter levelJerome Jiang
Change-Id: I70d417da900082160e7ba53315af98eceede257c
2020-10-09Add callback functions for external_rate_controlangiebird
Change-Id: I20a1179a2131d2cd069dae9076aa2c18b80784f3
2020-10-02Add codec control for external rate control libangiebird
VP9E_SET_EXTERNAL_RATE_CONTROL One can assign an external library using the control flag, VP9E_SET_EXTERNAL_RATE_CONTROL. The args alongside the control flag should be of type char**. args[0]: char* points to the path of rate control library args[1]: char* points to the config of the rate control library. Change-Id: Iae47362cdfafa00614bac427884bffcf6944c583
2020-10-02Add codec control to disable loopfilter for vp9Jerome Jiang
Change-Id: I6d693e84570c353d20ec314acea43363956c0590
2020-08-25vp9-rtc: Add control to disable maxq on overshootMarco Paniconi
Add encoder control to disable feature to increase Q on overshoot detection, for CBR. Default (no usage of the control) means the feature is internally enabled. Add the control to the sample encoders, but keep it disabled as default (set to 0, so feature is on). Change-Id: Ia2237bc4aaea9770e5080dab20bfff9e3fd09199
2020-02-18Cap delta_q_uv to -15..15Jerome Jiang
only 4 bits in bitstream Change-Id: I338fe54475e094ee5e556467e0b66c982bb560fa
2020-01-17vp9: add delta q for uv channel. add tests.Jerome Jiang
Add control for delta q for uv. 0 by default. Change-Id: Ib8ed160b1a5c9a61ba15985076f6c6f121477103
2019-09-06vp9-svc: Add new frame drop mode for SVCMarco Paniconi
add SVC framedrop mode: Lower spatial layers are constrained to drop if current spatial layer needs to drop. No change in behavior to other existing modes. Change-Id: I2d37959caf8c4b453b405904831b550367f716ba
2019-08-20Update documentation: CRF works with VPX_Q modeelliottk
Tested that if VPX_Q is set, this variable will still be used to pull the CRF value. Change-Id: I065a219a7acd18b50478d4d0d3dc7ba5e1c90901
2019-04-29vp8cx.h,vpxenc: add note about alt ref rangesJames Zern
BUG=webm:1597 Change-Id: I56345ec621a06dfe1eae7f205874f34bfb40e6e5
2019-04-23Revert "Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums"Sai Deng
This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af. Reason for revert: change the api names will break existing code. Original change's description: > Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums > > Change-Id: I3df5af2c60b774e6d395062077542c52db868236 TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79 No-Presubmit: true No-Tree-Checks: true No-Try: true
2019-04-23Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enumssdeng
Change-Id: I3df5af2c60b774e6d395062077542c52db868236
2019-04-03vp8cx.h: s/VP8E_(SET_MAX_INTER_BITRATE_PCT)/VP9E_$1/James Zern
this was renamed in: 268f10669 Provide information on codec controls but the corresponding type checked control call was missed. Change-Id: I151cb42516b10e551b31273327de4ec1bac3c81b
2019-03-05vp9: map speed > 9 to speed 9.Jerome Jiang
Report warning in example encoder. Change-Id: Iec4cdffce9faa65241756fbdac498214c8b93cc1
2019-01-15vp9: fix definition for VP9E_SET_POSTENCODE_DROPJerome Jiang
Change-Id: I667be78eb7c41154bf44c242992f622f12c31b80
2018-12-20Merge "vpxenc : fix misleading documentation about sharpness."James Bankoski
2018-12-19vpxenc : fix misleading documentation about sharpness.Jim Bankoski
Change-Id: I792c178736a9fc02a84aa83f351e12b7227259b0
2018-12-19vpx/vp8cx.h: fix some typosJames Zern
BUG=webm:1573 Change-Id: I46faa216a4a8278a363a8111237342f73e8467eb
2018-11-07Merge "vp9: postencode drop frame for screen content in CBR."Jerome Jiang
2018-11-06vp9: postencode drop frame for screen content in CBR.Jerome Jiang
Encode the next frame at max q. For layers: post_encode_drop is only check on base spatial layer, and if base is post-encoded-dropped, then whole superframe is dropped. Added API to guard postencode dropping. Turned off by default. Added unittest. BUG=b/112990050 Change-Id: I42fee279014aca616f7a4d9b582cb2bf5da2f2e7
2018-11-05vpx_codec_enc_config_default: disable 'usage'Johann
Found with clang-tidy. This value is unused in libvpx. There is an existing test which ensures this is not used: test/encode_api_test.cc: EXPECT_EQ(VPX_CODEC_INVALID_PARAM, vpx_codec_enc_config_default(kCodecs[i], &cfg, 1)); Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
2018-09-15cosmetics: normalize include guardsJames Zern
use the recommended format [1] of: <PROJECT>_<PATH>_<FILE>_H_ [1] https://google.github.io/styleguide/cppguide.html#The__define_Guard "All header files should have #define guards to prevent multiple inclusion. The format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_." Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
2018-09-05vp9-svc: Allow for setting framerate per spatial layer.Marco Paniconi
Add duration to set_svc_ref_frame_config. BUG=b/113346831 Change-Id: I63613aed6b1183f98d04831600a6bdd645c740df
2018-08-16SVC: extend api to specify temporal id for each spatial layers.Jerome Jiang
BUG=b/112294545 Change-Id: I5be230c8969d69af3ad87068fdf3834ef1af11d9
2018-08-14Add vpxenc control to turn on/off tpl modelJingning Han
The default is set to turn on the temporal dependency model at speed 0. Use --enable-tpl to control turning it on/off when calling vpxenc. Change-Id: I61614cd8100ae57dc01fd46b2a69c5b67287f18a
2018-08-09vp9-svc: Update to SET/GET_SVC_REF_FRAME_CONFIG apiJerome Jiang
Add update_buffer_slot to SVC API to allow for refreshing any of the 8 reference buffers. Remove frame_flags from the struct. Remove svc tests from vp8 build. BUG=b/112292577 Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
2018-06-20vp9-svc: Add support for spatial layer sync frames.Marco Paniconi
Add encoder control to allow application to insert spatial layer sync frame. The sync frame disables temporal prediction for that spatial layer. This is useful for RTC application to have receiver start decoding a higher spatial layer, without inserting a key frame on base spatial layer. If the layer sync is requested on the base spatial layer this then force a key frame, otherwise it only disables the temporal reference for that spatial layer, allowing temporal prediction to continue for the other layers. Although the temporal prediction is disabled and reset on a layer sync frame, the inter-layer prediction for the sync frame is enabled on INTER frames. So the meaning of INTER_LAYER_PRED_OFF_NONKEY is modified to mean disable inter-layer prediction on non-key and non-sync frames. Added unittest for inserting layer sync frames. Bump up ABI version. Change-Id: Id458acc400a77c853551f125c4e7b6d001991f03
2018-06-07vp9 svc: add control to set using second temporal ref.Jerome Jiang
Bump up ABI version. Change-Id: I4498d7ea4ed72994c5f847aa98e75b0150dd7f82
2018-05-24vp9-svc: Add max_consec_drop to SVC frame drop.Marco Paniconi
For any spatial, limits the amount of consecutive frame drop. Change-Id: I692d90363f329f571f2b59e12cc680ad2e76065d
2018-05-22vp9-svc: Add full superframe drop mode.Marco Paniconi
This will check for dropping full superframe if any spatial layer is overshooting. Change-Id: Ic656807028ebef5552301b6d10399fbe3a6c890c
2018-04-24vp9-svc: Add GET control to get SVC pattern info.Marco Paniconi
Copy ref frame index in SVC struct after set in encoder. Rename ext_{lst,gld,alt}_fb_idx to {lst,gld,alt}_fb_idx. Bump up ABI version. BUG=webm:1527 Change-Id: I06209040cb83d374030f40b79f0b36b0efe9f97d
2018-04-09vp9-svc: Make constrained_layer_drop default for svc.Marco Paniconi
Switch the order of constrained and layer drop mode, and keep constrained_layer_drop as the default. Update the svc datarate tests. Change-Id: I764270f7b4964b87b0cd3da6c2f96a628f212a30
2018-03-29VP9 SVC: Add enum type for framedrop_mode.Jerome Jiang
Change-Id: I3d4697b00729553e0860762b9264e29b8a89b9d4