obs-studio/plugins/win-dshow/tiny-nv12-scale.h

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