#pragma once #include #include #ifdef __cplusplus extern "C" { #endif enum target_format { TARGET_FORMAT_NV12, TARGET_FORMAT_I420, TARGET_FORMAT_YUY2, }; struct nv12_scale { enum target_format format; int src_cx; int src_cy; int dst_cx; int dst_cy; }; typedef struct nv12_scale nv12_scale_t; extern void nv12_scale_init(nv12_scale_t *s, enum target_format format, int dst_cx, int dst_cy, int src_cx, int src_cy); extern void nv12_do_scale(nv12_scale_t *s, uint8_t *dst, const uint8_t *src); #ifdef __cplusplus } #endif