summaryrefslogtreecommitdiff
path: root/examples
AgeCommit message (Collapse)Author
2018-12-21svc examples: resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Icb7ba5bb5a6d460c4d0419b76ee54af461ca4a52
2018-11-14vpx_dec_fuzzer: Unify single and multi-thread testsHarish Mahendrakar
As thread count is now randomized, serial and threaded modes can be combined to a single binary. With this change, threads takes values between 1 to 64 and tests both single thread and multi-thread variants of the decoders Change-Id: I6dd2a3aa03bff9c0e2c126843b543d46892be696
2018-11-14Added libFuzzer plugin to test decodersHarish Mahendrakar
vpx_dec_fuzzer.cc can be built with clang++ to generate fuzzer binary Build instructions are part of the file Change-Id: I19ba0bd49b236e27b27e81a83f6de59f15bdc994
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-30vp9: Fix rate control stats for bypass mode in sample encoderMarco Paniconi
Allow rate control stats to work for bypass mode in vp9_spatial_svc_encoder.c Change-Id: I66764a006a73b1fd13c07b4fc4e0c88b2bb2a035
2018-08-27vp9-svc: Change default pattern for bypass modeMarco Paniconi
For sample encoder: keep default pattern for bypass mode to example#0. Change-Id: Icddc4600d750a23a44b26517a327b546fd8eb412
2018-08-27Merge "SVC: extend api to specify temporal id for each spatial layers."Jerome Jiang
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-16SVC: extend api to specify temporal id for each spatial layers.Jerome Jiang
BUG=b/112294545 Change-Id: I5be230c8969d69af3ad87068fdf3834ef1af11d9
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-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-06-29vp9-svc: fix strings concatenation in test app.Sergey Silkin
Change-Id: I292a1a5c19fd4f23b332e346d0ccac1a9c8455fc
2018-05-29vp9-svc: Add frame dropper control to sample encoder.Marco Paniconi
Disabled as default as enc_cfg.rc_dropframe_thresh is set to 0 as default. Change-Id: Ia888aa16b1a86a716ec33ea041e8b16b19bf93be
2018-04-18vp9: Changes for scene detection overshoot and SVC.Marco Paniconi
Refactor the scene detection for 1 pass cbr to allow the scene detection to be checked once per superframe (on the base layer), using the full resolution sources. If scene change is detected: check for re-encoding due to large overshoot for all spatial layers withing the superframe. Add speed feature to control the re-encode step. Keep the re-encode step on for now. Small change in nonrd_pickmode to remove the possible skip of golden reference for SVC, when the high_source_sad is set for the superframe. Change only affects SVC encoding with screen-content mode enabled. Change-Id: If4cfb52cb0dd0f0fce1c4214fa8b413f8f803d56
2018-04-06Fix settings for num of tiles in samples & tests.Jerome Jiang
The control is set by log2 of number of threads (such that the number of tiles is the same of number of threads). Thus it should be log2(num_threads) instead of (num_threads >> 1). Change-Id: I2ccec5557e660048dad3e561534e1c74fc8eec1f
2018-04-03Fix to svc sample enocoder for visual studio build.Marco Paniconi
Fix to sample encoder, for visual studio buid failure: conversion from 'uint64_t' to 'int'. Change-Id: I385ab8482e1ee97da9872437f8286d9071e38e0e
2018-04-02vp9-svc: Fix to svc sample encoder for write_out.Marco Paniconi
When writing out stream for spatial layer N, make sure to include all spatial layers up to N. Fixes an issue with the streams when frame dropping occurs. Change-Id: I1e20b7dac6b94dcda751043541dd8a12f7df6d8c
2018-03-30VP9 SVC: Write bitstream for each spatial layer in sample.Jerome Jiang
Added control for denoiser in the sample SVC encoder. Change-Id: I8e62aa2fc13a943eb110cb33e419e912a898bbc7
2018-03-21vp9-svc: Fix to sample encoderMarco Paniconi
Get the correct computation of number of input layers to account for frame drops. Change-Id: I39637381e1981b53c930da67a5c525191de6907d
2018-03-20VP9 SVC: Add control to disable inter layer prediction.Jerome Jiang
Add VP9E_SET_SVC_INTER_LAYER_PRED to disable inter layer (spatial) prediction. 0: prediction on 1: prediction off for all frames 2: prediction off for non key frames Bump up ABI version. Change-Id: I5ab2a96b47e6bef202290fe726bed5f99bd4951f
2018-03-20vp9-svc: Improve frame dropper for spatial layers.Marco Paniconi
SVC frame dropper: modify the logic to allow for individual spatial layers to drop. This removes the constraint that all upper spatial layers must drop when a given spatial layer drops. Add a flag to the pkt to indicate whether a spatial layer is encoded or dropped. This is needed for applications that enable this feature (frame dropping for SVC). For a current spatial layer, if its previous spatial layer is dropped, then disable certain features for that layer: inter-layer prediction, base_mv, partition_reuse, copy partition. Also add the constraint to never drop a spatial layer if its base layer is a key frame. Updates to sample encoder (vp9_spatial_svc_encoder) and the SVC datarate unittests to properly handle frame dropping. Bump up ABI version. Change-Id: I7d14ccf67b8d014a7abfce5ba3989fc623e94067
2018-03-15Merge changes I5501d0d6,I8c863ced,I19895d06,Ifa39353d,I09bd209bJohann Koenig
* changes: vp9_resize.c: assert vp9_highbd_resize_plane conditions vp9_loopfilter.c: zero lfl_uv vp8 rdopt.c: zero rd.[rate_uv|distortion_uv] vp8 mfqe: zero map[] temporal svc: zero layer_target_bitrate
2018-03-14temporal svc: zero layer_target_bitrateJohann
These values are set in main() from user input. Ensure they are cleared out first. Clears a static analysis warning: warning: The right operand of '*' is a garbage value 1000.0 * rc->layer_target_bitrate[0] / rc->layer_framerate[0]; Change-Id: I09bd209be5aff31b87597a24d37a9673fa99381b
2018-03-14spatial svc: set window_size to 15Johann
Static analysis does not recognize that output_rc_stat guards the usage of window_size. Clears this warning: The right operand of '>' is a garbage value if (frame_cnt > (unsigned int)rc.window_size) { set_rate_control_stats sets window_size to 15. Zeroing it just introduces another static analysis warning. Change-Id: Ieee7b81a385f986e42189101cfa39279e519b368
2018-03-13spatial svc: zero sizesJohann
This should be taken care of by parse_superframe_index but the static analysis is not recognizing it because it depends on 'marker' which is read from the bitstream. Clears a static analysis warning: The right operand of '*' is a garbage value rc.layer_encoding_bitrate[layer] += 8.0 * sizes[sl]; Change-Id: I8ee48a98f907bc7b46869fd27a351f33e2e7de71
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-03-13spatial svc: remove unused localsJohann
Clears static analysis warning: Value stored to 'tl' is never read Change-Id: If047a74f508288c63d5b83ed0f3ad34f791f9312
2018-03-13spatial svc: rescope slJohann
sl was passed to set_frame_flags_bypass_mode, triggering an uninitialized variable warning. Inside the function it is only used as a local variable. Change-Id: If743626e9e10fd41d135e3b4ad6196dc4dc90172
2018-02-09VP9 ROI: Fix errors in example encoder.Jerome Jiang
Fix some errors in the vpx_temporal_svc_encoder. Change-Id: Id93f449364dcf72c826ca931df3c8c3d3b80100f
2018-02-09Reland "Add ROI support for VP9."Jerome Jiang
Extended ROI struct suitable for VP9. ROI input from user is passed into internal struct and applied on every frame (except key frame). Enabled usage of all 4 VP9 segment features (delta_qp, delta_lf, skip, ref_frame) via the ROI map input. Made changes to nonrd_pickmode for the ref_frame feature. Only works for realtime speed >= 5. AQ_MODE needs to be turned off for ROI to take effect. Change example in the sample encoder: vpx_temporal_svc_encoder.c to be suitable for VP9. Add datarate test. Bump up ABI version. BUG=webm:1470 Change-Id: I663b8c89862328646f4cc6119752b66efc5dc9ac
2018-01-31vp9 svc: Make top layer non-ref: for 2 TL caseMarco Paniconi
Only affects 2 temporal layer case. Modified the flags for 2 temporal layers to make top layer (top spatial, top temporal) a non-reference frame, conistent with the 3 TL case. Add mismatch check to the datarate test of changing svc pattern on the fly, which is test for 2 temporal layers. This re-applies the change: 254e2f5501d, that was reverted in: 658eb1d675. Change-Id: Ib5fd4a7a0312c0c05329ae75baac480af34b4694
2018-01-31Revert "vp9 svc: fix to make top layer frame non-ref"Marco Paniconi
This reverts commit 254e2f5501d000ca66bc65c5f44bb6a882d4167c. Reason for revert: <INSERT REASONING HERE> Original change's description: > vp9 svc: fix to make top layer frame non-ref > > Add mismatch check to the datarate test of changing svc pattern on the > fly. > > Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9 TBR=marpan@google.com,builds@webmproject.org,jianj@google.com Change-Id: Ibcb600438098f8dc380fe7e1de90cb81fc367468 No-Presubmit: true No-Tree-Checks: true No-Try: true
2018-01-29vp9 svc: fix to make top layer frame non-refJerome Jiang
Add mismatch check to the datarate test of changing svc pattern on the fly. Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9
2018-01-24vp9: Fix to vp9_svc sample encoder for bypass mode.Marco
This fix makes it bitexact to the default SVC pattern, for the example 2 temporal layer case. Change-Id: I4df2063b70f7aecbfc7082f29c8439e05f6db8ac
2018-01-12clang-format v5.0.0 examples/Johann
Attempts to group () expression on their own line. Change-Id: I404f9dd1a91aaa2100925c90162bcdefbead5ad2
2017-12-11vp9 svc: Allow denoising next to highest resolution.Jerome Jiang
Denoise 2 spatial layes at most. Add noise sensitivity level 2 for vp9 such that applications can control whether to denoise the second highest spatial layer. Add tests to cover this case. Change-Id: Ic327d14b29adeba3f0dae547629f43b98d22997f
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-20vp8 simulcast: fix compile warnings.Jerome Jiang
Clean up some prints. Change-Id: I199350e34a8b6fbff9601fcbd11ec68d24da5073
2017-11-17vp9 svc: fix a few compile warnings.Jerome Jiang
Change-Id: I4cb878600038066513ab73f3658990d1245ff2fb
2017-10-17vp8: Enable use of ROI map.Jerome Jiang
Disable cyclic refresh if ROI is used and add flag to properly handle the static_thresh deltas. Remove the ROI test for cyclic refresh (it's allowed but disabled if ROI is used). Add an example in vpx_temporal_svc_encoder.c. Turned off by default. BUG=webm:1470 Change-Id: Ief9ba1d7f967bc00511b412b491c3f70943bfbda
2017-09-25SVC: Add setting for max_intra_rate_pct in sample encoder.Marco
Set it as default to 900. Change-Id: Id2d990925dccff1f6762411c66ea95973440c92f
2017-09-01apply clang-formatclang-format
Change-Id: If4c3e8a396d0fcb304f407b44e28cac3219f038c
2017-08-14vp9 svc: Fix the stats output when sl = 1.Jerome Jiang
Actual frame size and bitrate is all 0 when using SVC sample encoder with sl = 1 because the stats are set in parse_superframe_index which will not caculate properly when sl = 1 since there is no superframe. Use pkt->data.frame.sz instead when sl = 1. Change-Id: I93f5e98a4c779e32b007e1564ba5396af9e34ad6
2017-07-20vp8: Fix compile warning in vp8_multi_resolution_encoder.cMarco
Change-Id: I49c960179dfc1902aa5e5c99915789878c06bc3d
2017-06-20vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.Marco
Sample encoder change: reduce max-intra-rate to 1000 and buf-initial to 600. Paramaters affect target size of key frame. Change-Id: I2be6bc2927f5fa74e19e1efa3fb574d23a503300
2017-06-20vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.Marco
Sample encoder change: reduce max-intra-rate to 1500 and buf-initial to 700. Paramaters affect target size of key frame. Change-Id: I01e238378b63eeef28dfc2178baadffcd3cc7561
2017-06-19vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.Marco
Adjust some parameters in sample encoder: vpx_temporal_svc_encoder. Parameters adjusted to set lower QP for initial key frame, and allow for larger target size on subsequent key frames. Change-Id: I092ad968e5b51b9f495dadb6ee96e810663c910e
2017-06-07vp9: SVC: Enable row-mt in sample encoder.Marco
Change-Id: I4b51043cb3f5955efe947fe4685aed4a21adb8bd
2017-03-14Merge "vp9: Enable row multithreading for SVC in real-time mode."Jerome Jiang