channels = get_ur_golomb_shorten(&gb, 0);
blocksize = 256;
} else {
- int k;
+ unsigned k;
k = get_ur_golomb_shorten(&gb, 2);
+ if (k > 31)
+ return 0;
internal_ftype = get_ur_golomb_shorten(&gb, k);
k = get_ur_golomb_shorten(&gb, 2);
+ if (k > 31)
+ return 0;
channels = get_ur_golomb_shorten(&gb, k);
k = get_ur_golomb_shorten(&gb, 2);
+ if (k > 31)
+ return 0;
blocksize = get_ur_golomb_shorten(&gb, k);
}
return AVPROBE_SCORE_EXTENSION + 1;
}
-AVInputFormat ff_shorten_demuxer = {
+FF_RAW_DEMUXER_CLASS(shorten)
+const AVInputFormat ff_shorten_demuxer = {
.name = "shn",
.long_name = NULL_IF_CONFIG_SMALL("raw Shorten"),
.read_probe = shn_probe,
.flags = AVFMT_NOBINSEARCH | AVFMT_NOGENSEARCH | AVFMT_NO_BYTE_SEEK | AVFMT_NOTIMESTAMPS,
.extensions = "shn",
.raw_codec_id = AV_CODEC_ID_SHORTEN,
+ .priv_data_size = sizeof(FFRawDemuxerContext),
+ .priv_class = &shorten_demuxer_class,
};