|
@@ -66,7 +66,7 @@ static AVCodec *c = NULL; |
|
|
static AVCodec *AVCodecInitialize(enum AVCodecID codec_id) |
|
|
static AVCodec *AVCodecInitialize(enum AVCodecID codec_id) |
|
|
{ |
|
|
{ |
|
|
AVCodec *res; |
|
|
AVCodec *res; |
|
|
avcodec_register_all(); |
|
|
|
|
|
|
|
|
|
|
|
av_log_set_level(AV_LOG_PANIC); |
|
|
av_log_set_level(AV_LOG_PANIC); |
|
|
res = avcodec_find_decoder(codec_id); |
|
|
res = avcodec_find_decoder(codec_id); |
|
|
if (!res) |
|
|
if (!res) |
|
@@ -140,8 +140,20 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
|
|
int *got_picture_ptr, |
|
|
int *got_picture_ptr, |
|
|
const AVPacket *avpkt) = NULL; |
|
|
const AVPacket *avpkt) = NULL; |
|
|
|
|
|
|
|
|
if (!c) |
|
|
|
|
|
|
|
|
if (!c) { |
|
|
|
|
|
#ifdef FFMPEG_DECODER |
|
|
|
|
|
#define DECODER_SYMBOL0(CODEC) ff_##CODEC##_decoder |
|
|
|
|
|
#define DECODER_SYMBOL(CODEC) DECODER_SYMBOL0(CODEC) |
|
|
|
|
|
extern AVCodec DECODER_SYMBOL(FFMPEG_DECODER); |
|
|
|
|
|
avcodec_register(&DECODER_SYMBOL(FFMPEG_DECODER)); |
|
|
|
|
|
int codec_id = DECODER_SYMBOL(FFMPEG_DECODER).id; |
|
|
|
|
|
|
|
|
|
|
|
c = AVCodecInitialize(codec_id); // Done once. |
|
|
|
|
|
#else |
|
|
|
|
|
avcodec_register_all(); |
|
|
c = AVCodecInitialize(FFMPEG_CODEC); // Done once. |
|
|
c = AVCodecInitialize(FFMPEG_CODEC); // Done once. |
|
|
|
|
|
#endif |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
switch (c->type) { |
|
|
switch (c->type) { |
|
|
case AVMEDIA_TYPE_AUDIO : decode_handler = avcodec_decode_audio4; break; |
|
|
case AVMEDIA_TYPE_AUDIO : decode_handler = avcodec_decode_audio4; break; |
|
|