Changeset 506

Show
Ignore:
Timestamp:
03/26/07 00:56:34 (2 years ago)
Author:
goodea
Message:

indent

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/cc3-ilp/cc3_hsv.c

    r505 r506  
    3131 * 
    3232 */ 
    33 inline void cc3_rgb2hsv(cc3_pixel_t *pix) 
     33inline void cc3_rgb2hsv (cc3_pixel_t * pix) 
    3434{ 
    35     uint8_t hue,sat,val; 
    36     uint8_t rgb_min, rgb_max; 
    37     rgb_max=0; 
    38     rgb_min=255; 
    39     if(pix->channel[CC3_CHANNEL_RED]>rgb_max) rgb_max=pix->channel[CC3_CHANNEL_RED]; 
    40     if(pix->channel[CC3_CHANNEL_GREEN]>rgb_max) rgb_max=pix->channel[CC3_CHANNEL_GREEN]; 
    41     if(pix->channel[CC3_CHANNEL_BLUE]>rgb_max) rgb_max=pix->channel[CC3_CHANNEL_BLUE]; 
    42     if(pix->channel[CC3_CHANNEL_RED]<rgb_min) rgb_min=pix->channel[CC3_CHANNEL_RED]; 
    43     if(pix->channel[CC3_CHANNEL_GREEN]<rgb_min) rgb_min=pix->channel[CC3_CHANNEL_GREEN]; 
    44     if(pix->channel[CC3_CHANNEL_BLUE]<rgb_min) rgb_min=pix->channel[CC3_CHANNEL_BLUE]; 
     35  uint8_t hue, sat, val; 
     36  uint8_t rgb_min, rgb_max; 
     37  rgb_max = 0; 
     38  rgb_min = 255; 
     39  if (pix->channel[CC3_CHANNEL_RED] > rgb_max) 
     40    rgb_max = pix->channel[CC3_CHANNEL_RED]; 
     41  if (pix->channel[CC3_CHANNEL_GREEN] > rgb_max) 
     42    rgb_max = pix->channel[CC3_CHANNEL_GREEN]; 
     43  if (pix->channel[CC3_CHANNEL_BLUE] > rgb_max) 
     44    rgb_max = pix->channel[CC3_CHANNEL_BLUE]; 
     45  if (pix->channel[CC3_CHANNEL_RED] < rgb_min) 
     46    rgb_min = pix->channel[CC3_CHANNEL_RED]; 
     47  if (pix->channel[CC3_CHANNEL_GREEN] < rgb_min) 
     48    rgb_min = pix->channel[CC3_CHANNEL_GREEN]; 
     49  if (pix->channel[CC3_CHANNEL_BLUE] < rgb_min) 
     50    rgb_min = pix->channel[CC3_CHANNEL_BLUE]; 
    4551 
    4652// compute V 
    47 val = rgb_max; 
    48 if (val == 0) { 
     53  val = rgb_max; 
     54  if (val == 0) { 
    4955    hue = sat = 0; 
    50     pix->channel[CC3_CHANNEL_HUE]=0; 
    51     pix->channel[CC3_CHANNEL_SAT]=0; 
    52     pix->channel[CC3_CHANNEL_VAL]=val; 
     56    pix->channel[CC3_CHANNEL_HUE] = 0; 
     57    pix->channel[CC3_CHANNEL_SAT] = 0; 
     58    pix->channel[CC3_CHANNEL_VAL] = val; 
    5359    return; 
     60  } 
     61 
     62// compute S 
     63  sat = 255 * (rgb_max - rgb_min) / val; 
     64  if (sat == 0) { 
     65    pix->channel[CC3_CHANNEL_HUE] = 0; 
     66    pix->channel[CC3_CHANNEL_SAT] = 0; 
     67    pix->channel[CC3_CHANNEL_VAL] = val; 
     68    return; 
     69  } 
     70 
     71// compute H 
     72  if (rgb_max == pix->channel[CC3_CHANNEL_RED]) { 
     73    hue = 
     74      0 + 43 * (pix->channel[CC3_CHANNEL_GREEN] - 
     75                pix->channel[CC3_CHANNEL_BLUE]) / (rgb_max - rgb_min); 
     76  } 
     77  else if (rgb_max == pix->channel[CC3_CHANNEL_GREEN]) { 
     78    hue = 
     79      85 + 43 * (pix->channel[CC3_CHANNEL_BLUE] - 
     80                 pix->channel[CC3_CHANNEL_RED]) / (rgb_max - rgb_min); 
     81  } 
     82  else {                        /* rgb_max == blue */ 
     83 
     84    hue = 
     85      171 + 43 * (pix->channel[CC3_CHANNEL_RED] - 
     86                  pix->channel[CC3_CHANNEL_GREEN]) / (rgb_max - rgb_min); 
     87  } 
     88  pix->channel[CC3_CHANNEL_HUE] = hue; 
     89  pix->channel[CC3_CHANNEL_SAT] = sat; 
     90  pix->channel[CC3_CHANNEL_VAL] = val; 
    5491} 
    5592 
    56 // compute S 
    57 sat = 255*(rgb_max - rgb_min)/val; 
    58 if (sat == 0) { 
    59     pix->channel[CC3_CHANNEL_HUE]=0; 
    60     pix->channel[CC3_CHANNEL_SAT]=0; 
    61     pix->channel[CC3_CHANNEL_VAL]=val; 
    62     return; 
    63 
     93void cc3_rgb2hsv_row (cc3_pixel_t * pix, uint16_t size) 
     94
     95  uint16_t i; 
    6496 
    65 // compute H 
    66 if (rgb_max == pix->channel[CC3_CHANNEL_RED]) { 
    67     hue = 0 + 43*(pix->channel[CC3_CHANNEL_GREEN] - pix->channel[CC3_CHANNEL_BLUE])/(rgb_max - rgb_min); 
    68 } else if (rgb_max == pix->channel[CC3_CHANNEL_GREEN]) { 
    69     hue = 85 + 43*(pix->channel[CC3_CHANNEL_BLUE] - pix->channel[CC3_CHANNEL_RED])/(rgb_max - rgb_min); 
    70 } else /* rgb_max == blue */ { 
    71     hue = 171 + 43*(pix->channel[CC3_CHANNEL_RED] - pix->channel[CC3_CHANNEL_GREEN])/(rgb_max - rgb_min); 
    72 
    73 pix->channel[CC3_CHANNEL_HUE]=hue; 
    74 pix->channel[CC3_CHANNEL_SAT]=sat; 
    75 pix->channel[CC3_CHANNEL_VAL]=val; 
    76 
    77  
    78 void cc3_rgb2hsv_row(cc3_pixel_t *pix, uint16_t size) 
    79 
    80 uint16_t i; 
    81  
    82 for(i=0; i<size; i++ ) 
    83         cc3_rgb2hsv(&pix[i]); 
     97  for (i = 0; i < size; i++) 
     98    cc3_rgb2hsv (&pix[i]); 
    8499 
    85100} 
    86  
    87  
  • trunk/lib/cc3-ilp/cc3_hsv.h

    r504 r506  
    2525 
    2626 
    27 inline void cc3_rgb2hsv(cc3_pixel_t *pix); 
    28 void cc3_rgb2hsv_row(cc3_pixel_t *pix, uint16_t size); 
     27inline void cc3_rgb2hsv (cc3_pixel_t * pix); 
     28void cc3_rgb2hsv_row (cc3_pixel_t * pix, uint16_t size); 
    2929 
    3030#endif