#include "libavutil/avutil.h"
+#define STR(s) AV_TOSTRING(s) //AV_STRINGIFY is too long
+
#define MAX_FILTER_SIZE 256
#define VOFW 2048
#define VOF (VOFW*2)
+#ifdef WORDS_BIGENDIAN
+#define ALT32_CORR (-1)
+#else
+#define ALT32_CORR 1
+#endif
+
+#ifdef ARCH_X86_64
+# define APCK_PTR2 8
+# define APCK_COEF 16
+# define APCK_SIZE 24
+#else
+# define APCK_PTR2 4
+# define APCK_COEF 8
+# define APCK_SIZE 16
+#endif
+
typedef int (*SwsFunc)(struct SwsContext *context, uint8_t* src[], int srcStride[], int srcSliceY,
int srcSliceH, uint8_t* dst[], int dstStride[]);
int chrSrcW, chrSrcH, chrDstW, chrDstH;
int lumXInc, chrXInc;
int lumYInc, chrYInc;
- int dstFormat, srcFormat; ///< format 4:2:0 type is always YV12
+ enum PixelFormat dstFormat, srcFormat; ///< format 4:2:0 type is always YV12
int origDstFormat, origSrcFormat; ///< format
int chrSrcHSubSample, chrSrcVSubSample;
int chrIntHSubSample, chrIntVSubSample;
int sliceDir;
double param[2];
+ uint32_t pal_yuv[256];
+ uint32_t pal_rgb[256];
+
int16_t **lumPixBuf;
int16_t **chrPixBuf;
int16_t *hLumFilter;
int srcColorspaceTable[4];
int dstColorspaceTable[4];
int srcRange, dstRange;
+ int yuv2rgb_y_offset;
+ int yuv2rgb_y_coeff;
+ int yuv2rgb_v2r_coeff;
+ int yuv2rgb_v2g_coeff;
+ int yuv2rgb_u2g_coeff;
+ int yuv2rgb_u2b_coeff;
#define RED_DITHER "0*8"
#define GREEN_DITHER "1*8"
|| (x)==PIX_FMT_GRAY16LE \
)
#define isRGB(x) ( \
- (x)==PIX_FMT_BGR32 \
+ (x)==PIX_FMT_RGB32 \
+ || (x)==PIX_FMT_RGB32_1 \
|| (x)==PIX_FMT_RGB24 \
|| (x)==PIX_FMT_RGB565 \
|| (x)==PIX_FMT_RGB555 \
|| (x)==PIX_FMT_RGB4 \
|| (x)==PIX_FMT_RGB4_BYTE \
|| (x)==PIX_FMT_MONOBLACK \
+ || (x)==PIX_FMT_MONOWHITE \
)
#define isBGR(x) ( \
- (x)==PIX_FMT_RGB32 \
+ (x)==PIX_FMT_BGR32 \
+ || (x)==PIX_FMT_BGR32_1 \
|| (x)==PIX_FMT_BGR24 \
|| (x)==PIX_FMT_BGR565 \
|| (x)==PIX_FMT_BGR555 \
|| (x)==PIX_FMT_BGR4 \
|| (x)==PIX_FMT_BGR4_BYTE \
|| (x)==PIX_FMT_MONOBLACK \
+ || (x)==PIX_FMT_MONOWHITE \
)
static inline int fmt_depth(int fmt)
case PIX_FMT_RGB4_BYTE:
return 4;
case PIX_FMT_MONOBLACK:
+ case PIX_FMT_MONOWHITE:
return 1;
default:
return 0;