[FFmpeg-cvslog] r30841 - in trunk/libswscale: swscale.c swscale_internal.h yuv2rgb.c
Kostya
kostya.shishkov
Fri Mar 5 09:36:10 CET 2010
On Fri, Mar 05, 2010 at 09:32:54AM +0100, benoit wrote:
> Author: benoit
> Date: Fri Mar 5 09:32:54 2010
> New Revision: 30841
>
> Log:
> libswscale: Extend the unaccelerated path of the unscaled yuv2rgb special
> converter with support for rgb444 output format.
> Patch by Janusz Krzysztofik jkrzyszt chez tis icnet pl
>
[...]
> Modified: trunk/libswscale/yuv2rgb.c
> ==============================================================================
> --- trunk/libswscale/yuv2rgb.c Thu Mar 4 17:57:04 2010 (r30840)
> +++ trunk/libswscale/yuv2rgb.c Fri Mar 5 09:32:54 2010 (r30841)
[...]
> @@ -701,6 +731,25 @@ av_cold int ff_yuv2rgb_c_init_tables(Sws
> fill_table(c->table_bU, 1, cbu, y_table + yoffs + 2048);
> fill_gv_table(c->table_gV, 1, cgv);
> break;
> + case 12:
> + rbase = isRgb ? 8 : 0;
> + gbase = 4;
> + bbase = isRgb ? 0 : 8;
> + c->yuvTable = av_malloc(1024*3*2);
> + y_table16 = c->yuvTable;
> + yb = -(384<<16) - oy;
> + for (i = 0; i < 1024; i++) {
> + uint8_t yval = av_clip_uint8((yb + 0x8000) >> 16);
> + y_table16[i ] = (yval >> 4) << rbase;
> + y_table16[i+1024] = (yval >> 4) << gbase;
> + y_table16[i+2048] = (yval >> 4) << bbase;
> + yb += cy;
> + }
Isn't vertical alignment a bit off here?
More information about the ffmpeg-cvslog
mailing list