On Sat, Jan 26, 2013 at 01:32:52PM -0500, Derek Buitenhuis wrote:
> --- a/libswscale/output.c
> +++ b/libswscale/output.c
> @@ -1261,13 +1261,75 @@ YUV2RGBWRAPPERX(yuv2, rgb_full, xrgb32_full,
> AV_PIX_FMT_ARGB, 0)
> YUV2RGBWRAPPERX(yuv2, rgb_full, bgr24_full, AV_PIX_FMT_BGR24, 0)
> YUV2RGBWRAPPERX(yuv2, rgb_full, rgb24_full, AV_PIX_FMT_RGB24, 0)
>
> +static void
> +yuv2gbrp_full_X_c(SwsContext *c, const int16_t *lumFilter,
> + const int16_t **lumSrc, int lumFilterSize,
> + const int16_t *chrFilter, const int16_t **chrUSrc,
> + const int16_t **chrVSrc, int chrFilterSize,
> + const int16_t **alpSrc, uint8_t **dest,
> + int dstW, int y)
> +{
Could you de-uglify such things please? Prettifying libswscale was quite
a bit of effort back then ...
> --- a/libswscale/swscale_internal.h
> +++ b/libswscale/swscale_internal.h
> @@ -218,6 +218,40 @@ typedef void (*yuv2packedX_fn)(struct SwsContext *c,
> const int16_t *lumFilter,
> +/**
> + * Write one line of horizontally scaled Y/U/V/A to YUV/RGB
> + * output by doing multi-point vertical scaling between input pixels.
> + *
> + * @param c SWS scaling context
> + * @param lumFilter vertical luma/alpha scaling coefficients, 12bit
> [0,4096]
> + * @param lumSrc scaled luma (Y) source data, 15bit for 8-10bit
> output,
> + * 19-bit for 16bit output (in int32_t)
> + * @param lumFilterSize number of vertical luma/alpha input lines to scale
> + * @param chrFilter vertical chroma scaling coefficients, 12bit [0,4096]
> + * @param chrUSrc scaled chroma (U) source data, 15bit for 8-10bit
> output,
> + * 19-bit for 16bit output (in int32_t)
> + * @param chrVSrc scaled chroma (V) source data, 15bit for 8-10bit
> output,
> + * 19-bit for 16bit output (in int32_t)
> + * @param chrFilterSize number of vertical chroma input lines to scale
> + * @param alpSrc scaled alpha (A) source data, 15bit for 8-10bit
> output,
> + * 19-bit for 16bit output (in int32_t)
> + * @param dest pointer to the output planes. For 16bit output, this
> is
> + * uint16_t
> + * @param dstW width of lumSrc and alpSrc in pixels, number of
> pixels
> + * to write into dest[]
> + * @param y vertical line number for this output. This does not
> need
> + * to be used to calculate the offset in the
> destination,
> + * but can be used to generate comfort noise using
> dithering
> + * or some output formats.
> + */
> +typedef void (*yuv2anyX_fn)(struct SwsContext *c, const int16_t *lumFilter,
> + const int16_t **lumSrc, int lumFilterSize,
> + const int16_t *chrFilter,
> + const int16_t **chrUSrc,
> + const int16_t **chrVSrc, int chrFilterSize,
> + const int16_t **alpSrc, uint8_t **dest,
> + int dstW, int y);
same
Diego
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel