Name Description Size Coverage
decode_to_md5.c 3999 -
decode_with_drops.c 4394 -
postproc.c 4567 -
set_maps.c 7445 -
simple_decoder.c 5507 -
simple_encoder.c 9169 -
svc_context.h SvcContext - input parameters and state to encode a multi-layered spatial SVC frame 3337 -
svc_encodeframe.c @file VP9 SVC encoding support via libvpx 22567 -
twopass_encoder.c 8386 -
vp8_multi_resolution_encoder.c This is an example demonstrating multi-resolution encoding in VP8. High-resolution input video is down-sampled to lower-resolutions. The encoder then encodes the video and outputs multiple bitstreams with different resolutions. This test also allows for settings temporal layers for each spatial layer. Different number of temporal layers per spatial stream may be used. Currently up to 3 temporal layers per spatial stream (encoder) are supported in this test. 23104 -
vp8cx_set_ref.c 5961 -
vp9_lossless_encoder.c 4248 -
vp9_spatial_svc_encoder.c This is an example demonstrating how to implement a multi-layer VP9 encoding scheme based on spatial scalability for video applications that benefit from a scalable bitstream. 48668 -
vp9cx_set_ref.c 9906 -
vpx_dec_fuzzer.cc Fuzzer for libvpx decoders ========================== Requirements -------------- Requires Clang 6.0 or above as -fsanitize=fuzzer is used as a linker option. Steps to build -------------- Clone libvpx repository $git clone https://chromium.googlesource.com/webm/libvpx Create a directory in parallel to libvpx and change directory $mkdir vpx_dec_fuzzer $cd vpx_dec_fuzzer/ Enable sanitizers (Supported: address integer memory thread undefined) $source ../libvpx/tools/set_analyzer_env.sh address Configure libvpx. Note --size-limit and VPX_MAX_ALLOCABLE_MEMORY are defined to avoid Out of memory errors when running generated fuzzer binary $../libvpx/configure --disable-unit-tests --size-limit=12288x12288 \ --extra-cflags="-fsanitize=fuzzer-no-link \ -DVPX_MAX_ALLOCABLE_MEMORY=1073741824" \ --disable-webm-io --enable-debug --disable-vp8-encoder \ --disable-vp9-encoder --disable-examples Build libvpx $make -j32 Build vp9 fuzzer $ $CXX $CXXFLAGS -std=gnu++17 -Wall -Wextra -Wimplicit-fallthrough \ -DDECODER=vp9 -fsanitize=fuzzer -I../libvpx -I. -Wl,--start-group \ ../libvpx/examples/vpx_dec_fuzzer.cc -o ./vpx_dec_fuzzer_vp9 \ ./libvpx.a -Wl,--end-group DECODER should be defined as vp9 or vp8 to enable vp9/vp8 create a corpus directory and copy some ivf files there. Based on which codec (vp8/vp9) is being tested, it is recommended to have corresponding ivf files in corpus directory Empty corpus directoy also is acceptable, though not recommended $mkdir CORPUS && cp some-files CORPUS Run fuzzing: $./vpx_dec_fuzzer_vp9 CORPUS References: http://llvm.org/docs/LibFuzzer.html https://github.com/google/oss-fuzz 5014 -
vpx_enc_fuzzer.cc Fuzzer for libvpx encoders ========================== Requirements -------------- Requires Clang 6.0 or above as -fsanitize=fuzzer is used as a linker option. Steps to build -------------- Clone libvpx repository $git clone https://chromium.googlesource.com/webm/libvpx Create a directory in parallel to libvpx and change directory $mkdir vpx_enc_fuzzer $cd vpx_enc_fuzzer/ Enable sanitizers (Supported: address integer memory thread undefined) $source ../libvpx/tools/set_analyzer_env.sh address Configure libvpx. Note --size-limit and VPX_MAX_ALLOCABLE_MEMORY are defined to avoid Out of memory errors when running generated fuzzer binary $../libvpx/configure --disable-unit-tests --size-limit=12288x12288 \ --extra-cflags="-fsanitize=fuzzer-no-link \ -DVPX_MAX_ALLOCABLE_MEMORY=1073741824" \ --disable-webm-io --enable-debug --enable-vp8-encoder \ --enable-vp9-encoder --disable-examples Build libvpx $make -j32 Build vp9 fuzzer $ $CXX $CXXFLAGS -std=gnu++17 -Wall -Wextra -Wimplicit-fallthrough \ -DENCODER=vp9 -fsanitize=fuzzer -I../libvpx -I. -Wl,--start-group \ ../libvpx/examples/vpx_enc_fuzzer.cc -o ./vpx_enc_fuzzer_vp9 \ ./libvpx.a -Wl,--end-group ENCODER should be defined as vp9 or vp8 to enable vp9/vp8 create a corpus directory and copy some ivf files there. Based on which codec (vp8/vp9) is being tested, it is recommended to have corresponding ivf files in corpus directory Empty corpus directory also is acceptable, though not recommended $mkdir CORPUS && cp some-files CORPUS Run fuzzing: $./vpx_enc_fuzzer_vp9 CORPUS References: http://llvm.org/docs/LibFuzzer.html https://github.com/google/oss-fuzz 7310 -
vpx_temporal_svc_encoder.c 41454 -