Commit f1c0c6b7 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  ffmpeg: use a rational for -aspect option.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 6a78ec18 de38e7c8
...@@ -1072,7 +1072,7 @@ static int reap_filters(void) ...@@ -1072,7 +1072,7 @@ static int reap_filters(void)
switch (ost->filter->filter->inputs[0]->type) { switch (ost->filter->filter->inputs[0]->type) {
case AVMEDIA_TYPE_VIDEO: case AVMEDIA_TYPE_VIDEO:
filtered_frame->pts = frame_pts; 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; ost->st->codec->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;
do_video_out(of->ctx, ost, filtered_frame); do_video_out(of->ctx, ost, filtered_frame);
...@@ -2312,8 +2312,8 @@ static int transcode_init(void) ...@@ -2312,8 +2312,8 @@ static int transcode_init(void)
codec->width = ost->filter->filter->inputs[0]->w; codec->width = ost->filter->filter->inputs[0]->w;
codec->height = ost->filter->filter->inputs[0]->h; codec->height = ost->filter->filter->inputs[0]->h;
codec->sample_aspect_ratio = ost->st->sample_aspect_ratio = codec->sample_aspect_ratio = ost->st->sample_aspect_ratio =
ost->frame_aspect_ratio ? // overridden by the -aspect cli option ost->frame_aspect_ratio.num ? // overridden by the -aspect cli option
av_d2q(ost->frame_aspect_ratio * codec->height/codec->width, 255) : av_mul_q(ost->frame_aspect_ratio, (AVRational){ codec->height, codec->width }) :
ost->filter->filter->inputs[0]->sample_aspect_ratio; ost->filter->filter->inputs[0]->sample_aspect_ratio;
if (!strncmp(ost->enc->name, "libx264", 7) && if (!strncmp(ost->enc->name, "libx264", 7) &&
codec->pix_fmt == AV_PIX_FMT_NONE && codec->pix_fmt == AV_PIX_FMT_NONE &&
......
...@@ -331,7 +331,7 @@ typedef struct OutputStream { ...@@ -331,7 +331,7 @@ typedef struct OutputStream {
int force_fps; int force_fps;
int top_field_first; int top_field_first;
float frame_aspect_ratio; AVRational frame_aspect_ratio;
/* forced key frames */ /* forced key frames */
int64_t *forced_kf_pts; int64_t *forced_kf_pts;
......
...@@ -1203,7 +1203,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in ...@@ -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); av_log(NULL, AV_LOG_FATAL, "Invalid aspect ratio: %s\n", frame_aspect_ratio);
exit(1); 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; video_enc->bits_per_raw_sample = frame_bits_per_raw_sample;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment