[FFmpeg-devel] [PATCH] Fix unaligned fill_rectangle in rv34.c

Lars Täuber lars.taeuber
Fri Aug 28 20:57:40 CEST 2009


Good evening.

On Thu, 27 Aug 2009 21:57:56 +0200 Reimar D?ffinger <Reimar.Doeffinger at gmx.de> wrote:
> So can we get over with this and use attached patch?
> The important cases needs something far simpler than fill_rectangle,
> so it is not that bad code-wise I think.
> 
> +/**
> + * fills a square block with a given uint32_t value
> + * @param dst start of block to fill
> + * @param size width and height of block, must be a either 2 or 4
> + * @param stride line stride to use
> + * @param value value to fill with
> + */
> +static av_always_inline void fill_uint32_block(uint32_t *dst, int size, int stride, uint32_t value)
> +{
> +    if (size == 4) {
> +        dst[0 * stride + 0] = dst[0 * stride + 1] =
> +        dst[0 * stride + 0] = dst[0 * stride + 1] =

Are you sure about the second line?

> +        dst[1 * stride + 0] = dst[1 * stride + 1] =
> +        dst[1 * stride + 2] = dst[1 * stride + 3] =
> +        dst[2 * stride + 0] = dst[2 * stride + 1] =
> +        dst[2 * stride + 2] = dst[2 * stride + 3] =
> +        dst[3 * stride + 0] = dst[3 * stride + 1] =
> +        dst[3 * stride + 2] = dst[3 * stride + 3] = value;
> +    } else {
> +        dst[0 * stride + 0] = dst[0 * stride + 1] =
> +        dst[1 * stride + 0] = dst[1 * stride + 1] = value;
> +    }
> +}


Regards
Lars



More information about the ffmpeg-devel mailing list