|
|
|
@ -666,6 +666,7 @@ static void RENAME(yuv2rgb555_X)(SwsContext *c, const int16_t *lumFilter, |
|
|
|
|
#define WRITEBGR24(dst, dstw, index) WRITEBGR24MMX(dst, dstw, index) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if HAVE_6REGS |
|
|
|
|
static void RENAME(yuv2bgr24_X_ar)(SwsContext *c, const int16_t *lumFilter, |
|
|
|
|
const int16_t **lumSrc, int lumFilterSize, |
|
|
|
|
const int16_t *chrFilter, const int16_t **chrUSrc, |
|
|
|
@ -715,6 +716,7 @@ static void RENAME(yuv2bgr24_X)(SwsContext *c, const int16_t *lumFilter, |
|
|
|
|
: "%"REG_a, "%"REG_c, "%"REG_d, "%"REG_S |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
#endif /* HAVE_6REGS */ |
|
|
|
|
|
|
|
|
|
#define REAL_WRITEYUY2(dst, dstw, index) \ |
|
|
|
|
"packuswb %%mm3, %%mm3 \n\t"\
|
|
|
|
@ -1664,7 +1666,9 @@ static av_cold void RENAME(sws_init_swscale)(SwsContext *c) |
|
|
|
|
if (!(c->flags & SWS_FULL_CHR_H_INT)) { |
|
|
|
|
switch (c->dstFormat) { |
|
|
|
|
case AV_PIX_FMT_RGB32: c->yuv2packedX = RENAME(yuv2rgb32_X_ar); break; |
|
|
|
|
#if HAVE_6REGS |
|
|
|
|
case AV_PIX_FMT_BGR24: c->yuv2packedX = RENAME(yuv2bgr24_X_ar); break; |
|
|
|
|
#endif |
|
|
|
|
case AV_PIX_FMT_RGB555: c->yuv2packedX = RENAME(yuv2rgb555_X_ar); break; |
|
|
|
|
case AV_PIX_FMT_RGB565: c->yuv2packedX = RENAME(yuv2rgb565_X_ar); break; |
|
|
|
|
case AV_PIX_FMT_YUYV422: c->yuv2packedX = RENAME(yuv2yuyv422_X_ar); break; |
|
|
|
@ -1677,7 +1681,9 @@ static av_cold void RENAME(sws_init_swscale)(SwsContext *c) |
|
|
|
|
if (!(c->flags & SWS_FULL_CHR_H_INT)) { |
|
|
|
|
switch (c->dstFormat) { |
|
|
|
|
case AV_PIX_FMT_RGB32: c->yuv2packedX = RENAME(yuv2rgb32_X); break; |
|
|
|
|
#if HAVE_6REGS |
|
|
|
|
case AV_PIX_FMT_BGR24: c->yuv2packedX = RENAME(yuv2bgr24_X); break; |
|
|
|
|
#endif |
|
|
|
|
case AV_PIX_FMT_RGB555: c->yuv2packedX = RENAME(yuv2rgb555_X); break; |
|
|
|
|
case AV_PIX_FMT_RGB565: c->yuv2packedX = RENAME(yuv2rgb565_X); break; |
|
|
|
|
case AV_PIX_FMT_YUYV422: c->yuv2packedX = RENAME(yuv2yuyv422_X); break; |
|
|
|
|