[cvs] / xvidcore / src / image / colorspace.c Repository:
ViewVC logotype

Diff of /xvidcore/src/image/colorspace.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9, Mon Mar 22 22:36:23 2004 UTC revision 1.11, Tue Nov 22 10:23:01 2005 UTC
# Line 38  Line 38 
38  packedFuncPtr abgr_to_yv12;  packedFuncPtr abgr_to_yv12;
39  packedFuncPtr rgba_to_yv12;  packedFuncPtr rgba_to_yv12;
40  packedFuncPtr argb_to_yv12;  packedFuncPtr argb_to_yv12;
 packedFuncPtr yuv_to_yv12;  
41  packedFuncPtr yuyv_to_yv12;  packedFuncPtr yuyv_to_yv12;
42  packedFuncPtr uyvy_to_yv12;  packedFuncPtr uyvy_to_yv12;
43    
# Line 60  Line 59 
59  packedFuncPtr yv12_to_abgr;  packedFuncPtr yv12_to_abgr;
60  packedFuncPtr yv12_to_rgba;  packedFuncPtr yv12_to_rgba;
61  packedFuncPtr yv12_to_argb;  packedFuncPtr yv12_to_argb;
 packedFuncPtr yv12_to_yuv;  
62  packedFuncPtr yv12_to_yuyv;  packedFuncPtr yv12_to_yuyv;
63  packedFuncPtr yv12_to_uyvy;  packedFuncPtr yv12_to_uyvy;
64    
# Line 77  Line 75 
75  planarFuncPtr yv12_to_yv12;  planarFuncPtr yv12_to_yv12;
76    
77    
78  int32_t RGB_Y_tab[256];  static int32_t RGB_Y_tab[256];
79  int32_t B_U_tab[256];  static int32_t B_U_tab[256];
80  int32_t G_U_tab[256];  static int32_t G_U_tab[256];
81  int32_t G_V_tab[256];  static int32_t G_V_tab[256];
82  int32_t R_V_tab[256];  static int32_t R_V_tab[256];
83    
84    
85    
# Line 339  Line 337 
337          ((MAX(0,MIN(255, B)) >> 3) & 0x001f)          ((MAX(0,MIN(255, B)) >> 3) & 0x001f)
338    
339  #define WRITE_RGB16(ROW,UV_ROW,C1)      \  #define WRITE_RGB16(ROW,UV_ROW,C1)      \
340          rgb_y = RGB_Y_tab[ y_ptr[y_stride + 0] ];                       \          rgb_y = RGB_Y_tab[ y_ptr[y_stride*(ROW) + 0] ];                                         \
341          b[ROW] = (b[ROW] & 0x7) + ((rgb_y + b_u##UV_ROW) >> SCALEBITS_OUT);     \          b[ROW] = (b[ROW] & 0x7) + ((rgb_y + b_u##UV_ROW) >> SCALEBITS_OUT);     \
342          g[ROW] = (g[ROW] & 0x7) + ((rgb_y - g_uv##UV_ROW) >> SCALEBITS_OUT);    \          g[ROW] = (g[ROW] & 0x7) + ((rgb_y - g_uv##UV_ROW) >> SCALEBITS_OUT);    \
343          r[ROW] = (r[ROW] & 0x7) + ((rgb_y + r_v##UV_ROW) >> SCALEBITS_OUT);             \          r[ROW] = (r[ROW] & 0x7) + ((rgb_y + r_v##UV_ROW) >> SCALEBITS_OUT);             \
344          *(uint16_t *) (x_ptr+((ROW)*x_stride)+0) = C1(r[ROW], g[ROW], b[ROW]);  \          *(uint16_t *) (x_ptr+((ROW)*x_stride)+0) = C1(r[ROW], g[ROW], b[ROW]);  \
345          rgb_y = RGB_Y_tab[ y_ptr[y_stride + 1] ];                               \          rgb_y = RGB_Y_tab[ y_ptr[y_stride*(ROW) + 1] ];                         \
346          b[ROW] = (b[ROW] & 0x7) + ((rgb_y + b_u##UV_ROW) >> SCALEBITS_OUT);             \          b[ROW] = (b[ROW] & 0x7) + ((rgb_y + b_u##UV_ROW) >> SCALEBITS_OUT);             \
347          g[ROW] = (g[ROW] & 0x7) + ((rgb_y - g_uv##UV_ROW) >> SCALEBITS_OUT);    \          g[ROW] = (g[ROW] & 0x7) + ((rgb_y - g_uv##UV_ROW) >> SCALEBITS_OUT);    \
348          r[ROW] = (r[ROW] & 0x7) + ((rgb_y + r_v##UV_ROW) >> SCALEBITS_OUT);             \          r[ROW] = (r[ROW] & 0x7) + ((rgb_y + r_v##UV_ROW) >> SCALEBITS_OUT);             \

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.11

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4