On Tue, Jan 03, 2012 at 08:24:00PM -0800, Ronald S. Bultje wrote:
> Also document the function somewhat.
> ---
>  libswscale/swscale.c |   21 ++++++++++++++++-----
>  1 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/libswscale/swscale.c b/libswscale/swscale.c
> index 11bb7d6..6cd7c11 100644
> --- a/libswscale/swscale.c
> +++ b/libswscale/swscale.c
> @@ -884,9 +884,20 @@ YUV2PACKED16WRAPPER(yuv2, rgb48, rgb48le, 
> PIX_FMT_RGB48LE)
>  YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48be, PIX_FMT_BGR48BE)
>  YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48le, PIX_FMT_BGR48LE)
>  
> +/*
> + * Write out 2 RGB pixels in the target pixel format.
> + * This function takes a R/G/B LUT as generated by
> + * ff_yuv2rgb_c_init_tables(), which takes care of
> + * things like endianness conversion, shifting and
> + * things.

You sorta should sort out that sort of things first.

> The caller takes care of setting the
> + * correct chroma offset in these tables from the
> + * U/V chroma values.

Do we have any other chroma values?

> This function then uses the
> + * luminance (Y) values to write out the correct

maybe luminance (Y1/Y2) values?

> + * RGB values into the destination buffer.
> + */
>  static av_always_inline void
>  yuv2rgb_write(uint8_t *_dest, int i, unsigned Y1, unsigned Y2,
> -              unsigned U, unsigned V, unsigned A1, unsigned A2,
> +              unsigned A1, unsigned A2,
>                const void *_r, const void *_g, const void *_b, int y,
>                enum PixelFormat target, int hasAlpha)
>  {
> @@ -1053,7 +1064,7 @@ yuv2rgb_X_c_template(SwsContext *c, const int16_t 
> *lumFilter,
>          g = (c->table_gU[U] + c->table_gV[V]);
>          b =  c->table_bU[U];
>  
> -        yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? 
> A2 : 0,
> +        yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
>                        r, g, b, y, target, hasAlpha);
>      }
>  }
> @@ -1089,7 +1100,7 @@ yuv2rgb_2_c_template(SwsContext *c, const int16_t 
> *buf[2],
>              A2 = (abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) >> 
> 19;
>          }
>  
> -        yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? 
> A2 : 0,
> +        yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,
>                        r, g, b, y, target, hasAlpha);
>      }
>  }
> @@ -1121,7 +1132,7 @@ yuv2rgb_1_c_template(SwsContext *c, const int16_t *buf0,
>                  A2 = abuf0[i * 2 + 1] >> 7;
>              }
>  
> -            yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha 
> ? A2 : 0,
> +            yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 
> : 0,
>                            r, g, b, y, target, hasAlpha);
>          }
>      } else {
> @@ -1140,7 +1151,7 @@ yuv2rgb_1_c_template(SwsContext *c, const int16_t *buf0,
>                  A2 = abuf0[i * 2 + 1] >> 7;
>              }
>  
> -            yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha 
> ? A2 : 0,
> +            yuv2rgb_write(dest, i, Y1, Y2, hasAlpha ? A1 : 0, hasAlpha ? A2 
> : 0,
>                            r, g, b, y, target, hasAlpha);
>          }
>      }
> -- 
> 1.7.2.1
> 
> _______________________________________________
> libav-devel mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-devel
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to