Commit 38917a22 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

i420_rgb: dead code

parent 640d0794
......@@ -49,150 +49,6 @@
static void SetOffset( int, int, int, int, bool *,
unsigned int *, int * );
#if defined (MODULE_NAME_IS_i420_rgb)
/*****************************************************************************
* I420_RGB16: color YUV 4:2:0 to RGB 16 bpp with dithering
*****************************************************************************
* Horizontal alignment needed:
* - input: 8 pixels (8 Y bytes, 4 U/V bytes), margins not allowed
* - output: 1 pixel (2 bytes), margins allowed
* Vertical alignment needed:
* - input: 2 lines (2 Y lines, 1 U/V line)
* - output: 1 line
*****************************************************************************/
void I420_RGB16_dither( filter_t *p_filter, picture_t *p_src,
picture_t *p_dest )
{
/* We got this one from the old arguments */
uint16_t *p_pic = (uint16_t*)p_dest->p->p_pixels;
uint8_t *p_y = p_src->Y_PIXELS;
uint8_t *p_u = p_src->U_PIXELS;
uint8_t *p_v = p_src->V_PIXELS;
bool b_hscale; /* horizontal scaling type */
unsigned int i_vscale; /* vertical scaling type */
unsigned int i_x, i_y; /* horizontal and vertical indexes */
unsigned int i_real_y; /* y % 4 */
int i_right_margin;
int i_rewind;
int i_scale_count; /* scale modulo counter */
int i_chroma_width = p_filter->fmt_in.video.i_width / 2; /* chroma width */
uint16_t * p_pic_start; /* beginning of the current line for copy */
int i_uval, i_vval; /* U and V samples */
int i_red, i_green, i_blue; /* U and V modified samples */
uint16_t * p_yuv = p_filter->p_sys->p_rgb16;
uint16_t * p_ybase; /* Y dependant conversion table */
/* Conversion buffer pointer */
uint16_t * p_buffer_start = (uint16_t*)p_filter->p_sys->p_buffer;
uint16_t * p_buffer;
/* Offset array pointer */
int * p_offset_start = p_filter->p_sys->p_offset;
int * p_offset;
const int i_source_margin = p_src->p[0].i_pitch
- p_src->p[0].i_visible_pitch;
const int i_source_margin_c = p_src->p[1].i_pitch
- p_src->p[1].i_visible_pitch;
/* The dithering matrices */
int dither10[4] = { 0x0, 0x8, 0x2, 0xa };
int dither11[4] = { 0xc, 0x4, 0xe, 0x6 };
int dither12[4] = { 0x3, 0xb, 0x1, 0x9 };
int dither13[4] = { 0xf, 0x7, 0xd, 0x5 };
for(i_x = 0; i_x < 4; i_x++)
{
dither10[i_x] = dither10[i_x] << (SHIFT - 4 + p_filter->fmt_out.video.i_rrshift);
dither11[i_x] = dither11[i_x] << (SHIFT - 4 + p_filter->fmt_out.video.i_rrshift);
dither12[i_x] = dither12[i_x] << (SHIFT - 4 + p_filter->fmt_out.video.i_rrshift);
dither13[i_x] = dither13[i_x] << (SHIFT - 4 + p_filter->fmt_out.video.i_rrshift);
}
i_right_margin = p_dest->p->i_pitch - p_dest->p->i_visible_pitch;
i_rewind = (-p_filter->fmt_in.video.i_width) & 7;
/* Rule: when a picture of size (x1,y1) with aspect ratio r1 is rendered
* on a picture of size (x2,y2) with aspect ratio r2, if x1 grows to x1'
* then y1 grows to y1' = x1' * y2/x2 * r2/r1 */
SetOffset( p_filter->fmt_in.video.i_width,
p_filter->fmt_in.video.i_height,
p_filter->fmt_out.video.i_width,
p_filter->fmt_out.video.i_height,
&b_hscale, &i_vscale, p_offset_start );
/*
* Perform conversion
*/
i_scale_count = ( i_vscale == 1 ) ?
p_filter->fmt_out.video.i_height :
p_filter->fmt_in.video.i_height;
for( i_y = 0; i_y < p_filter->fmt_in.video.i_height; i_y++ )
{
i_real_y = i_y & 0x3;
p_pic_start = p_pic;
p_buffer = b_hscale ? p_buffer_start : p_pic;
for ( i_x = p_filter->fmt_in.video.i_width / 8; i_x--; )
{
int *p_dither = dither10;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither11;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither12;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither13;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither10;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither11;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither12;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither13;
CONVERT_Y_PIXEL_DITHER(2);
}
/* Here we do some unaligned reads and duplicate conversions, but
* at least we have all the pixels */
if( i_rewind )
{
int *p_dither = dither10;
p_y -= i_rewind;
p_u -= i_rewind >> 1;
p_v -= i_rewind >> 1;
p_buffer -= i_rewind;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither11;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither12;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither13;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither10;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither11;
CONVERT_Y_PIXEL_DITHER(2);
p_dither = dither12;
CONVERT_YUV_PIXEL_DITHER(2);
p_dither = dither13;
CONVERT_Y_PIXEL_DITHER(2);
}
SCALE_WIDTH;
SCALE_HEIGHT( 420, 2 );
p_y += i_source_margin;
if( i_y % 2 )
{
p_u += i_source_margin_c;
p_v += i_source_margin_c;
}
}
}
#endif
/*****************************************************************************
* I420_RGB16: color YUV 4:2:0 to RGB 16 bpp
*****************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment