ffmpeg | branch: master | anatolschwarz <anatol2...@gmail.com> | Tue May 5 16:14:35 2015 +0300| [77cc0d5b596cd2f1d399f21a615ae6c5fc0dfadb] | committer: Michael Niedermayer
ffmpeg: Support preserving the source key frame timings Added option "source" to force_key_frames > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77cc0d5b596cd2f1d399f21a615ae6c5fc0dfadb --- ffmpeg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ffmpeg.c b/ffmpeg.c index 49a4326..be8b078 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -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); } } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog