[FFmpeg-devel] [PATCH 11/11] swscale/input: add rgbaf16 input support

Timo Rothenpieler timo at rothenpieler.org
Thu Aug 11 00:37:04 EEST 2022


On 10.08.2022 22:47, Timo Rothenpieler wrote:
...
> +#define rgbaf16_funcs_endian(endian_name, endian)                                                         \
> +static void rgbaf16##endian_name##ToUV_half_c(uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused,      \
> +                                              const uint8_t *src1, const uint8_t *src2,                   \
> +                                              int width, uint32_t *_rgb2yuv, void *opq)                   \
> +{                                                                                                         \
> +    const uint16_t *src = (const uint16_t*)src1;                                                          \
> +    uint16_t *dstU = (uint16_t*)_dstU;                                                                    \
> +    uint16_t *dstV = (uint16_t*)_dstV;                                                                    \
> +    int32_t *rgb2yuv = (int32_t*)_rgb2yuv;                                                                \
> +    av_assert1(src1==src2);                                                                               \
> +    rgbaf16ToUV_half_endian(dstU, dstV, endian, src, width, rgb2yuv, opq);                                \
> +}                                                                                                         \
> +static void rgbaf16##endian_name##ToUV_c(uint8_t *_dstU, uint8_t *_dstV, const uint8_t *unused,           \
> +                                         const uint8_t *src1, const uint8_t *src2,                        \
> +                                         int width, uint32_t *_rgb2yuv, void *opq)                        \
> +{                                                                                                         \
> +    const uint16_t *src = (const uint16_t*)src1;                                                          \
> +    uint16_t *dstU = (uint16_t*)_dstU;                                                                    \
> +    uint16_t *dstV = (uint16_t*)_dstV;                                                                    \
> +    int32_t *rgb2yuv = (int32_t*)_rgb2yuv;                                                                \
> +    av_assert1(src1==src2);                                                                               \
> +    rgbaf16ToUV_half_endian(dstU, dstV, endian, src, width, rgb2yuv, opq);                                \
> +}                                                                                                         \

copy/paste error here: This should be the non-half version. Fixed locally.


More information about the ffmpeg-devel mailing list