uint32_t last_block_size;
uint32_t last_block_samples;
uint32_t data_start;
- uint8_t *table;
+ uint8_t table[256 * 32];
uint8_t *adpc;
BRSTMCoeffOffset offsets[256];
int little_endian;
{
BRSTMDemuxContext *b = s->priv_data;
- av_freep(&b->table);
av_freep(&b->adpc);
return 0;
}
avio_skip(s->pb, pos + toffset - avio_tell(s->pb));
- b->table = av_mallocz(32 * st->codecpar->channels);
- if (!b->table)
- return AVERROR(ENOMEM);
for (ch = 0; ch < st->codecpar->channels; ch++) {
if (!bfstm)
av_log(s, AV_LOG_ERROR, "adpcm_thp requires ADPC chunk, but none was found.\n");
return AVERROR_INVALIDDATA;
}
- if (!b->table) {
- b->table = av_mallocz(32 * par->channels);
- if (!b->table)
- return AVERROR(ENOMEM);
- }
if (size > (INT_MAX - 32 - 4) ||
(32 + 4 + size) > (INT_MAX / par->channels) ||
return 0;
}
-AVInputFormat ff_brstm_demuxer = {
+const AVInputFormat ff_brstm_demuxer = {
.name = "brstm",
.long_name = NULL_IF_CONFIG_SMALL("BRSTM (Binary Revolution Stream)"),
.priv_data_size = sizeof(BRSTMDemuxContext),
.extensions = "brstm",
};
-AVInputFormat ff_bfstm_demuxer = {
+const AVInputFormat ff_bfstm_demuxer = {
.name = "bfstm",
.long_name = NULL_IF_CONFIG_SMALL("BFSTM (Binary Cafe Stream)"),
.priv_data_size = sizeof(BRSTMDemuxContext),