y2r.h File Reference

Y2R service for hardware YUV->RGB conversions. More...

`#include <3ds/types.h>`

Go to the source code of this file.

## Data Structures

struct | Y2RU_ColorCoefficients
| Coefficients of the YUV->RGB conversion formula. More...
struct | Y2RU_ConversionParams
| Structure used to configure all parameters at once. More...
struct | Y2RU_DitheringWeightParams
| Dithering weights. More...

## Enumerations

enum | Y2RU_InputFormat { INPUT_YUV422_INDIV_8 = 0x0 , INPUT_YUV420_INDIV_8 = 0x1 , INPUT_YUV422_INDIV_16 = 0x2 , INPUT_YUV420_INDIV_16 = 0x3 , INPUT_YUV422_BATCH = 0x4 }
| Input color formats. More...
enum | Y2RU_OutputFormat { OUTPUT_RGB_32 = 0x0 , OUTPUT_RGB_24 = 0x1 , OUTPUT_RGB_16_555 = 0x2 , OUTPUT_RGB_16_565 = 0x3 }
| Output color formats. More...
enum | Y2RU_Rotation { ROTATION_NONE = 0x0 , ROTATION_CLOCKWISE_90 = 0x1 , ROTATION_CLOCKWISE_180 = 0x2 , ROTATION_CLOCKWISE_270 = 0x3 }
| Rotation to be applied to the output. More...
enum | Y2RU_BlockAlignment { BLOCK_LINE = 0x0 , BLOCK_8_BY_8 = 0x1 }
| Block alignment of output. More...
enum | Y2RU_StandardCoefficient { COEFFICIENT_ITU_R_BT_601 = 0x0 , COEFFICIENT_ITU_R_BT_709 = 0x1 , COEFFICIENT_ITU_R_BT_601_SCALING = 0x2 , COEFFICIENT_ITU_R_BT_709_SCALING = 0x3 }
| Preset conversion coefficients based on ITU standards for the YUV->RGB formula. More...

## Functions

Result | y2rInit (void)
| Initializes the y2r service. More...
void | y2rExit (void)
| Closes the y2r service. More...
Result | Y2RU_SetInputFormat (Y2RU_InputFormat format)
| Used to configure the input format. More...
Result | Y2RU_GetInputFormat (Y2RU_InputFormat *format)
| Gets the configured input format. More...
Result | Y2RU_SetOutputFormat (Y2RU_OutputFormat format)
| Used to configure the output format. More...
Result | Y2RU_GetOutputFormat (Y2RU_OutputFormat *format)
| Gets the configured output format. More...
Result | Y2RU_SetRotation (Y2RU_Rotation rotation)
| Used to configure the rotation of the output. More...
Result | Y2RU_GetRotation (Y2RU_Rotation *rotation)
| Gets the configured rotation. More...
Result | Y2RU_SetBlockAlignment (Y2RU_BlockAlignment alignment)
| Used to configure the alignment of the output buffer. More...
Result | Y2RU_GetBlockAlignment (Y2RU_BlockAlignment *alignment)
| Gets the configured alignment. More...
Result | Y2RU_SetSpacialDithering (bool enable)
| Sets whether to use spacial dithering. More...
Result | Y2RU_GetSpacialDithering (bool *enabled)
| Gets whether to use spacial dithering. More...
Result | Y2RU_SetTemporalDithering (bool enable)
| Sets whether to use temporal dithering. More...
Result | Y2RU_GetTemporalDithering (bool *enabled)
| Gets whether to use temporal dithering. More...
Result | Y2RU_SetInputLineWidth (u16 line_width)
| Used to configure the width of the image. More...
Result | Y2RU_GetInputLineWidth (u16 *line_width)
| Gets the configured input line width. More...
Result | Y2RU_SetInputLines (u16 num_lines)
| Used to configure the height of the image. More...
Result | Y2RU_GetInputLines (u16 *num_lines)
| Gets the configured number of input lines. More...
Result | Y2RU_SetCoefficients (const Y2RU_ColorCoefficients *coefficients)
| Used to configure the color conversion formula. More...
Result | Y2RU_GetCoefficients (Y2RU_ColorCoefficients *coefficients)
| Gets the configured color coefficients. More...
Result | Y2RU_SetStandardCoefficient (Y2RU_StandardCoefficient coefficient)
| Used to configure the color conversion formula with ITU stantards coefficients. More...
Result | Y2RU_GetStandardCoefficient (Y2RU_ColorCoefficients *coefficients, Y2RU_StandardCoefficient standardCoeff)
| Gets the color coefficient parameters of a standard coefficient. More...
Result | Y2RU_SetAlpha (u16 alpha)
| Used to configure the alpha value of the output. More...
Result | Y2RU_GetAlpha (u16 *alpha)
| Gets the configured output alpha value. More...
Result | Y2RU_SetTransferEndInterrupt (bool should_interrupt)
| Used to enable the end of conversion interrupt. More...
Result | Y2RU_GetTransferEndInterrupt (bool *should_interrupt)
| Gets whether the transfer end interrupt is enabled. More...
Result | Y2RU_GetTransferEndEvent (Handle *end_event)
| Gets an handle to the end of conversion event. More...
Result | Y2RU_SetSendingY (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
| Configures the Y plane buffer. More...
Result | Y2RU_SetSendingU (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
| Configures the U plane buffer. More...
Result | Y2RU_SetSendingV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
| Configures the V plane buffer. More...
Result | Y2RU_SetSendingYUYV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
| Configures the YUYV source buffer. More...
Result | Y2RU_SetReceiving (void *dst_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
| Configures the destination buffer. More...
Result | Y2RU_IsDoneSendingY (bool *is_done)
| Checks if the DMA has finished sending the Y buffer. More...
Result | Y2RU_IsDoneSendingU (bool *is_done)
| Checks if the DMA has finished sending the U buffer. More...
Result | Y2RU_IsDoneSendingV (bool *is_done)
| Checks if the DMA has finished sending the V buffer. More...
Result | Y2RU_IsDoneSendingYUYV (bool *is_done)
| Checks if the DMA has finished sending the YUYV buffer. More...
Result | Y2RU_IsDoneReceiving (bool *is_done)
| Checks if the DMA has finished sending the converted result. More...
Result | Y2RU_SetDitheringWeightParams (const Y2RU_DitheringWeightParams *params)
| Configures the dithering weight parameters. More...
Result | Y2RU_GetDitheringWeightParams (Y2RU_DitheringWeightParams *params)
| Gets the configured dithering weight parameters. More...
Result | Y2RU_SetConversionParams (const Y2RU_ConversionParams *params)
| Sets all of the parameters of Y2RU_ConversionParams at once. More...
Result | Y2RU_StartConversion (void)
| Starts the conversion process.
Result | Y2RU_StopConversion (void)
| Cancels the conversion.
Result | Y2RU_IsBusyConversion (bool *is_busy)
| Checks if the conversion and DMA transfer are finished. More...
Result | Y2RU_PingProcess (u8 *ping)
| Checks whether Y2R is ready to be used. More...
Result | Y2RU_DriverInitialize (void)
| Initializes the Y2R driver.
Result | Y2RU_DriverFinalize (void)
| Terminates the Y2R driver.

## Detailed Description

Y2R service for hardware YUV->RGB conversions.

## Enumeration Type Documentation

## Y2RU_BlockAlignment

enum Y2RU_BlockAlignment

Block alignment of output.

Defines the way the output will be laid out in memory.

Enumerator
BLOCK_LINE | The result buffer will be laid out in linear format, the usual way.
BLOCK_8_BY_8 | The result will be stored as 8x8 blocks in Z-order. Useful for textures since it is the format used by the PICA200.

## Y2RU_InputFormat

enum Y2RU_InputFormat

Input color formats.

For the 16-bit per component formats, bits 15-8 are padding and 7-0 contains the value.

Enumerator
INPUT_YUV422_INDIV_8 | 8-bit per component, planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples). Usually named YUV422P.
INPUT_YUV420_INDIV_8 | 8-bit per component, planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples). Usually named YUV420P.
INPUT_YUV422_INDIV_16 | 16-bit per component, planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples). Usually named YUV422P16.
INPUT_YUV420_INDIV_16 | 16-bit per component, planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples). Usually named YUV420P16.
INPUT_YUV422_BATCH | 8-bit per component, packed YUV 4:2:2, 16bpp, (Y0 Cb Y1 Cr). Usually named YUYV422.

## Y2RU_OutputFormat

enum Y2RU_OutputFormat

Output color formats.

Those are the same as the framebuffer and GPU texture formats.

Enumerator
OUTPUT_RGB_32 | 32-bit RGBA8888. The alpha component is the 8-bit value set by Y2RU_SetAlpha
OUTPUT_RGB_24 | 24-bit RGB888.
OUTPUT_RGB_16_555 | 16-bit RGBA5551. The alpha bit is the 7th bit of the alpha value set by Y2RU_SetAlpha
OUTPUT_RGB_16_565 | 16-bit RGB565.

## Y2RU_Rotation

enum Y2RU_Rotation

Rotation to be applied to the output.

Enumerator
ROTATION_NONE | No rotation.
ROTATION_CLOCKWISE_90 | Clockwise 90 degrees.
ROTATION_CLOCKWISE_180 | Clockwise 180 degrees.
ROTATION_CLOCKWISE_270 | Clockwise 270 degrees.

## Y2RU_StandardCoefficient

enum Y2RU_StandardCoefficient

Preset conversion coefficients based on ITU standards for the YUV->RGB formula.

For more details refer to Y2RU_ColorCoefficients

Enumerator
COEFFICIENT_ITU_R_BT_601 | Coefficients from the ITU-R BT.601 standard with PC ranges.
COEFFICIENT_ITU_R_BT_709 | Coefficients from the ITU-R BT.709 standard with PC ranges.
COEFFICIENT_ITU_R_BT_601_SCALING | Coefficients from the ITU-R BT.601 standard with TV ranges.
COEFFICIENT_ITU_R_BT_709_SCALING | Coefficients from the ITU-R BT.709 standard with TV ranges.

## Function Documentation

## y2rExit()

void y2rExit | ( | void |  | ) |

Closes the y2r service.

This will internally call Y2RU_DriverFinalize and close the handle of the service.

## y2rInit()

Result y2rInit | ( | void |  | ) |

Initializes the y2r service.

This will internally get the handle of the service, and on success call Y2RU_DriverInitialize.

## Y2RU_GetAlpha()

Result Y2RU_GetAlpha | ( | u16 * | alpha | ) |

Gets the configured output alpha value.

Parameters

  alpha | Pointer to output the alpha value to.

## Y2RU_GetBlockAlignment()

Result Y2RU_GetBlockAlignment | ( | Y2RU_BlockAlignment * | alignment | ) |

Gets the configured alignment.

Parameters

  alignment | Pointer to output the alignment to.

## Y2RU_GetCoefficients()

Result Y2RU_GetCoefficients | ( | Y2RU_ColorCoefficients * | coefficients | ) |

Gets the configured color coefficients.

Parameters

  num_lines | Pointer to output the coefficients to.

## Y2RU_GetDitheringWeightParams()

Result Y2RU_GetDitheringWeightParams | ( | Y2RU_DitheringWeightParams * | params | ) |

Gets the configured dithering weight parameters.

Parameters

  params | Pointer to output the dithering weight parameters to.

## Y2RU_GetInputFormat()

Result Y2RU_GetInputFormat | ( | Y2RU_InputFormat * | format | ) |

Gets the configured input format.

Parameters

  format | Pointer to output the input format to.

## Y2RU_GetInputLines()

Result Y2RU_GetInputLines | ( | u16 * | num_lines | ) |

Gets the configured number of input lines.

Parameters

  num_lines | Pointer to output the input lines to.

## Y2RU_GetInputLineWidth()

Result Y2RU_GetInputLineWidth | ( | u16 * | line_width | ) |

Gets the configured input line width.

Parameters

  line_width | Pointer to output the line width to.

## Y2RU_GetOutputFormat()

Result Y2RU_GetOutputFormat | ( | Y2RU_OutputFormat * | format | ) |

Gets the configured output format.

Parameters

  format | Pointer to output the output format to.

## Y2RU_GetRotation()

Result Y2RU_GetRotation | ( | Y2RU_Rotation * | rotation | ) |

Gets the configured rotation.

Parameters

  rotation | Pointer to output the rotation to.

## Y2RU_GetSpacialDithering()

Result Y2RU_GetSpacialDithering | ( | bool * | enabled | ) |

Gets whether to use spacial dithering.

Parameters

  enable | Pointer to output the spacial dithering state to.

## Y2RU_GetStandardCoefficient()

Result Y2RU_GetStandardCoefficient | ( | Y2RU_ColorCoefficients * | coefficients,
|  | Y2RU_StandardCoefficient | standardCoeff
| ) |  |

Gets the color coefficient parameters of a standard coefficient.

Parameters

  coefficients | Pointer to output the coefficients to.
  standardCoeff | Standard coefficient to check.

## Y2RU_GetTemporalDithering()

Result Y2RU_GetTemporalDithering | ( | bool * | enabled | ) |

Gets whether to use temporal dithering.

Parameters

  enable | Pointer to output the temporal dithering state to.

## Y2RU_GetTransferEndEvent()

Result Y2RU_GetTransferEndEvent | ( | Handle * | end_event | ) |

Gets an handle to the end of conversion event.

Parameters

  end_event | Pointer to the event handle to be set to the end of conversion event. It isn't necessary to create or close this handle.

To enable this event you have to use

Y2RU_SetTransferEndInterrupt(true);
Y2RU_SetTransferEndInterrupt
Result Y2RU_SetTransferEndInterrupt(bool should_interrupt)
Used to enable the end of conversion interrupt.

The event will be triggered when the corresponding interrupt is fired.

Note
  It is recommended to use a timeout when waiting on this event, as it sometimes (but rarely) isn't triggered.

## Y2RU_GetTransferEndInterrupt()

Result Y2RU_GetTransferEndInterrupt | ( | bool * | should_interrupt | ) |

Gets whether the transfer end interrupt is enabled.

Parameters

  should_interrupt | Pointer to output the interrupt state to.

## Y2RU_IsBusyConversion()

Result Y2RU_IsBusyConversion | ( | bool * | is_busy | ) |

Checks if the conversion and DMA transfer are finished.

Parameters

  is_busy | Pointer to output the busy state to.

This can have the same problems as the event and interrupt. See Y2RU_SetTransferEndInterrupt.

## Y2RU_IsDoneReceiving()

Result Y2RU_IsDoneReceiving | ( | bool * | is_done | ) |

Checks if the DMA has finished sending the converted result.

Parameters

  is_done | Pointer to the boolean that will hold the result.

True if the DMA has finished transferring data to your destination buffer, false otherwise.

## Y2RU_IsDoneSendingU()

Result Y2RU_IsDoneSendingU | ( | bool * | is_done | ) |

Checks if the DMA has finished sending the U buffer.

Parameters

  is_done | Pointer to the boolean that will hold the result.

True if the DMA has finished transferring the U plane, false otherwise. To be used with Y2RU_SetSendingU.

## Y2RU_IsDoneSendingV()

Result Y2RU_IsDoneSendingV | ( | bool * | is_done | ) |

Checks if the DMA has finished sending the V buffer.

Parameters

  is_done | Pointer to the boolean that will hold the result.

True if the DMA has finished transferring the V plane, false otherwise. To be used with Y2RU_SetSendingV.

## Y2RU_IsDoneSendingY()

Result Y2RU_IsDoneSendingY | ( | bool * | is_done | ) |

Checks if the DMA has finished sending the Y buffer.

Parameters

  is_done | Pointer to the boolean that will hold the result.

True if the DMA has finished transferring the Y plane, false otherwise. To be used with Y2RU_SetSendingY.

## Y2RU_IsDoneSendingYUYV()

Result Y2RU_IsDoneSendingYUYV | ( | bool * | is_done | ) |

Checks if the DMA has finished sending the YUYV buffer.

Parameters

  is_done | Pointer to the boolean that will hold the result.

True if the DMA has finished transferring the YUYV buffer, false otherwise. To be used with Y2RU_SetSendingYUYV.

## Y2RU_PingProcess()

Result Y2RU_PingProcess | ( | u8 * | ping | ) |

Checks whether Y2R is ready to be used.

Parameters

  ping | Pointer to output the ready status to.

## Y2RU_SetAlpha()

Result Y2RU_SetAlpha | ( | u16 | alpha | ) |

Used to configure the alpha value of the output.

Parameters

  alpha | 8-bit value to be used for the output when the format requires it.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetBlockAlignment()

Result Y2RU_SetBlockAlignment | ( | Y2RU_BlockAlignment | alignment | ) |

Used to configure the alignment of the output buffer.

Parameters

  alignment | Alignment to use.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetCoefficients()

Result Y2RU_SetCoefficients | ( | const Y2RU_ColorCoefficients * | coefficients | ) |

Used to configure the color conversion formula.

Parameters

  coefficients | Coefficients to use.

See Y2RU_ColorCoefficients for more information about the coefficients.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetConversionParams()

Result Y2RU_SetConversionParams | ( | const Y2RU_ConversionParams * | params | ) |

Sets all of the parameters of Y2RU_ConversionParams at once.

Parameters

  params | Conversion parameters to set.

Faster than calling the individual value through Y2R_Set* because only one system call is made.

## Y2RU_SetDitheringWeightParams()

Result Y2RU_SetDitheringWeightParams | ( | const Y2RU_DitheringWeightParams * | params | ) |

Configures the dithering weight parameters.

Parameters

  params | Dithering weight parameters to use.

## Y2RU_SetInputFormat()

Result Y2RU_SetInputFormat | ( | Y2RU_InputFormat | format | ) |

Used to configure the input format.

Parameters

  format | Input format to use.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetInputLines()

Result Y2RU_SetInputLines | ( | u16 | num_lines | ) |

Used to configure the height of the image.

Parameters

  num_lines | Number of lines to be converted.

A multiple of 8 seems to be preferred. If using the BLOCK_8_BY_8 mode, it must be a multiple of 8.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetInputLineWidth()

Result Y2RU_SetInputLineWidth | ( | u16 | line_width | ) |

Used to configure the width of the image.

Parameters

  line_width | Width of the image in pixels. Must be a multiple of 8, up to 1024.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetOutputFormat()

Result Y2RU_SetOutputFormat | ( | Y2RU_OutputFormat | format | ) |

Used to configure the output format.

Parameters

  format | Output format to use.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetReceiving()

Result Y2RU_SetReceiving | ( | void * | dst_buf,
|  | u32 | image_size,
|  | s16 | transfer_unit,
|  | s16 | transfer_gap
| ) |  |

Configures the destination buffer.

Parameters

  src_buf | A pointer to the beginning of your destination buffer in FCRAM
  image_size | The total size of the data buffer.
  transfer_unit | Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
  transfer_gap | Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

This specifies the destination buffer of the conversion. The actual transfer will only happen after calling Y2RU_StartConversion. The buffer does NOT need to be allocated in the linear heap.

Warning
  transfer_unit+transfer_gap must be less than 32768 (0x8000)

Note
  It seems that depending on the size of the image and of the transfer unit,
  it is possible for the end of conversion interrupt to be triggered right after the conversion began.
  One line as transfer_unit seems to trigger this issue for 400x240, setting to 2/4/8 lines fixes it.
  Setting a transfer_unit of 4 or 8 lines seems to bring the best results in terms of speed for a 400x240 image.

## Y2RU_SetRotation()

Result Y2RU_SetRotation | ( | Y2RU_Rotation | rotation | ) |

Used to configure the rotation of the output.

Parameters

  rotation | Rotation to use.

It seems to apply the rotation per batch of 8 lines, so the output will be (height/8) images of size 8 x width.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetSendingU()

Result Y2RU_SetSendingU | ( | const void * | src_buf,
|  | u32 | image_size,
|  | s16 | transfer_unit,
|  | s16 | transfer_gap
| ) |  |

Configures the U plane buffer.

Parameters

  src_buf | A pointer to the beginning of your Y data buffer.
  image_size | The total size of the data buffer.
  transfer_unit | Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
  transfer_gap | Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

Warning
  transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the U data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

## Y2RU_SetSendingV()

Result Y2RU_SetSendingV | ( | const void * | src_buf,
|  | u32 | image_size,
|  | s16 | transfer_unit,
|  | s16 | transfer_gap
| ) |  |

Configures the V plane buffer.

Parameters

  src_buf | A pointer to the beginning of your Y data buffer.
  image_size | The total size of the data buffer.
  transfer_unit | Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
  transfer_gap | Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

Warning
  transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the V data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

## Y2RU_SetSendingY()

Result Y2RU_SetSendingY | ( | const void * | src_buf,
|  | u32 | image_size,
|  | s16 | transfer_unit,
|  | s16 | transfer_gap
| ) |  |

Configures the Y plane buffer.

Parameters

  src_buf | A pointer to the beginning of your Y data buffer.
  image_size | The total size of the data buffer.
  transfer_unit | Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
  transfer_gap | Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

Warning
  transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the Y data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

## Y2RU_SetSendingYUYV()

Result Y2RU_SetSendingYUYV | ( | const void * | src_buf,
|  | u32 | image_size,
|  | s16 | transfer_unit,
|  | s16 | transfer_gap
| ) |  |

Configures the YUYV source buffer.

Parameters

  src_buf | A pointer to the beginning of your Y data buffer.
  image_size | The total size of the data buffer.
  transfer_unit | Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
  transfer_gap | Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

Warning
  transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the YUYV data buffer for the packed input format INPUT_YUV422_BATCH. The actual transfer will only happen after calling Y2RU_StartConversion.

## Y2RU_SetSpacialDithering()

Result Y2RU_SetSpacialDithering | ( | bool | enable | ) |

Sets whether to use spacial dithering.

Parameters

  enable | Whether to use spacial dithering.

## Y2RU_SetStandardCoefficient()

Result Y2RU_SetStandardCoefficient | ( | Y2RU_StandardCoefficient | coefficient | ) |

Used to configure the color conversion formula with ITU stantards coefficients.

Parameters

  coefficient | Standard coefficient to use.

See Y2RU_ColorCoefficients for more information about the coefficients.

Note
  Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

## Y2RU_SetTemporalDithering()

Result Y2RU_SetTemporalDithering | ( | bool | enable | ) |

Sets whether to use temporal dithering.

Parameters

  enable | Whether to use temporal dithering.

## Y2RU_SetTransferEndInterrupt()

Result Y2RU_SetTransferEndInterrupt | ( | bool | should_interrupt | ) |

Used to enable the end of conversion interrupt.

Parameters

  should_interrupt | Enables the interrupt if true, disable it if false.

It is possible to fire an interrupt when the conversion is finished, and that the DMA is done copying the data. This interrupt will then be used to fire an event. See Y2RU_GetTransferEndEvent. By default the interrupt is enabled.

Note
  It seems that the event can be fired too soon in some cases, depending the transfer_unit size.
  Please see the note at Y2RU_SetReceiving