+ case ID_CMAP:
+ st->codec->extradata_size = data_size;
+ st->codec->extradata = av_malloc(data_size);
+ if (!st->codec->extradata)
+ return AVERROR(ENOMEM);
+ if (avio_read(pb, st->codec->extradata, data_size) < 0)
+ return AVERROR(EIO);
+ break;
+
+ case ID_BMHD:
+ st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+ if (data_size <= 8)
+ return AVERROR_INVALIDDATA;
+ st->codec->width = avio_rb16(pb);
+ st->codec->height = avio_rb16(pb);
+ avio_skip(pb, 4); // x, y offset
+ st->codec->bits_per_coded_sample = avio_r8(pb);
+ if (data_size >= 11) {
+ avio_skip(pb, 1); // masking
+ compression = avio_r8(pb);
+ }
+ if (data_size >= 16) {
+ avio_skip(pb, 3); // paddding, transparent
+ st->sample_aspect_ratio.num = avio_r8(pb);
+ st->sample_aspect_ratio.den = avio_r8(pb);
+ }
+ break;
+
+ case ID_ANNO:
+ case ID_TEXT:
+ metadata_tag = "comment";
+ break;
+
+ case ID_AUTH:
+ metadata_tag = "artist";
+ break;
+
+ case ID_COPYRIGHT:
+ metadata_tag = "copyright";