提交 bec509db 编写于 作者: M Michael Niedermayer 提交者: Martin Storsjö

vf_interlace: better handling of odd video size

Signed-off-by: NMartin Storsjö <martin@martin.st>
上级 52ea2986
......@@ -126,14 +126,14 @@ static void copy_picture_field(AVFrame *src_frame, AVFrame *dst_frame,
int plane, i, j;
for (plane = 0; plane < desc->nb_components; plane++) {
int lines = (plane == 1 || plane == 2) ? inlink->h >> vsub : inlink->h;
int lines = (plane == 1 || plane == 2) ? -(-inlink->h) >> vsub : inlink->h;
int linesize = av_image_get_linesize(inlink->format, inlink->w, plane);
uint8_t *dstp = dst_frame->data[plane];
const uint8_t *srcp = src_frame->data[plane];
av_assert0(linesize >= 0);
lines /= 2;
lines = (lines + (field_type == FIELD_UPPER)) / 2;
if (field_type == FIELD_LOWER)
srcp += src_frame->linesize[plane];
if (field_type == FIELD_LOWER)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册