gamma_stuct_t Struct Reference

#include <c313a.h>


Data Fields

union {
   unsigned long   hash32
   struct {
      unsigned short   scale
      union {
         unsigned short   hash16
         struct {
            unsigned char   gamma
            unsigned char   black
 "gamma" in the range 0.0 ... 2.55
         } 
 scale-independent part of the table (tables themselves are calculated outside of the driver)
      } 
 6.10: 0x400 is 1.0 scale (>=1.0) is applied in the driver, saturating result
   } 
 fully identifies current table
}; 
int valid
int locked
 0 - table invalid, 1 - table valid +2 for table locked (until sent to FPGA)
int this_non_scaled
 NOTE: Changed to just color locked for color.
union {
   struct {
      int   oldest_non_scaled
 element 0 - heads of the chains
      int   newest_non_scaled
   } 
 used in head (element 0) and non-scaled chain (not used in scaled)
   struct {
      int   newer_non_scaled
 non-scaled (gamma data is full 16-bit)
      int   older_non_scaled
   } 
}; 
union {
   struct {
      int   oldest_all
 element 0 - heads of the chains
      int   newest_all
   } 
 used in head (element 0) and scaled chain (not used in non-scaled) (or maybe it will be used?)
   struct {
      int   newer_all
 scaled (gamma data is hardware defined 10 bit)
      int   older_all
 newer in a single chain of all scaled tables, regardless of the prototype
   } 
}; 
union {
   struct {
      int   oldest_scaled
 non-scaled
      int   newest_scaled
   } 
 used in non-scaled and scaled, not in the head (element 0)
   struct {
      int   newer_scaled
 scaled (gamma data is hardware defined 10 bit)
      int   older_scaled
   } 
   struct {
      int   non_scaled_length
 reuse in the head (element 0) - to make this variable visible through mmap to PHP (for debugging)
      int   num_locked
   } 
}; 
union {
   struct {
      unsigned short   direct [257]
      unsigned short   dummy1
      unsigned char   reverse [256]
      unsigned long   fpga [256]
 reverse table to speed-up reversing. No division, but needs interpolation by the application
   } 
   struct {
      int   locked_color [4]
      int   other [129+64+256-4]
 NOTE: Changed to just color (locked last written to FPGA - maybe needed again, as the FPGA needs all table to be overwritten - two pages).
   } 
}; 


Detailed Description

Definition at line 1424 of file c313a.h.


Field Documentation

unsigned long gamma_stuct_t::hash32

Definition at line 1426 of file c313a.h.

Referenced by get_locked_hash32(), PHP_FUNCTION(), and whiteBalanceCorr().

unsigned short gamma_stuct_t::scale

Definition at line 1428 of file c313a.h.

Referenced by set_gamma_table().

unsigned short gamma_stuct_t::hash16

Definition at line 1430 of file c313a.h.

Referenced by set_gamma_table().

unsigned char gamma_stuct_t::gamma

Definition at line 1432 of file c313a.h.

unsigned char gamma_stuct_t::black

"gamma" in the range 0.0 ... 2.55

Definition at line 1433 of file c313a.h.

union { ... }

int gamma_stuct_t::valid

Definition at line 1438 of file c313a.h.

Referenced by gamma_new_node(), init_gammas(), and set_gamma_table().

int gamma_stuct_t::locked

0 - table invalid, 1 - table valid +2 for table locked (until sent to FPGA)

Definition at line 1440 of file c313a.h.

Referenced by init_gammas(), lock_gamma_node(), and unlock_gamma_node().

int gamma_stuct_t::this_non_scaled

NOTE: Changed to just color locked for color.

Definition at line 1441 of file c313a.h.

Referenced by insert_first_nonscaled(), and insert_first_scaled().

int gamma_stuct_t::oldest_non_scaled

element 0 - heads of the chains

Definition at line 1444 of file c313a.h.

Referenced by gamma_new_node(), and init_gammas().

int gamma_stuct_t::newest_non_scaled

Definition at line 1445 of file c313a.h.

Referenced by init_gammas(), insert_first_nonscaled(), and set_gamma_table().

int gamma_stuct_t::newer_non_scaled

non-scaled (gamma data is full 16-bit)

Definition at line 1448 of file c313a.h.

Referenced by insert_first_nonscaled(), and remove_from_nonscaled().

int gamma_stuct_t::older_non_scaled

Definition at line 1449 of file c313a.h.

Referenced by insert_first_nonscaled(), remove_from_nonscaled(), and set_gamma_table().

union { ... }

int gamma_stuct_t::oldest_all

element 0 - heads of the chains

Definition at line 1454 of file c313a.h.

Referenced by gamma_new_node(), and init_gammas().

int gamma_stuct_t::newest_all

Definition at line 1455 of file c313a.h.

Referenced by init_gammas(), and insert_first_all().

int gamma_stuct_t::newer_all

scaled (gamma data is hardware defined 10 bit)

Definition at line 1458 of file c313a.h.

Referenced by gamma_new_node(), init_gammas(), insert_first_all(), and remove_from_all().

int gamma_stuct_t::older_all

newer in a single chain of all scaled tables, regardless of the prototype

Definition at line 1459 of file c313a.h.

Referenced by init_gammas(), insert_first_all(), and remove_from_all().

union { ... }

int gamma_stuct_t::oldest_scaled

non-scaled

Definition at line 1465 of file c313a.h.

Referenced by insert_first_nonscaled(), and set_gamma_table().

int gamma_stuct_t::newest_scaled

Definition at line 1466 of file c313a.h.

Referenced by insert_first_nonscaled(), insert_first_scaled(), and set_gamma_table().

int gamma_stuct_t::newer_scaled

scaled (gamma data is hardware defined 10 bit)

Definition at line 1469 of file c313a.h.

Referenced by insert_first_scaled(), and remove_from_scaled().

int gamma_stuct_t::older_scaled

Definition at line 1470 of file c313a.h.

Referenced by insert_first_scaled(), remove_from_scaled(), and set_gamma_table().

int gamma_stuct_t::non_scaled_length

reuse in the head (element 0) - to make this variable visible through mmap to PHP (for debugging)

Definition at line 1473 of file c313a.h.

Referenced by init_gammas(), insert_first_nonscaled(), and remove_from_nonscaled().

int gamma_stuct_t::num_locked

Definition at line 1474 of file c313a.h.

union { ... }

unsigned short gamma_stuct_t::direct[257]

Definition at line 1479 of file c313a.h.

Referenced by gammaDirect(), gammaReverse(), and PHP_FUNCTION().

unsigned short gamma_stuct_t::dummy1

Definition at line 1480 of file c313a.h.

unsigned char gamma_stuct_t::reverse[256]

Definition at line 1482 of file c313a.h.

Referenced by gammaReverse(), and PHP_FUNCTION().

unsigned long gamma_stuct_t::fpga[256]

reverse table to speed-up reversing. No division, but needs interpolation by the application

Definition at line 1483 of file c313a.h.

Referenced by get_gamma_fpga().

int gamma_stuct_t::locked_color[4]

Definition at line 1487 of file c313a.h.

Referenced by get_gamma_fpga(), get_locked_hash32(), lock_gamma_node(), and unlock_gamma_node().

int gamma_stuct_t::other[129+64+256-4]

NOTE: Changed to just color (locked last written to FPGA - maybe needed again, as the FPGA needs all table to be overwritten - two pages).

Definition at line 1490 of file c313a.h.

union { ... }


The documentation for this struct was generated from the following file:
Generated on Fri Nov 28 00:08:46 2008 for elphel by  doxygen 1.5.1