st->codec.height = ap->height;
break;
default:
- abort();
- break;
+ return -1;
}
} else {
- abort();
+ return -1;
}
return 0;
}
st->codec.codec_type = CODEC_TYPE_AUDIO;
st->codec.codec_id = CODEC_ID_MP2;
- /* XXX: read the first frame and extract rate and channels */
- st->codec.sample_rate = 44100;
- st->codec.channels = 2;
+ /* the parameters will be extracted from the compressed bitstream */
return 0;
}
st->codec.codec_type = CODEC_TYPE_VIDEO;
st->codec.codec_id = s->format->video_codec;
+ /* for mjpeg, specify frame rate */
+ if (st->codec.codec_id == CODEC_ID_MJPEG) {
+ if (ap) {
+ st->codec.frame_rate = ap->frame_rate;
+ } else {
+ st->codec.frame_rate = 25 * FRAME_RATE_BASE;
+ }
+ }
return 0;
}
raw_read_close,
};
+AVFormat mjpeg_format = {
+ "mjpeg",
+ "MJPEG video",
+ "video/x-mjpeg",
+ "mjpg,mjpeg",
+ 0,
+ CODEC_ID_MJPEG,
+ raw_write_header,
+ raw_write_packet,
+ raw_write_trailer,
+ video_read_header,
+ raw_read_packet,
+ raw_read_close,
+};
+
AVFormat pcm_format = {
"pcm",
"pcm raw format",
register_avformat(&ac3_format);
register_avformat(&mpeg_mux_format);
register_avformat(&mpeg1video_format);
+ register_avformat(&mjpeg_format);
register_avformat(&h263_format);
register_avformat(&rm_format);
register_avformat(&asf_format);
register_avformat(&avi_format);
register_avformat(&mpjpeg_format);
register_avformat(&jpeg_format);
+ register_avformat(&single_jpeg_format);
register_avformat(&swf_format);
register_avformat(&wav_format);
register_avformat(&pcm_format);