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
rather than die_codec(). calling any api functions with an uninitialized
codec context is undefined. this avoids a crash in a call to
vpx_codec_error_detail().
BUG=webm:1688
Change-Id: I4a4feeabc1cafa44c8d2f24587fad79e313dba6d
fmemopen is not preferred during fuzzing.
Removed all file operations.
Removed need for allocating a different input buffer.
data buffer is appropriately incremented and passed directly to decoder
This will also test input being sent in an unaligned buffer to the library.
Removed read_frame function and did the required parsing inline.
Change-Id: I32829b0149dba9339f2e8bb4c0249a4987a630c7
Updated build instructions for vpx_dec_fuzzer to include
-fsanitize=fuzzer-no-link while configuring library
Change-Id: Id158256aa1cfe3d847720e8558cb5998ad4fd777
Force all upper spatial layers to be key frame if the base layer is key.
Mode only works for inter-layer pred=off and non-flexible mode.
Add flag to write out bitstream for each spatial layer in example
encoder.
Change-Id: I5db4543cf8697544ae49464f2157e692640d5256
Also write it to opsnr.stt when internal stats is enabled.
Removed some redundant code in vpxenc.c and vp9cx_set_ref.c
Change-Id: I3700137fff0be92a23e4ab75713db72da1dc4076
Write height and width of top layer to ivf header in SVC.
vpxdec Can't decode it correctly when output is y4m.
Change-Id: I9b2f1d54696611a30e252bdfd182897d191d92b5
Instead of calling get_vpx_decoder_by_name(), derive
decoder interface directly.
This will avoid dependecy on tools_common and hence any potential
updates needed to build fuzzer, when tools_common uses functions
defined in a different file
With this dependency removed, fuzzer no longer needs to enable examples
when building vpx_dec_fuzzer binaries
Change-Id: I05753edf041b4bc742a6dc06e809a8a2929d379f
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
vpx_dec_fuzzer.cc can be built with clang++ to generate fuzzer binary
Build instructions are part of the file
Change-Id: I19ba0bd49b236e27b27e81a83f6de59f15bdc994
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
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
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
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
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