lavfi/tinterlace: Double aspect ratio for modes merge and pad.
This commit is contained in:
parent
b14361486b
commit
3b4e694ead
@ -121,6 +121,9 @@ static int config_out_props(AVFilterLink *outlink)
|
||||
outlink->w = inlink->w;
|
||||
outlink->h = tinterlace->mode == MODE_MERGE || tinterlace->mode == MODE_PAD ?
|
||||
inlink->h*2 : inlink->h;
|
||||
if (tinterlace->mode == MODE_MERGE || tinterlace->mode == MODE_PAD)
|
||||
outlink->sample_aspect_ratio = av_mul_q(inlink->sample_aspect_ratio,
|
||||
av_make_q(2, 1));
|
||||
|
||||
if (tinterlace->mode == MODE_PAD) {
|
||||
uint8_t black[4] = { 16, 128, 128, 16 };
|
||||
@ -266,6 +269,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
|
||||
out->height = outlink->h;
|
||||
out->interlaced_frame = 1;
|
||||
out->top_field_first = 1;
|
||||
out->sample_aspect_ratio = av_mul_q(cur->sample_aspect_ratio, av_make_q(2, 1));
|
||||
|
||||
/* write odd frame lines into the upper field of the new frame */
|
||||
copy_picture_field(tinterlace, out->data, out->linesize,
|
||||
@ -295,6 +299,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *picref)
|
||||
return AVERROR(ENOMEM);
|
||||
av_frame_copy_props(out, cur);
|
||||
out->height = outlink->h;
|
||||
out->sample_aspect_ratio = av_mul_q(cur->sample_aspect_ratio, av_make_q(2, 1));
|
||||
|
||||
field = (1 + tinterlace->frame) & 1 ? FIELD_UPPER : FIELD_LOWER;
|
||||
/* copy upper and lower fields */
|
||||
|
Loading…
Reference in New Issue
Block a user