summaryrefslogtreecommitdiff
path: root/vpx/src
AgeCommit message (Collapse)Author
2023-05-23Add IO for TPL statsJerome Jiang
Overload TempOutFile constructor to allow IO mode. Bug: b/281563704 Change-Id: I1f4f5b29db0e331941b6795e478eeeab51f625ad
2023-05-04Have vpx_codec_error take const vpx_codec_ctx_t *Wan-Teh Chang
Also have vpx_codec_error_detail take vpx_codec_ctx_t *. Both functions are getter functions that don't modify the codec context. Change-Id: I4689022425efbf7b1da5034255ac052fce5e5b4f
2023-05-04Add comments about vpx_codec_enc_init_ver failureWan-Teh Chang
Address the questions: 1. If vpx_codec_enc_init_ver() fails, should I still call vpx_codec_destroy() on the encoder context? 2. Is it safe to call vpx_codec_error_detail() when vpx_codec_enc_init_ver() failed? Change-Id: I1b0e090d11dd9f853fe203f4cbb6080c3c7b0506
2021-12-02clear -Wextra-semi/-Wextra-semi-stmt warningsJames Zern
Bug: chromium:1257449 Change-Id: Ia9aafccc09b611521d4a7aedfe3723393a840c62
2021-07-09Check for addition overflows in vpx_img_set_rect()Wan-Teh Chang
Check for x + w and y + h overflows in vpx_img_set_rect(). Move the declaration of the local variable 'data' to the block it is used in. Change-Id: I6bda875e1853c03135ec6ce29015bcc78bb8b7ba
2021-05-07img_alloc_helper: make align var unsignedJames Zern
quiets an integer sanitizer warning: vpx/src/vpx_image.c:101:25: runtime error: implicit conversion from type 'int' of value -2 (32-bit, signed) to type 'unsigned int' changed the value to 4294967294 (32-bit, unsigned) Change-Id: Ifeac31cc80811081c1ba10aadaa94dc36cd46efa
2021-04-08vpx_image: clear user provided vpx_image_t earlyJames Zern
this avoids uninitialized values and potential misuse of them which could lead to a crash should the function fail this is the same fix that was applied in libaom: d0cac70b5 Fix a free on invalid ptr when img allocation fails Bug: webm:1722 Change-Id: If7a8d08c4b010f12e2e1d848613c0fa7328f1f9c
2020-06-02Add NV12 supportJerome Jiang
Change-Id: Ia2a8221a156e0882079c5a252f59bc84d8f516b1
2020-05-04Remove unneeded null check for entry in for loopWan-Teh Chang
In vpx_codec_control_(), before we enter the for loop, we have already checked if ctx->iface->ctrl_maps is null and handle that as an error. So the for loop can assume ctx->iface->ctrl_maps is not null, which implies 'entry' is not null (both initially and after entry++). Change-Id: Ieafe464d4111fdb77f0586ecfa1835d1cfd44d94
2020-04-02Return VPX_CODEC_INCAPABLE on capability failureWan-Teh Chang
All decoder functions should return the VPX_CODEC_INCAPABLE error code if the algorithm does not have the requested capability. Move the definitions of VPX_CODEC_CAP_FRAME_THREADING and VPX_CODEC_CAP_EXTERNAL_FRAME_BUFFER to the VPX_CODEC_CAP_* section. Change "PUT_SLICE and PUT_FRAME events are posted" to "put_slice and put_frame callbacks are invoked". Also fix some other minor comment errors. This carries back to libvpx the following libaom CL: https://aomedia-review.googlesource.com/c/aom/+/108405 Change-Id: If67a271c9abbb3eebc2359719cc7d9f235b690d2
2020-03-13vpx_codec_enc_config_default: rm unnecessary loopJames Zern
quiets -Wunreachable-code-loop-increment, present since: e57f388bc vpx_codec_enc_config_default: disable 'usage' as g_usage was never supported for vp8/9 this was always a single iteration. if additional usages are added in the future similar to av1 this can be restored. Bug: b/150166387 Change-Id: Ic6f0985829e87694de8b5e0340cffa6c451ed1c2
2019-09-30namespace ARCH_* definesJames Zern
this prevents redefinition warnings if a toolchain sets one BUG=b/117240165 Change-Id: Ib5d8c303cd05b4dbcc8d42c71ecfcba8f6d7b90c
2019-06-19vp8: Allow higher resolution to get periodic keyframe.Jerome Jiang
BUG=webm:1632 Change-Id: Ib05a010245e77f9d502c3e7b8f488fca280ea544
2019-06-14Fix memory leak for vp8 multi-res encoder.Jerome Jiang
BUG=webm:1630 Change-Id: I03e74e78aa0ead66eda7506e921b1774b5442ed5
2019-03-14Enclose macro arguments in parenthesesJerome Jiang
BUG=webm:1606 Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
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-08-16Refactor: move svc example files to from vpx/ to examples/Jerome Jiang
svc_encodeframe.c and svc_context.h are only used by the example encoder. Change-Id: Idb41a5a9d6a229a0bc7d2bc8dbe6575a74efc54c
2018-08-15svc: Force the quantizer to be same as that in encoder config.Jerome Jiang
Change-Id: I0377ca2ebf63792d7a27de4b8e7e08b38659ecde
2018-07-04vp9-svc: add more command line options to test app.Sergey Silkin
This adds the following command line options to vp9_spatial_svc_encoder test app: --drop-frame=<arg> Temporal resampling threshold (buf %) --tune-content=<arg> Tune content type default, screen, film --inter-layer-pred=<arg> 0 - 3: On, Off, Key-frames, Constrained Change-Id: I653d1924fb6e525edb2d1e84739be0b88e773e1c
2018-04-09vpx_image: remove unused image formatsJames Zern
libvpx only emits: VPX_IMG_FMT_{I420,I422,I440,I444,I42016,I42216,I44016,I44416} and additionally supports YV12 as input. interleaved yuv, rgb and alpha formats are unused. Change-Id: Ie2ab1099e950c6e696f475d46882f5c47a174042
2018-03-14remove spatial svc experimentJohann
Change-Id: Ifda11caaf992d10f2d93d6cd1d07b79b6047be05
2018-03-13spatial svc: remove vpx_svc_get_messageJohann
Print error messages as they are encountered. This was the default behavior. Removes a static analysis warning regarding the use of strncat: Null pointer argument in call to string length function As this is the only use of strncat in the library, remove it and the associated public function. Change-Id: Id55305c5a4d65f11da88c3a2203ff824200f526f
2018-01-23vpx_codec_enc_init_multi: fix segfault w/vp9James Zern
vp9 does not support multi-res encoding, the request should not crash. + encode_api_test: unconditionally expose multi-res test vpx_codec_enc_init_multi should fail independent of CONFIG_MULTI_RES_ENCODING if not for the same reason. Change-Id: I44fc58ef70ee4e0e482cb6a5736885f4cb2a8517
2018-01-22Fix crash invalid params for vp8 multres. Add test.Jerome Jiang
Fix is from the patch in the issue. Release memories allocated before early exit. BUG=webm:1482 Change-Id: I64952af99c58241496e03fa55da09fd129a07c77
2017-11-30decouple spatial-svc from encoder abiJames Zern
this is only meant for testing. along with --enable-experimental --enable-spatial-svc require VPX_TEST_SPATIAL_SVC to be defined rather than bumping the encoder ABI. Change-Id: I7f34d9f60300fa31ccf22e1a4aa619392c391b2e
2017-11-17vp9 svc: fix a few compile warnings.Jerome Jiang
Change-Id: I4cb878600038066513ab73f3658990d1245ff2fb
2017-11-13vp9 svc: Change conditions on VPX_ENCODER_ABI_VERSION.Jerome Jiang
VPX_ENCODER_ABI_VERSION was bumped up in 93e83f. Change-Id: Id5707f9f9db56fa96549bc8f54e1cfa04e7fa4cd
2017-10-10Fix alignment in vpx_image without external allocation.Jerome Jiang
This restores behaviors prior to <40c8fde Fix image width alignment. Enable ImageSizeSetting test.>. BUG=b/64710201 Change-Id: I559557afe80d5ff5ea6ac24021561715068e7786
2017-09-28Fix image width alignment. Enable ImageSizeSetting test.Jerome Jiang
BUG=b/64710201 Change-Id: I5465f6c6481d3c9a5e00fcab024cf4ae562b6b01
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
2016-11-28svc_test: fix two warningsJim Bankoski
Use of possibly uninitialized variable and missing test initializer. Change-Id: I2192c81c39ef4239cc11a309850c0ee8781ef17e
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-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-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-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-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
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-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-09SVC sample encoder: Change some settings/update.Marco
Change settings for 1 pass CBR. And only use SET_SVC control(s) if there is at least 1 layer (spatial or temporal). This allows sample encoder to also work for 1 layer case. Change-Id: I5b0a33c25afb2f24a3a8aa4ec8ade9afc87cd702
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
2014-11-18Changes SvcContext_t to SvcContextDeb Mukherjee
Fixes a borg build. Change-Id: I8cb510577e8d8bbc7a2e64f9e1bdfe883f49cb61
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