35 lines
566 B
C
35 lines
566 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#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
|