aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2013-04-09 11:43:08 +0200
committerNicolas George <nicolas.george@normalesup.org>2013-04-09 20:16:20 +0200
commitde38e7c8c3dff23e24d6718c115711747cbff949 (patch)
treef6eb0028e950633d504da477cf7d9a46f70e6a0b
parentb4eb06d32535958d71568503cf886f448a5164ed (diff)
downloadffmpeg-de38e7c8c3dff23e24d6718c115711747cbff949.tar.gz
ffmpeg: use a rational for -aspect option.
-rw-r--r--ffmpeg.c6
-rw-r--r--ffmpeg.h2
-rw-r--r--ffmpeg_opt.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index effb042143..78661962fe 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1071,7 +1071,7 @@ static int reap_filters(void)
switch (ost->filter->filter->inputs[0]->type) {
case AVMEDIA_TYPE_VIDEO:
filtered_frame->pts = frame_pts;
- if (!ost->frame_aspect_ratio)
+ if (!ost->frame_aspect_ratio.num)
ost->st->codec->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;
do_video_out(of->ctx, ost, filtered_frame);
@@ -2300,8 +2300,8 @@ static int transcode_init(void)
codec->width = ost->filter->filter->inputs[0]->w;
codec->height = ost->filter->filter->inputs[0]->h;
codec->sample_aspect_ratio = ost->st->sample_aspect_ratio =
- ost->frame_aspect_ratio ? // overridden by the -aspect cli option
- av_d2q(ost->frame_aspect_ratio * codec->height/codec->width, 255) :
+ ost->frame_aspect_ratio.num ? // overridden by the -aspect cli option
+ av_mul_q(ost->frame_aspect_ratio, (AVRational){ codec->height, codec->width }) :
ost->filter->filter->inputs[0]->sample_aspect_ratio;
if (!strncmp(ost->enc->name, "libx264", 7) &&
codec->pix_fmt == AV_PIX_FMT_NONE &&
diff --git a/ffmpeg.h b/ffmpeg.h
index 4b93ab1ad3..7698595752 100644
--- a/ffmpeg.h
+++ b/ffmpeg.h
@@ -331,7 +331,7 @@ typedef struct OutputStream {
int force_fps;
int top_field_first;
- float frame_aspect_ratio;
+ AVRational frame_aspect_ratio;
/* forced key frames */
int64_t *forced_kf_pts;
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index 1f4d89ef89..6ce965edeb 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -1203,7 +1203,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
av_log(NULL, AV_LOG_FATAL, "Invalid aspect ratio: %s\n", frame_aspect_ratio);
exit(1);
}
- ost->frame_aspect_ratio = av_q2d(q);
+ ost->frame_aspect_ratio = q;
}
video_enc->bits_per_raw_sample = frame_bits_per_raw_sample;