[FFmpeg-cvslog] ffmpeg: Support preserving the source key frame timings
anatolschwarz
git at videolan.org
Sat May 16 13:14:19 CEST 2015
ffmpeg | branch: master | anatolschwarz <anatol2002 at 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);
}
}
More information about the ffmpeg-cvslog
mailing list