
###############
Transformations
###############


Conversion Table
################

+------------------------------------------------------------------+------------------------------------------------------------------+
| Format your camera has                                           | Format that tcamdutils gives                                     |
+==================================================================+==================================================================+
| video/x-raw,format=(string)GRAY16_LE                             | video/x-raw,format=(string)GRAY16_LE                             |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY8                                 | video/x-raw,format=(string)GRAY8                                 |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGR                                   |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY10p                               | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY10m                               | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY12p                               | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY12m                               | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY12sp                              | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)GRAY16_LEL12                          | video/x-raw,format=(string)GRAY16_LE                             |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)GRAY8                                 |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr                                | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGR                                   |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg                                | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGR                                   |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg                                | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGR                                   |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb                                | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGR                                   |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr16                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg16                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg16                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb16                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr10                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg10                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg10                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb10                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr10m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg10m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg10m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb10m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr12                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg12                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg12                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb12                              | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr12p                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg12p                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg12p                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb12p                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr12m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg12m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg12m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb12m                             | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)bggr16L12                           | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)bggr                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)gbrg16L12                           | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)gbrg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)grbg16L12                           | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)grbg                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-bayer,format=(string)rggb16L12                           | video/x-raw,format=(string)RGBx64                                |
|                                                                  |                                                                  |
|                                                                  | video/x-raw,format=(string)BGRx                                  |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb16                              |
|                                                                  |                                                                  |
|                                                                  | video/x-bayer,format=(string)rggb                                |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)YUY2                                  | video/x-raw,format=(string)YUY2                                  |
+------------------------------------------------------------------+------------------------------------------------------------------+
| video/x-raw,format=(string)IYU1                                  | video/x-raw,format=(string)IYU1                                  |
+------------------------------------------------------------------+------------------------------------------------------------------+

Properties
##########

The properties that tcamdutils will offer depend on the currently used conversion.  
Changing the input/output formats will potentially change the available properties.  
Many will only be available once the state is set to PLAYING.

If your camera has an internal implementation of a property, e.g. 'Exposure Auto',  
then tcamdutils will not offer the property and disable the internal algorithms for said property.

Below is a table of all available properties:

.. list-table:: tcamdutils tcamprop properties
   :header-rows: 1
   :widths: 25 75

   * - Name
     - Description
   * - Exposure Auto
     - Automatic Adjustments of Exposure                                    
   * - Exposure Min
     - Minimum Value Exposure Auto may set                                  
   * - Exposure Max
     - Maximum Value Exposure Auto may set                                  
   * - Gain Auto
     - Automatic Adjustments of Gain
   * - Iris Auto
     - Automatic Adjustments of Iris                                        
   * - Focus Auto
     - Adjust focus property until image is considered focused              
   * - Highlight Reduction
     -                                                                       
   * - Exposure Auto Reference
     - Average Brightness the image should have                             
   * - Whitebalance
     - Enable/Disable application of whitebalance values                    
   * - Whitebalance Auto
     - Automatically and continually determine correct whitebalance values  
   * - Whitebalance One Push
     - Determine whitebalance values once                                   
   * - Whitebalance Red
     - Whitebalance value for the red channel                               
   * - Whitebalance Green
     - Whitebalance value for the green channel                             
   * - Whitebalance Blue
     - Whitebalance value for the blue channel                              
   * - Brightness
     -                                                                       
   * - Noise Reduction
     - Reduces noise in the image                                           
   * - Sharpness
     - Change edge contrast                                                 
   * - Saturation
     - Change color intensity                                               
   * - Tonemapping
     - Enable HDR                                                           
   * - Tonemapping Global Brightness
     -
   * - Tonemapping Intensity
     -
   * - Contrast
     -
   * - Hue
     -                                                                       

Property availablility table
############################

The following table shows when certain properties can be expected to exist.

=========================== ============== ================ ===================== =================== ======= =============
Transform path              Whitebalance   Saturation/Hue   Brightness/Contrast   Sharpness/Denoise   Gamma   Tonemapping 
=========================== ============== ================ ===================== =================== ======= =============
GRAY16_LE ==> GRAY16_LE                                      X                     X                   X       X            
GRAY8 ==> GRAY8                                              X                     X                   X       X            
bayer 8-bit ==> BGRx         X              X                X                     X                   X       X            
bayer 8-bit ==> GRAY8                                                                                                       
bayer 16-bit ==> GRAY16_LE                                                                                                  
bayer 16-bit ==> RGBx64      X              X                X                     X                   X       X            
bggr12sp ==> GRAY16_LE                                                                                                      
bggr12sp ==> RGBx64          X              X                X                     X                   X       X            
rggb12p ==> GRAY16_LE                                                                                                       
rggb12p ==> RGBx64           X              X                X                     X                   X       X            
rggb12m ==> GRAY16_LE                                                                                                       
rggb12m ==> RGBx64           X              X                X                     X                   X       X            
YUY2 ==> YUY2                               X                X                     X                                        
IYU1 ==> IYU1                               X                X                     X                                        
=========================== ============== ================ ===================== =================== ======= ============= 

