dest+=6;\
}\
break;\
- case PIX_FMT_RGB565:\
- case PIX_FMT_BGR565:\
+ case PIX_FMT_RGB565BE:\
+ case PIX_FMT_RGB565LE:\
+ case PIX_FMT_BGR565BE:\
+ case PIX_FMT_BGR565LE:\
{\
const int dr1= dither_2x2_8[y&1 ][0];\
const int dg1= dither_2x2_4[y&1 ][0];\
}\
}\
break;\
- case PIX_FMT_RGB555:\
- case PIX_FMT_BGR555:\
+ case PIX_FMT_RGB555BE:\
+ case PIX_FMT_RGB555LE:\
+ case PIX_FMT_BGR555BE:\
+ case PIX_FMT_BGR555LE:\
{\
const int dr1= dither_2x2_8[y&1 ][0];\
const int dg1= dither_2x2_8[y&1 ][1];\
|| (x)==PIX_FMT_RGB32 \
|| (x)==PIX_FMT_RGB32_1 \
|| (x)==PIX_FMT_RGB24 \
- || (x)==PIX_FMT_RGB565 \
- || (x)==PIX_FMT_RGB555 \
+ || (x)==PIX_FMT_RGB565BE \
+ || (x)==PIX_FMT_RGB565LE \
+ || (x)==PIX_FMT_RGB555BE \
+ || (x)==PIX_FMT_RGB555LE \
|| (x)==PIX_FMT_RGB8 \
|| (x)==PIX_FMT_RGB4 \
|| (x)==PIX_FMT_RGB4_BYTE \
(x)==PIX_FMT_BGR32 \
|| (x)==PIX_FMT_BGR32_1 \
|| (x)==PIX_FMT_BGR24 \
- || (x)==PIX_FMT_BGR565 \
- || (x)==PIX_FMT_BGR555 \
+ || (x)==PIX_FMT_BGR565BE \
+ || (x)==PIX_FMT_BGR565LE \
+ || (x)==PIX_FMT_BGR555BE \
+ || (x)==PIX_FMT_BGR555LE \
|| (x)==PIX_FMT_BGR8 \
|| (x)==PIX_FMT_BGR4 \
|| (x)==PIX_FMT_BGR4_BYTE \
#include "swscale.h"
#include "swscale_internal.h"
#include "libavutil/x86_cpu.h"
+#include "libavutil/bswap.h"
extern const uint8_t dither_8x8_32[8][8];
extern const uint8_t dither_8x8_73[8][8];
const int isRgb = c->dstFormat==PIX_FMT_RGB32
|| c->dstFormat==PIX_FMT_RGB32_1
|| c->dstFormat==PIX_FMT_BGR24
- || c->dstFormat==PIX_FMT_RGB565
- || c->dstFormat==PIX_FMT_RGB555
+ || c->dstFormat==PIX_FMT_RGB565BE
+ || c->dstFormat==PIX_FMT_RGB565LE
+ || c->dstFormat==PIX_FMT_RGB555BE
+ || c->dstFormat==PIX_FMT_RGB555LE
|| c->dstFormat==PIX_FMT_RGB8
|| c->dstFormat==PIX_FMT_RGB4
|| c->dstFormat==PIX_FMT_RGB4_BYTE
|| c->dstFormat==PIX_FMT_MONOBLACK;
+ const int isNotNe = c->dstFormat==PIX_FMT_NE(RGB565LE,RGB565BE)
+ || c->dstFormat==PIX_FMT_NE(RGB555LE,RGB555BE)
+ || c->dstFormat==PIX_FMT_NE(BGR565LE,BGR565BE)
+ || c->dstFormat==PIX_FMT_NE(BGR555LE,BGR555BE);
const int bpp = c->dstFormatBpp;
uint8_t *y_table;
uint16_t *y_table16;
y_table16[i+2048] = (yval >> 3) << bbase;
yb += cy;
}
+ if(isNotNe)
+ for (i = 0; i < 1024*3; i++)
+ y_table16[i] = bswap_16(y_table16[i]);
fill_table(c->table_rV, 2, crv, y_table16 + yoffs);
fill_table(c->table_gU, 2, cgu, y_table16 + yoffs + 1024);
fill_table(c->table_bU, 2, cbu, y_table16 + yoffs + 2048);