From 259182121336fdb1d15be50b3693904f1e2879e7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 24 Feb 2009 15:04:18 +0000 Subject: [PATCH] Add AVFMT_VARIABLE_FPS to specify which muxers do not need duplicated frames. Originally committed as revision 17554 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avformat.h | 1 + libavformat/avienc.c | 1 + libavformat/matroskaenc.c | 2 +- libavformat/movenc.c | 4 ++-- libavformat/nutenc.c | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 2427f84077..6308940ce5 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -265,6 +265,7 @@ typedef struct AVFormatParameters { #define AVFMT_NOTIMESTAMPS 0x0080 /**< Format does not need / have any timestamps. */ #define AVFMT_GENERIC_INDEX 0x0100 /**< Use generic index building code. */ #define AVFMT_TS_DISCONT 0x0200 /**< Format allows timestamp discontinuities. */ +#define AVFMT_VARIABLE_FPS 0x0400 /**< Format allows variable fps. */ typedef struct AVOutputFormat { const char *name; diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 8d51fa2901..0e55953850 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -606,4 +606,5 @@ AVOutputFormat avi_muxer = { avi_write_packet, avi_write_trailer, .codec_tag= (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0}, + .flags= AVFMT_VARIABLE_FPS, }; diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index e5e87f90d0..44787be2d2 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -909,7 +909,7 @@ AVOutputFormat matroska_muxer = { mkv_write_header, mkv_write_packet, mkv_write_trailer, - .flags = AVFMT_GLOBALHEADER, + .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS, .codec_tag = (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0}, .subtitle_codec = CODEC_ID_TEXT, }; diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 95b881aec2..b73bb15630 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -1841,7 +1841,7 @@ AVOutputFormat mov_muxer = { mov_write_header, mov_write_packet, mov_write_trailer, - .flags = AVFMT_GLOBALHEADER, + .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS, .codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0}, }; #endif @@ -1873,7 +1873,7 @@ AVOutputFormat mp4_muxer = { mov_write_header, mov_write_packet, mov_write_trailer, - .flags = AVFMT_GLOBALHEADER, + .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS, .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0}, }; #endif diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index cbea85da39..3482d5234a 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -820,6 +820,6 @@ AVOutputFormat nut_muxer = { write_header, write_packet, write_trailer, - .flags = AVFMT_GLOBALHEADER, + .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS, .codec_tag= (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, ff_nut_subtitle_tags, 0}, };