X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fwsddec.c;h=2313b0ec4b767ff42e1a5d05cebf184caef03447;hb=0c7f9f714d870b768a68f06310c3175ac7528057;hp=81a4dcc71e956402f008073f7995cd80c27a48db;hpb=22219a3ac46ac18f797c94e4619a34728556786c;p=ffmpeg diff --git a/libavformat/wsddec.c b/libavformat/wsddec.c index 81a4dcc71e9..2313b0ec4b7 100644 --- a/libavformat/wsddec.c +++ b/libavformat/wsddec.c @@ -25,7 +25,7 @@ #include "internal.h" #include "rawdec.h" -static int wsd_probe(AVProbeData *p) +static int wsd_probe(const AVProbeData *p) { if (p->buf_size < 45 || memcmp(p->buf, "1bit", 4) || !AV_RB32(p->buf + 36) || !p->buf[44] || @@ -137,7 +137,7 @@ static int wsd_read_header(AVFormatContext *s) 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); } @@ -161,6 +161,7 @@ static int wsd_read_header(AVFormatContext *s) 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)"), @@ -170,4 +171,6 @@ AVInputFormat ff_wsd_demuxer = { .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, };