## Pixel Operations

Pixel Operations — Pixel Operation Function Classes

##

# Synopsis

    void        oil_argb_paint_u8               (uint8_t *i_4xn,
                                                 const uint8_t *s1_4,
                                                 const uint8_t *s2_n,
                                                 int n);
    void        oil_ayuv2argb_u8                (uint8_t *d_4xn,
                                                 const uint8_t *s_4xn,
                                                 int n);
    void        oil_ayuv2uyvy                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);
    void        oil_ayuv2yuyv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);
    void        oil_ayuv2yvyu                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);
    void        oil_composite_add_argb          (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 int n);
    void        oil_composite_add_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 int n);
    void        oil_composite_in_argb           (uint32_t *d_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_n,
                                                 int n);
    void        oil_composite_in_argb_const_mask
                                                (uint32_t *d_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_1,
                                                 int n);
    void        oil_composite_in_argb_const_src (uint32_t *d_n,
                                                 const uint32_t *s1_1,
                                                 const uint8_t *s2_n,
                                                 int n);
    void        oil_composite_in_over_argb      (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_n,
                                                 int n);
    void        oil_composite_in_over_argb_const_mask
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_1,
                                                 int n);
    void        oil_composite_in_over_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 const uint8_t *s2_n,
                                                 int n);
    void        oil_composite_over_argb         (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 int n);
    void        oil_composite_over_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 int n);
    void        oil_merge_linear_argb           (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 const uint32_t *s2_n,
                                                 const uint32_t *s3_1,
                                                 int n);
    void        oil_resample_linear_argb        (uint32_t *d_n,
                                                 const uint32_t *s_2xn,
                                                 int n,
                                                 uint32_t *i_2);
    void        oil_resample_linear_u8          (uint8_t *d_n,
                                                 const uint8_t *s_2xn,
                                                 int n,
                                                 uint32_t *i_2);
    void        oil_rgb2bgr                     (uint8_t *d_3xn,
                                                 const uint8_t *s_3xn,
                                                 int n);
    void        oil_rgb2rgba                    (uint8_t *d_4xn,
                                                 const uint8_t *s_3xn,
                                                 int n);
    void        oil_yuv2rgbx_sub2_u8            (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);
    void        oil_yuv2rgbx_sub4_u8            (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);
    void        oil_yuv2rgbx_u8                 (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);
    void        oil_uyvy2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);
    void        oil_yuyv2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);
    void        oil_yvyu2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

## Description

## Details

### oil_argb_paint_u8 ()

    void        oil_argb_paint_u8               (uint8_t *i_4xn,
                                                 const uint8_t *s1_4,
                                                 const uint8_t *s2_n,
                                                 int n);

`i_4xn` : |
`s1_4` : |
`s2_n` : |
`n` : |

### oil_ayuv2argb_u8 ()

    void        oil_ayuv2argb_u8                (uint8_t *d_4xn,
                                                 const uint8_t *s_4xn,
                                                 int n);

Converts an array of AYUV pixels to ARGB.

`d_4xn` : |
`s_4xn` : |
`n` : |

### oil_ayuv2uyvy ()

    void        oil_ayuv2uyvy                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |

### oil_ayuv2yuyv ()

    void        oil_ayuv2yuyv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |

### oil_ayuv2yvyu ()

    void        oil_ayuv2yvyu                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |

### oil_composite_add_argb ()

    void        oil_composite_add_argb          (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 int n);

`i_n` : |
`s1_n` : |
`n` : |

### oil_composite_add_argb_const_src ()

    void        oil_composite_add_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 int n);

`i_n` : |
`s1_1` : |
`n` : |

### oil_composite_in_argb ()

    void        oil_composite_in_argb           (uint32_t *d_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_n,
                                                 int n);

`d_n` : |
`s1_n` : |
`s2_n` : |
`n` : |

### oil_composite_in_argb_const_mask ()

    void        oil_composite_in_argb_const_mask
                                                (uint32_t *d_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_1,
                                                 int n);

`d_n` : |
`s1_n` : |
`s2_1` : |
`n` : |

### oil_composite_in_argb_const_src ()

    void        oil_composite_in_argb_const_src (uint32_t *d_n,
                                                 const uint32_t *s1_1,
                                                 const uint8_t *s2_n,
                                                 int n);

`d_n` : |
`s1_1` : |
`s2_n` : |
`n` : |

### oil_composite_in_over_argb ()

    void        oil_composite_in_over_argb      (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_n,
                                                 int n);

`i_n` : |
`s1_n` : |
`s2_n` : |
`n` : |

### oil_composite_in_over_argb_const_mask ()

    void        oil_composite_in_over_argb_const_mask
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 const uint8_t *s2_1,
                                                 int n);

`i_n` : |
`s1_n` : |
`s2_1` : |
`n` : |

### oil_composite_in_over_argb_const_src ()

    void        oil_composite_in_over_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 const uint8_t *s2_n,
                                                 int n);

`i_n` : |
`s1_1` : |
`s2_n` : |
`n` : |

### oil_composite_over_argb ()

    void        oil_composite_over_argb         (uint32_t *i_n,
                                                 const uint32_t *s1_n,
                                                 int n);

`i_n` : |
`s1_n` : |
`n` : |

### oil_composite_over_argb_const_src ()

    void        oil_composite_over_argb_const_src
                                                (uint32_t *i_n,
                                                 const uint32_t *s1_1,
                                                 int n);

`i_n` : |
`s1_1` : |
`n` : |

### oil_merge_linear_argb ()

    void        oil_merge_linear_argb           (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 const uint32_t *s2_n,
                                                 const uint32_t *s3_1,
                                                 int n);

`d_n` : |
`s_n` : |
`s2_n` : |
`s3_1` : |
`n` : |

### oil_resample_linear_argb ()

    void        oil_resample_linear_argb        (uint32_t *d_n,
                                                 const uint32_t *s_2xn,
                                                 int n,
                                                 uint32_t *i_2);

`d_n` : |
`s_2xn` : |
`n` : |
`i_2` : |

### oil_resample_linear_u8 ()

    void        oil_resample_linear_u8          (uint8_t *d_n,
                                                 const uint8_t *s_2xn,
                                                 int n,
                                                 uint32_t *i_2);

`d_n` : |
`s_2xn` : |
`n` : |
`i_2` : |

### oil_rgb2bgr ()

    void        oil_rgb2bgr                     (uint8_t *d_3xn,
                                                 const uint8_t *s_3xn,
                                                 int n);

`d_3xn` : |
`s_3xn` : |
`n` : |

### oil_rgb2rgba ()

    void        oil_rgb2rgba                    (uint8_t *d_4xn,
                                                 const uint8_t *s_3xn,
                                                 int n);

`d_4xn` : |
`s_3xn` : |
`n` : |

### oil_yuv2rgbx_sub2_u8 ()

    void        oil_yuv2rgbx_sub2_u8            (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);

`d_4xn` : |
`src1` : |
`src2` : |
`src3` : |
`n` : |

### oil_yuv2rgbx_sub4_u8 ()

    void        oil_yuv2rgbx_sub4_u8            (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);

`d_4xn` : |
`src1` : |
`src2` : |
`src3` : |
`n` : |

### oil_yuv2rgbx_u8 ()

    void        oil_yuv2rgbx_u8                 (uint8_t *d_4xn,
                                                 const uint8_t *src1,
                                                 const uint8_t *src2,
                                                 const uint8_t *src3,
                                                 int n);

`d_4xn` : |
`src1` : |
`src2` : |
`src3` : |
`n` : |

### oil_uyvy2ayuv ()

    void        oil_uyvy2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |

### oil_yuyv2ayuv ()

    void        oil_yuyv2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |

### oil_yvyu2ayuv ()

    void        oil_yvyu2ayuv                   (uint32_t *d_n,
                                                 const uint32_t *s_n,
                                                 int n);

`d_n` : |
`s_n` : |
`n` : |