movenc: Indicate that negative timestamps are supported
The mov/mp4 muxer has support for handling negative timestamps via edit lists (which customarily is used for handling the 1-frame delay due to B-frames as well). Using the muxer's native way of handling it is better than using the generic offsetting. The generic offsetting is a bit too crude when e.g. the timebase of one track is 1/fps, where the edit lists can handle it accurately. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
c34a96a5dd
commit
0a14fefd68
@ -3265,7 +3265,7 @@ AVOutputFormat ff_mov_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){
|
||||
ff_codec_movvideo_tags, ff_codec_movaudio_tags, 0
|
||||
},
|
||||
@ -3284,7 +3284,7 @@ AVOutputFormat ff_tgp_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ codec_3gp_tags, 0 },
|
||||
.priv_class = &tgp_muxer_class,
|
||||
};
|
||||
@ -3303,7 +3303,7 @@ AVOutputFormat ff_mp4_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ ff_mp4_obj_type, 0 },
|
||||
.priv_class = &mp4_muxer_class,
|
||||
};
|
||||
@ -3321,7 +3321,7 @@ AVOutputFormat ff_psp_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ ff_mp4_obj_type, 0 },
|
||||
.priv_class = &psp_muxer_class,
|
||||
};
|
||||
@ -3338,7 +3338,7 @@ AVOutputFormat ff_tg2_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ codec_3gp_tags, 0 },
|
||||
.priv_class = &tg2_muxer_class,
|
||||
};
|
||||
@ -3356,7 +3356,7 @@ AVOutputFormat ff_ipod_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ codec_ipod_tags, 0 },
|
||||
.priv_class = &ipod_muxer_class,
|
||||
};
|
||||
@ -3374,7 +3374,7 @@ AVOutputFormat ff_ismv_muxer = {
|
||||
.write_header = mov_write_header,
|
||||
.write_packet = mov_write_packet,
|
||||
.write_trailer = mov_write_trailer,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH,
|
||||
.flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE,
|
||||
.codec_tag = (const AVCodecTag* const []){ ff_mp4_obj_type, 0 },
|
||||
.priv_class = &ismv_muxer_class,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user