On Fri, Dec 06, 2019 at 11:56:13AM -0300, James Almer wrote: > Should increase coverage of some decoders. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > Passing 6 to av_get_default_channel_layout() will return the 5.1 layout but > never 5.1(side), which is for example what the dts decoder actually looks for. > Any suggestion on how to make the fuzzer pick one of the non default layouts > using a given amount of channels?
did you try: diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c index 691a79329f..d53dccdcf5 100644 --- a/tools/target_dec_fuzzer.c +++ b/tools/target_dec_fuzzer.c @@ -212,6 +212,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ctx->codec_tag = bytestream2_get_le32(&gbc); keyframes = bytestream2_get_le64(&gbc); flushpattern = bytestream2_get_le64(&gbc); + ctx->request_channel_layout = bytestream2_get_le64(&gbc); if (extradata_size < size) { ctx->extradata = av_mallocz(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE); > > tools/target_dec_fuzzer.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c > index dcf47b0f4d..fbfbbbc7ac 100644 > --- a/tools/target_dec_fuzzer.c > +++ b/tools/target_dec_fuzzer.c > @@ -47,6 +47,7 @@ > > #include "config.h" > #include "libavutil/avassert.h" > +#include "libavutil/channel_layout.h" > #include "libavutil/imgutils.h" > #include "libavutil/intreadwrite.h" > > @@ -207,6 +208,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t > size) { > > ctx->sample_rate = bytestream2_get_le32(&gbc); > ctx->channels = > (unsigned)bytestream2_get_le32(&gbc) % FF_SANE_NB_CHANNELS; > + ctx->request_channel_layout = > av_get_default_channel_layout((unsigned)bytestream2_get_le32(&gbc) % > FF_SANE_NB_CHANNELS); > ctx->block_align = bytestream2_get_le32(&gbc); > ctx->codec_tag = bytestream2_get_le32(&gbc); > keyframes = bytestream2_get_le64(&gbc); Its better to add reading at the end so as to minimize disruption to existing testcases Thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Opposition brings concord. Out of discord comes the fairest harmony. -- Heraclitus
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".