Module: libav Branch: master Commit: bec509db4364b9c8b00437939a4197fc12fec3e8
Author: Michael Niedermayer <[email protected]> Committer: Martin Storsjö <[email protected]> Date: Tue Jul 9 17:57:49 2013 +0200 vf_interlace: better handling of odd video size Signed-off-by: Martin Storsjö <[email protected]> --- libavfilter/vf_interlace.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_interlace.c b/libavfilter/vf_interlace.c index ff54896..d654739 100755 --- a/libavfilter/vf_interlace.c +++ b/libavfilter/vf_interlace.c @@ -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) _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
