[FFmpeg-devel] [PATCH3/3] avfilter YUV aligment 32 bytesaligment for Y only and 16 bytes for UV.

Bobby Bingham uhmmmm
Wed Sep 22 00:27:39 CEST 2010


On Tue, 21 Sep 2010 20:43:30 +0100
M?ns Rullg?rd <mans at mansr.com> wrote:

> "Richard Buteau" <rbuteau at rgbnetworks.com> writes:
> 
> >> "Richard Buteau" <rbuteau at rgbnetworks.com> writes:
> >>
> >>> Hi all,
> >>> Some encoder don't support linesize[] that aren't multiple. As an
> >>> example they expect 720/360/360 for yuv image or 732/368/368.
> >>> the avfilter align all linesize on 16 byte, this make a yuv 720/368/368.
> >>> 720 isn't a multiple of 368.
> >>> I added alignment on 32bytes for Y only so it's always 732/368/368
> >>
> >> Why?  Nothing requires alignment greater than 16.  If something did,
> >> this patch would be the wrong way to fix it.
> >
> > The other option to preserve 2:1 ratio between linesize[0] and
> > linesize[1]/linesize[2]
> 
> What makes you believe such a requirement exists?
> 
> Also, don't top-post and do quote properly.
> 

I do remember seeing this comment in libavcodec/utils.c in
avcodec_default_get_buffer:

// NOTE: do not align linesizes individually, this breaks e.g. assumptions
// that linesize[0] == 2*linesize[1] in the MPEG-encoder for 4:2:2

Nothing in libavfilter should be making this assumption, but I can't be
sure about other code.

-- 
Bobby Bingham
??????????????????????



More information about the ffmpeg-devel mailing list