Commit e1a96acc authored by michael's avatar michael

Add AVFMT_VARIABLE_FPS to specify which muxers dont need duplicated frames.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@17554 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 2e23933a
...@@ -265,6 +265,7 @@ typedef struct AVFormatParameters { ...@@ -265,6 +265,7 @@ typedef struct AVFormatParameters {
#define AVFMT_NOTIMESTAMPS 0x0080 /**< Format does not need / have any timestamps. */ #define AVFMT_NOTIMESTAMPS 0x0080 /**< Format does not need / have any timestamps. */
#define AVFMT_GENERIC_INDEX 0x0100 /**< Use generic index building code. */ #define AVFMT_GENERIC_INDEX 0x0100 /**< Use generic index building code. */
#define AVFMT_TS_DISCONT 0x0200 /**< Format allows timestamp discontinuities. */ #define AVFMT_TS_DISCONT 0x0200 /**< Format allows timestamp discontinuities. */
#define AVFMT_VARIABLE_FPS 0x0400 /**< Format allows variable fps. */
typedef struct AVOutputFormat { typedef struct AVOutputFormat {
const char *name; const char *name;
......
...@@ -606,4 +606,5 @@ AVOutputFormat avi_muxer = { ...@@ -606,4 +606,5 @@ AVOutputFormat avi_muxer = {
avi_write_packet, avi_write_packet,
avi_write_trailer, avi_write_trailer,
.codec_tag= (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0}, .codec_tag= (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0},
.flags= AVFMT_VARIABLE_FPS,
}; };
...@@ -909,7 +909,7 @@ AVOutputFormat matroska_muxer = { ...@@ -909,7 +909,7 @@ AVOutputFormat matroska_muxer = {
mkv_write_header, mkv_write_header,
mkv_write_packet, mkv_write_packet,
mkv_write_trailer, mkv_write_trailer,
.flags = AVFMT_GLOBALHEADER, .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
.codec_tag = (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0}, .codec_tag = (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, 0},
.subtitle_codec = CODEC_ID_TEXT, .subtitle_codec = CODEC_ID_TEXT,
}; };
......
...@@ -1841,7 +1841,7 @@ AVOutputFormat mov_muxer = { ...@@ -1841,7 +1841,7 @@ AVOutputFormat mov_muxer = {
mov_write_header, mov_write_header,
mov_write_packet, mov_write_packet,
mov_write_trailer, mov_write_trailer,
.flags = AVFMT_GLOBALHEADER, .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
.codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0}, .codec_tag = (const AVCodecTag* const []){codec_movvideo_tags, codec_movaudio_tags, 0},
}; };
#endif #endif
...@@ -1873,7 +1873,7 @@ AVOutputFormat mp4_muxer = { ...@@ -1873,7 +1873,7 @@ AVOutputFormat mp4_muxer = {
mov_write_header, mov_write_header,
mov_write_packet, mov_write_packet,
mov_write_trailer, mov_write_trailer,
.flags = AVFMT_GLOBALHEADER, .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
.codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0}, .codec_tag = (const AVCodecTag* const []){ff_mp4_obj_type, 0},
}; };
#endif #endif
......
...@@ -820,6 +820,6 @@ AVOutputFormat nut_muxer = { ...@@ -820,6 +820,6 @@ AVOutputFormat nut_muxer = {
write_header, write_header,
write_packet, write_packet,
write_trailer, 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}, .codec_tag= (const AVCodecTag* const []){codec_bmp_tags, codec_wav_tags, ff_nut_subtitle_tags, 0},
}; };
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