On Sat, Mar 16, 2013 at 6:15 PM, Anton Khirnov <[email protected]> wrote: > It is supposed to be height * linesize, not width * linesize. > Thanks to Hendrik Leppkes for pointing out the bug. > --- > libavcodec/utils.c | 4 ++-- > libavfilter/buffersrc.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/utils.c b/libavcodec/utils.c > index 818dc57..4d57865 100644 > --- a/libavcodec/utils.c > +++ b/libavcodec/utils.c > @@ -667,8 +667,8 @@ do { > \ > planes = (desc->flags & PIX_FMT_PLANAR) ? desc->nb_components : > 1; > > for (i = 0; i < planes; i++) { > - int h_shift = (i == 1 || i == 2) ? desc->log2_chroma_h : > 0; > - int plane_size = (frame->width >> h_shift) * > frame->linesize[i]; > + int v_shift = (i == 1 || i == 2) ? desc->log2_chroma_h : > 0; > + int plane_size = (frame->height >> v_shift) * > frame->linesize[i]; > > WRAP_PLANE(frame->buf[i], frame->data[i], plane_size); > } > diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c > index d35b302..65cacf7 100644 > --- a/libavfilter/buffersrc.c > +++ b/libavfilter/buffersrc.c > @@ -193,8 +193,8 @@ do { > \ > planes = (desc->flags & PIX_FMT_PLANAR) ? desc->nb_components : 1; > > for (i = 0; i < planes; i++) { > - int h_shift = (i == 1 || i == 2) ? desc->log2_chroma_h : 0; > - int plane_size = (frame->width >> h_shift) * frame->linesize[i]; > + int v_shift = (i == 1 || i == 2) ? desc->log2_chroma_w : 0;
I know i am too late spotting this, but why change log2_chroma_h to log2_chroma_w ? > + int plane_size = (frame->height >> v_shift) * frame->linesize[i]; > > WRAP_PLANE(frame->buf[i], frame->data[i], plane_size); > } > -- > 1.7.10.4 > _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
