[FFmpeg-cvslog] ffmpeg: move ost->frame_rate setting code before the filtergraph stuff
Michael Niedermayer
git at videolan.org
Sun May 20 12:35:51 CEST 2012
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun May 20 11:55:25 2012 +0200| [c53326afadde67a6c4e8a611d6bd6855c5071b8c] | committer: Michael Niedermayer
ffmpeg: move ost->frame_rate setting code before the filtergraph stuff
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c53326afadde67a6c4e8a611d6bd6855c5071b8c
---
ffmpeg.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/ffmpeg.c b/ffmpeg.c
index ebe2925..32829b5 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3149,6 +3149,15 @@ static int transcode_init(void)
ist->decoding_needed = 1;
ost->encoding_needed = 1;
+ if (codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+ if (ist && !ost->frame_rate.num)
+ ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25, 1};
+ if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {
+ int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
+ ost->frame_rate = ost->enc->supported_framerates[idx];
+ }
+ }
+
if (!ost->filter &&
(codec->codec_type == AVMEDIA_TYPE_VIDEO ||
codec->codec_type == AVMEDIA_TYPE_AUDIO)) {
@@ -3169,12 +3178,6 @@ static int transcode_init(void)
codec->time_base = (AVRational){ 1, codec->sample_rate };
break;
case AVMEDIA_TYPE_VIDEO:
- if (ist && !ost->frame_rate.num)
- ost->frame_rate = ist->st->r_frame_rate.num ? ist->st->r_frame_rate : (AVRational){25, 1};
- if (ost->enc && ost->enc->supported_framerates && !ost->force_fps) {
- int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
- ost->frame_rate = ost->enc->supported_framerates[idx];
- }
codec->time_base = (AVRational){ost->frame_rate.den, ost->frame_rate.num};
if ( av_q2d(codec->time_base) < 0.001 && video_sync_method != VSYNC_PASSTHROUGH
&& (video_sync_method == VSYNC_CFR || (video_sync_method == VSYNC_AUTO && !(oc->oformat->flags & AVFMT_VARIABLE_FPS)))){
More information about the ffmpeg-cvslog
mailing list