Commit 27e084bd authored by Fabrice Bellard's avatar Fabrice Bellard

added raw mjpeg


Originally committed as revision 94 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 13a7d16e
...@@ -76,11 +76,10 @@ static int raw_read_header(AVFormatContext *s, ...@@ -76,11 +76,10 @@ static int raw_read_header(AVFormatContext *s,
st->codec.height = ap->height; st->codec.height = ap->height;
break; break;
default: default:
abort(); return -1;
break;
} }
} else { } else {
abort(); return -1;
} }
return 0; return 0;
} }
...@@ -130,9 +129,7 @@ static int mp3_read_header(AVFormatContext *s, ...@@ -130,9 +129,7 @@ static int mp3_read_header(AVFormatContext *s,
st->codec.codec_type = CODEC_TYPE_AUDIO; st->codec.codec_type = CODEC_TYPE_AUDIO;
st->codec.codec_id = CODEC_ID_MP2; st->codec.codec_id = CODEC_ID_MP2;
/* XXX: read the first frame and extract rate and channels */ /* the parameters will be extracted from the compressed bitstream */
st->codec.sample_rate = 44100;
st->codec.channels = 2;
return 0; return 0;
} }
...@@ -150,6 +147,14 @@ static int video_read_header(AVFormatContext *s, ...@@ -150,6 +147,14 @@ static int video_read_header(AVFormatContext *s,
st->codec.codec_type = CODEC_TYPE_VIDEO; st->codec.codec_type = CODEC_TYPE_VIDEO;
st->codec.codec_id = s->format->video_codec; 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; return 0;
} }
...@@ -211,6 +216,21 @@ AVFormat mpeg1video_format = { ...@@ -211,6 +216,21 @@ AVFormat mpeg1video_format = {
raw_read_close, 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 = { AVFormat pcm_format = {
"pcm", "pcm",
"pcm raw format", "pcm raw format",
......
...@@ -132,12 +132,14 @@ void register_all(void) ...@@ -132,12 +132,14 @@ void register_all(void)
register_avformat(&ac3_format); register_avformat(&ac3_format);
register_avformat(&mpeg_mux_format); register_avformat(&mpeg_mux_format);
register_avformat(&mpeg1video_format); register_avformat(&mpeg1video_format);
register_avformat(&mjpeg_format);
register_avformat(&h263_format); register_avformat(&h263_format);
register_avformat(&rm_format); register_avformat(&rm_format);
register_avformat(&asf_format); register_avformat(&asf_format);
register_avformat(&avi_format); register_avformat(&avi_format);
register_avformat(&mpjpeg_format); register_avformat(&mpjpeg_format);
register_avformat(&jpeg_format); register_avformat(&jpeg_format);
register_avformat(&single_jpeg_format);
register_avformat(&swf_format); register_avformat(&swf_format);
register_avformat(&wav_format); register_avformat(&wav_format);
register_avformat(&pcm_format); register_avformat(&pcm_format);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment