diff options
author | anatolschwarz <anatol2002@gmail.com> | 2015-05-05 16:14:35 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-16 12:55:19 +0200 |
commit | 77cc0d5b596cd2f1d399f21a615ae6c5fc0dfadb (patch) | |
tree | 68dcb60ee73643185ebc32d2c1de428c77811bef /ffmpeg.c | |
parent | 3a91a07f15e89633c49ab8f6ea08f9ea4a2696d0 (diff) | |
download | ffmpeg-77cc0d5b596cd2f1d399f21a615ae6c5fc0dfadb.tar.gz |
ffmpeg: Support preserving the source key frame timings
Added option "source" to force_key_frames
Diffstat (limited to 'ffmpeg.c')
-rw-r--r-- | ffmpeg.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -1104,6 +1104,10 @@ static void do_video_out(AVFormatContext *s, } ost->forced_keyframes_expr_const_values[FKF_N] += 1; + } else if ( ost->forced_keyframes + && !strncmp(ost->forced_keyframes, "source", 6) + && in_picture->key_frame==1) { + forced_keyframe = 1; } if (forced_keyframe) { @@ -2942,7 +2946,10 @@ static int transcode_init(void) ost->forced_keyframes_expr_const_values[FKF_N_FORCED] = 0; ost->forced_keyframes_expr_const_values[FKF_PREV_FORCED_N] = NAN; ost->forced_keyframes_expr_const_values[FKF_PREV_FORCED_T] = NAN; - } else { + + // Don't parse the 'forced_keyframes' in case of 'keep-source-keyframes', + // parse it only for static kf timings + } else if(strncmp(ost->forced_keyframes, "source", 6)) { parse_forced_key_frames(ost->forced_keyframes, ost, ost->enc_ctx); } } |