Originally committed as revision 102 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
| @@ -58,9 +58,9 @@ CodecTag codec_bmp_tags[] = { | |||||
| { CODEC_ID_H263, MKTAG('U', '2', '6', '3') }, | { CODEC_ID_H263, MKTAG('U', '2', '6', '3') }, | ||||
| { CODEC_ID_H263I, MKTAG('I', '2', '6', '3') }, /* intel h263 */ | { CODEC_ID_H263I, MKTAG('I', '2', '6', '3') }, /* intel h263 */ | ||||
| { CODEC_ID_MJPEG, MKTAG('M', 'J', 'P', 'G') }, | { 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('D', 'I', 'V', '3') }, /* default signature when using MSMPEG4 */ | ||||
| { CODEC_ID_MSMPEG4, MKTAG('M', 'P', '4', '3') }, | { CODEC_ID_MSMPEG4, MKTAG('M', 'P', '4', '3') }, | ||||
| { 0, 0 }, | { 0, 0 }, | ||||
| @@ -292,7 +292,7 @@ void video_decode_example(const char *outfilename, const char *filename) | |||||
| /* put default values */ | /* put default values */ | ||||
| memset(c, 0, sizeof(*c)); | 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 | MUST be initialized there because these info are not available | ||||
| in the bitstream */ | 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 | and this is the only method to use them because you cannot | ||||
| know the compressed data size before analysing it. | 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. */ | 'height' before initializing them. */ | ||||
| /* NOTE2: some codecs allow the raw parameters (frame size, | /* 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->out_format = FMT_H263; | ||||
| s->h263_rv10 = 1; | s->h263_rv10 = 1; | ||||
| break; | break; | ||||
| case CODEC_ID_OPENDIVX: | |||||
| case CODEC_ID_MPEG4: | |||||
| s->out_format = FMT_H263; | s->out_format = FMT_H263; | ||||
| s->h263_pred = 1; | s->h263_pred = 1; | ||||
| s->unrestricted_mv = 1; | s->unrestricted_mv = 1; | ||||
| @@ -1341,10 +1341,10 @@ AVCodec mjpeg_encoder = { | |||||
| MPV_encode_end, | MPV_encode_end, | ||||
| }; | }; | ||||
| AVCodec opendivx_encoder = { | |||||
| "opendivx", | |||||
| AVCodec mpeg4_encoder = { | |||||
| "mpeg4", | |||||
| CODEC_TYPE_VIDEO, | CODEC_TYPE_VIDEO, | ||||
| CODEC_ID_OPENDIVX, | |||||
| CODEC_ID_MPEG4, | |||||
| sizeof(MpegEncContext), | sizeof(MpegEncContext), | ||||
| MPV_encode_init, | MPV_encode_init, | ||||
| MPV_encode_picture, | MPV_encode_picture, | ||||
| @@ -31,6 +31,7 @@ enum OutputFormat { | |||||
| #define MPEG_BUF_SIZE (16 * 1024) | #define MPEG_BUF_SIZE (16 * 1024) | ||||
| typedef struct MpegEncContext { | typedef struct MpegEncContext { | ||||
| struct AVCodecContext *avctx; | |||||
| /* the following parameters must be initialized before encoding */ | /* the following parameters must be initialized before encoding */ | ||||
| int width, height; /* picture size. must be a multiple of 16 */ | int width, height; /* picture size. must be a multiple of 16 */ | ||||
| int gop_size; | int gop_size; | ||||
| @@ -40,7 +41,7 @@ typedef struct MpegEncContext { | |||||
| enum OutputFormat out_format; /* output format */ | enum OutputFormat out_format; /* output format */ | ||||
| int h263_plus; /* h263 plus headers */ | int h263_plus; /* h263 plus headers */ | ||||
| int h263_rv10; /* use RV10 variation for H263 */ | 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_msmpeg4; /* generate MSMPEG4 compatible stream */ | ||||
| int h263_intel; /* use I263 intel h263 header */ | int h263_intel; /* use I263 intel h263 header */ | ||||
| int fixed_qscale; /* fixed qscale if non zero */ | int fixed_qscale; /* fixed qscale if non zero */ | ||||
| @@ -350,7 +350,7 @@ void avcodec_register_all(void) | |||||
| register_avcodec(&h263p_encoder); | register_avcodec(&h263p_encoder); | ||||
| register_avcodec(&rv10_encoder); | register_avcodec(&rv10_encoder); | ||||
| register_avcodec(&mjpeg_encoder); | register_avcodec(&mjpeg_encoder); | ||||
| register_avcodec(&opendivx_encoder); | |||||
| register_avcodec(&mpeg4_encoder); | |||||
| register_avcodec(&msmpeg4_encoder); | register_avcodec(&msmpeg4_encoder); | ||||
| #endif /* CONFIG_ENCODERS */ | #endif /* CONFIG_ENCODERS */ | ||||
| register_avcodec(&pcm_codec); | register_avcodec(&pcm_codec); | ||||
| @@ -359,7 +359,7 @@ void avcodec_register_all(void) | |||||
| /* decoders */ | /* decoders */ | ||||
| #ifdef CONFIG_DECODERS | #ifdef CONFIG_DECODERS | ||||
| register_avcodec(&h263_decoder); | register_avcodec(&h263_decoder); | ||||
| register_avcodec(&opendivx_decoder); | |||||
| register_avcodec(&mpeg4_decoder); | |||||
| register_avcodec(&msmpeg4_decoder); | register_avcodec(&msmpeg4_decoder); | ||||
| register_avcodec(&mpeg_decoder); | register_avcodec(&mpeg_decoder); | ||||
| register_avcodec(&h263i_decoder); | register_avcodec(&h263i_decoder); | ||||