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

Måns Rullgård mans
Wed Sep 22 17:18:30 CEST 2010


"Richard Buteau" <rbuteau at rgbnetworks.com> writes:

>> 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.
> Does that count as a requirement?

That could be seen as a bug.  Either way, your patch makes no sense.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list