[FFmpeg-devel] [PATCH] Introduce av_fill_image_planesizes() (was: swscale-test: add md5 output)

Ramiro Polla ramiro.polla
Wed Sep 22 21:13:21 CEST 2010


On Wed, Sep 15, 2010 at 7:19 PM, Ramiro Polla <ramiro.polla at gmail.com> wrote:
> On Tue, Sep 14, 2010 at 12:53 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>> On Tue, Sep 14, 2010 at 12:47:24PM -0300, Ramiro Polla wrote:
>>> On Tue, Sep 14, 2010 at 12:18 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>> > On Mon, Sep 13, 2010 at 11:25:23PM -0300, Ramiro Polla wrote:
>>> >> On Thu, Sep 9, 2010 at 12:53 PM, Ramiro Polla <ramiro.polla at gmail.com> wrote:
>>> >> > On Wed, Sep 8, 2010 at 11:52 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
>>> >> >> On Sat, Sep 04, 2010 at 01:56:42PM -0300, Ramiro Polla wrote:
>>> >> >> [...]
>>> >> >>> @@ -93,6 +93,18 @@ int av_fill_image_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int heigh
>>> >> >>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? uint8_t *ptr, const int linesizes[4]);
>>> >> >>>
>>> >> >>> ?/**
>>> >> >>> + * Fill plane sizes for an image with pixel format pix_fmt and height height.
>>> >> >>> + *
>>> >> >>> + * @param planesizes[4] array to be filled with the size for each image plane
>>> >> >>> + * @param linesizes[4] the array containing the linesize for each
>>> >> >>> + * plane, should be filled by av_fill_image_linesizes()
>>> >> >>> + * @return the size in bytes required for the image buffer, a negative
>>> >> >>> + * error code in case of failure
>>> >> >>> + */
>>> >> >>> +int av_fill_image_planesizes(int planesizes[4], enum PixelFormat pix_fmt, int height,
>>> >> >>> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? const int linesizes[4]);
>>> >> >>> +
>>> >> >>
>>> >> >> this needs to be updated to the hierachical naming
>>> >> >
>>> >> > Updated.
>>> >>
>>> >> use_* patch updated. add_* patch remains the same.
>>> >
>>> >> ?swscale-test.c | ? 58 +++++++++++++++++++++++++++++++--------------------------
>>> >> ?1 file changed, 32 insertions(+), 26 deletions(-)
>>> >> dc7bd92cc3ed41386e90ff1037173e271468dbed ?use_av_image_fill_planesizes_2.diff
>>> >
>>> > am i confused or is a patch that is supposed to simplify code making it
>>> > bigger?
>>>
>>> It's more correct:
>>> - ? ? ? ?if (dstStride[i])
>>> - ? ? ? ? ? ?dst[i]= av_mallocz(dstStride[i]*dstH+16);
>>> - ? ? ? ?if (dstStride[i] && !dst[i]) {
>>> + ? ? ? ?if (dst_planesizes[i])
>>> + ? ? ? ? ? ?dst[i]= av_mallocz(dst_planesizes[i]+16);
>>> + ? ? ? ?if (dst_planesizes[i] && !dst[i]) {
>>>
>>> The current code makes no distinction of height for chroma planes.
>>> Sure we could >>1 here and there but with av_image_fill_planesizes()
>>
>> that would be +1>>1
>
>> anyway, do as you prefer if this is just about pedantic correctness
>
> does that also go for adding the function? (updated here with minor
> bump and doc/APIchanges entry)

ping



More information about the ffmpeg-devel mailing list