提交 58f26ba9 编写于 作者: F Fabrice Bellard

changed opendivx to mpeg4


Originally committed as revision 102 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 935442b5
......@@ -58,9 +58,9 @@ CodecTag codec_bmp_tags[] = {
{ CODEC_ID_H263, MKTAG('U', '2', '6', '3') },
{ CODEC_ID_H263I, MKTAG('I', '2', '6', '3') }, /* intel h263 */
{ CODEC_ID_MJPEG, MKTAG('M', 'J', 'P', 'G') },
{ CODEC_ID_OPENDIVX, MKTAG('D', 'I', 'V', 'X') },
{ CODEC_ID_OPENDIVX, MKTAG('d', 'i', 'v', 'x') },
{ CODEC_ID_OPENDIVX, MKTAG(0x04, 0, 0, 0) }, /* some broken avi use this */
{ CODEC_ID_MPEG4, MKTAG('D', 'I', 'V', 'X') },
{ CODEC_ID_MPEG4, MKTAG('d', 'i', 'v', 'x') },
{ CODEC_ID_MPEG4, MKTAG(0x04, 0, 0, 0) }, /* some broken avi use this */
{ CODEC_ID_MSMPEG4, MKTAG('D', 'I', 'V', '3') }, /* default signature when using MSMPEG4 */
{ CODEC_ID_MSMPEG4, MKTAG('M', 'P', '4', '3') },
{ 0, 0 },
......
......@@ -292,7 +292,7 @@ void video_decode_example(const char *outfilename, const char *filename)
/* put default values */
memset(c, 0, sizeof(*c));
/* for some codecs, such as msmpeg4 and opendivx, width and height
/* for some codecs, such as msmpeg4 and mpeg4, width and height
MUST be initialized there because these info are not available
in the bitstream */
......@@ -320,9 +320,9 @@ void video_decode_example(const char *outfilename, const char *filename)
and this is the only method to use them because you cannot
know the compressed data size before analysing it.
BUT some other codecs (msmpeg4, opendivx) are inherently
frame based, so you must call them with all the data for
one frame exactly. You must also initialize 'width' and
BUT some other codecs (msmpeg4, mpeg4) are inherently frame
based, so you must call them with all the data for one
frame exactly. You must also initialize 'width' and
'height' before initializing them. */
/* NOTE2: some codecs allow the raw parameters (frame size,
......
......@@ -283,7 +283,7 @@ int MPV_encode_init(AVCodecContext *avctx)
s->out_format = FMT_H263;
s->h263_rv10 = 1;
break;
case CODEC_ID_OPENDIVX:
case CODEC_ID_MPEG4:
s->out_format = FMT_H263;
s->h263_pred = 1;
s->unrestricted_mv = 1;
......@@ -1341,10 +1341,10 @@ AVCodec mjpeg_encoder = {
MPV_encode_end,
};
AVCodec opendivx_encoder = {
"opendivx",
AVCodec mpeg4_encoder = {
"mpeg4",
CODEC_TYPE_VIDEO,
CODEC_ID_OPENDIVX,
CODEC_ID_MPEG4,
sizeof(MpegEncContext),
MPV_encode_init,
MPV_encode_picture,
......
......@@ -31,6 +31,7 @@ enum OutputFormat {
#define MPEG_BUF_SIZE (16 * 1024)
typedef struct MpegEncContext {
struct AVCodecContext *avctx;
/* the following parameters must be initialized before encoding */
int width, height; /* picture size. must be a multiple of 16 */
int gop_size;
......@@ -40,7 +41,7 @@ typedef struct MpegEncContext {
enum OutputFormat out_format; /* output format */
int h263_plus; /* h263 plus headers */
int h263_rv10; /* use RV10 variation for H263 */
int h263_pred; /* use OpenDIVX (aka mpeg4) ac/dc predictions */
int h263_pred; /* use mpeg4/h263 ac/dc predictions */
int h263_msmpeg4; /* generate MSMPEG4 compatible stream */
int h263_intel; /* use I263 intel h263 header */
int fixed_qscale; /* fixed qscale if non zero */
......
......@@ -350,7 +350,7 @@ void avcodec_register_all(void)
register_avcodec(&h263p_encoder);
register_avcodec(&rv10_encoder);
register_avcodec(&mjpeg_encoder);
register_avcodec(&opendivx_encoder);
register_avcodec(&mpeg4_encoder);
register_avcodec(&msmpeg4_encoder);
#endif /* CONFIG_ENCODERS */
register_avcodec(&pcm_codec);
......@@ -359,7 +359,7 @@ void avcodec_register_all(void)
/* decoders */
#ifdef CONFIG_DECODERS
register_avcodec(&h263_decoder);
register_avcodec(&opendivx_decoder);
register_avcodec(&mpeg4_decoder);
register_avcodec(&msmpeg4_decoder);
register_avcodec(&mpeg_decoder);
register_avcodec(&h263i_decoder);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册