#ifndef FOURCC_H
#define FOURCC_H
#include "VapourSynth4.h"
#define VS_FCC(ch4) ((((unsigned long)(ch4) & 0xFF) << 24) | \
(((unsigned long)(ch4) & 0xFF00) << 8) | \
(((unsigned long)(ch4) & 0xFF0000) >> 8) | \
(((unsigned long)(ch4) & 0xFF000000) >> 24))
bool GetFourCC(const VSVideoFormat &fi, int alt_output, unsigned long &fourcc);
bool GetBiCompression(const VSVideoFormat &format, int alt_output, unsigned long &compression);
int BMPSize(const VSVideoInfo *vi, int alt_output);
int BitsPerPixel(const VSVideoFormat &format, int alt_output);
bool HasSupportedFourCC(const VSVideoFormat &fi);
bool NeedsPacking(const VSVideoFormat &fi, int alt_output);
bool NeedsUVSwap(const VSVideoFormat &fi, int alt_output); void PackOutputFrame(const uint8_t *src[3], const ptrdiff_t src_stride[3], uint8_t *dst, int width, int height, const VSVideoFormat &fi, int alt_output);
#endif