if (!(channel_assign & 1)) {
int i;
for (i = 1; i < 32; i++)
- if (channel_assign & (1 << i))
+ if ((channel_assign >> i) & 1)
st->codecpar->channel_layout |= wsd_to_av_channel_layoyt(s, i);
}
return avio_seek(pb, data_offset, SEEK_SET);
}
+FF_RAW_DEMUXER_CLASS(wsd)
AVInputFormat ff_wsd_demuxer = {
.name = "wsd",
.long_name = NULL_IF_CONFIG_SMALL("Wideband Single-bit Data (WSD)"),
.extensions = "wsd",
.flags = AVFMT_GENERIC_INDEX | AVFMT_NO_BYTE_SEEK,
.raw_codec_id = AV_CODEC_ID_DSD_MSBF,
+ .priv_data_size = sizeof(FFRawDemuxerContext),
+ .priv_class = &wsd_demuxer_class,
};