mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Indent libswscale:
- Use 4 spaces throughout for indentation; - Fix inconsistent indentation; - Indent function calls and declarations aligning arguments on multiple lines to the column after the opening parentheses; - Align asm code to the column 4 spaces after the call to __asm__(); - Align cases in switch statements to the same column as "switch". Originally committed as revision 29522 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
This commit is contained in:
parent
2513b2b436
commit
9b734d44ab
@ -41,17 +41,17 @@ static char *args_parse(int argc, char *argv[])
|
||||
|
||||
while ((o = getopt(argc, argv, "m23")) != -1) {
|
||||
switch (o) {
|
||||
case 'm':
|
||||
cpu_caps |= SWS_CPU_CAPS_MMX;
|
||||
break;
|
||||
case '2':
|
||||
cpu_caps |= SWS_CPU_CAPS_MMX2;
|
||||
break;
|
||||
case '3':
|
||||
cpu_caps |= SWS_CPU_CAPS_3DNOW;
|
||||
break;
|
||||
default:
|
||||
av_log(NULL, AV_LOG_ERROR, "Unknown option %c\n", o);
|
||||
case 'm':
|
||||
cpu_caps |= SWS_CPU_CAPS_MMX;
|
||||
break;
|
||||
case '2':
|
||||
cpu_caps |= SWS_CPU_CAPS_MMX2;
|
||||
break;
|
||||
case '3':
|
||||
cpu_caps |= SWS_CPU_CAPS_3DNOW;
|
||||
break;
|
||||
default:
|
||||
av_log(NULL, AV_LOG_ERROR, "Unknown option %c\n", o);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -855,13 +855,13 @@ ff_yuv2packedX_altivec(SwsContext *c,
|
||||
B = vec_packclp (B0,B1);
|
||||
|
||||
switch(c->dstFormat) {
|
||||
case PIX_FMT_ABGR: out_abgr (R,G,B,out); break;
|
||||
case PIX_FMT_BGRA: out_bgra (R,G,B,out); break;
|
||||
case PIX_FMT_RGBA: out_rgba (R,G,B,out); break;
|
||||
case PIX_FMT_ARGB: out_argb (R,G,B,out); break;
|
||||
case PIX_FMT_RGB24: out_rgb24 (R,G,B,out); break;
|
||||
case PIX_FMT_BGR24: out_bgr24 (R,G,B,out); break;
|
||||
default:
|
||||
case PIX_FMT_ABGR: out_abgr (R,G,B,out); break;
|
||||
case PIX_FMT_BGRA: out_bgra (R,G,B,out); break;
|
||||
case PIX_FMT_RGBA: out_rgba (R,G,B,out); break;
|
||||
case PIX_FMT_ARGB: out_argb (R,G,B,out); break;
|
||||
case PIX_FMT_RGB24: out_rgb24 (R,G,B,out); break;
|
||||
case PIX_FMT_BGR24: out_bgr24 (R,G,B,out); break;
|
||||
default:
|
||||
{
|
||||
/* If this is reached, the caller should have called yuv2packedXinC
|
||||
instead. */
|
||||
@ -934,17 +934,17 @@ ff_yuv2packedX_altivec(SwsContext *c,
|
||||
|
||||
nout = (vector unsigned char *)scratch;
|
||||
switch(c->dstFormat) {
|
||||
case PIX_FMT_ABGR: out_abgr (R,G,B,nout); break;
|
||||
case PIX_FMT_BGRA: out_bgra (R,G,B,nout); break;
|
||||
case PIX_FMT_RGBA: out_rgba (R,G,B,nout); break;
|
||||
case PIX_FMT_ARGB: out_argb (R,G,B,nout); break;
|
||||
case PIX_FMT_RGB24: out_rgb24 (R,G,B,nout); break;
|
||||
case PIX_FMT_BGR24: out_bgr24 (R,G,B,nout); break;
|
||||
default:
|
||||
/* Unreachable, I think. */
|
||||
av_log(c, AV_LOG_ERROR, "altivec_yuv2packedX doesn't support %s output\n",
|
||||
sws_format_name(c->dstFormat));
|
||||
return;
|
||||
case PIX_FMT_ABGR: out_abgr (R,G,B,nout); break;
|
||||
case PIX_FMT_BGRA: out_bgra (R,G,B,nout); break;
|
||||
case PIX_FMT_RGBA: out_rgba (R,G,B,nout); break;
|
||||
case PIX_FMT_ARGB: out_argb (R,G,B,nout); break;
|
||||
case PIX_FMT_RGB24: out_rgb24 (R,G,B,nout); break;
|
||||
case PIX_FMT_BGR24: out_bgr24 (R,G,B,nout); break;
|
||||
default:
|
||||
/* Unreachable, I think. */
|
||||
av_log(c, AV_LOG_ERROR, "altivec_yuv2packedX doesn't support %s output\n",
|
||||
sws_format_name(c->dstFormat));
|
||||
return;
|
||||
}
|
||||
|
||||
memcpy (&((uint32_t*)dest)[i], scratch, (dstW-i)/4);
|
||||
|
@ -88,17 +88,17 @@ void (*yvu9_to_yuy2)(const uint8_t *src1, const uint8_t *src2, const uint8_t *sr
|
||||
long srcStride1, long srcStride2,
|
||||
long srcStride3, long dstStride);
|
||||
void (*uyvytoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
void (*uyvytoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
void (*yuyvtoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
|
||||
|
||||
#if ARCH_X86 && CONFIG_GPL
|
||||
|
@ -144,17 +144,17 @@ extern void (*yvu9_to_yuy2)(const uint8_t *src1, const uint8_t *src2, const uint
|
||||
|
||||
|
||||
extern void (*uyvytoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
extern void (*uyvytoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
extern void (*yuyvtoyuv420)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
extern void (*yuyvtoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src,
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
long width, long height,
|
||||
long lumStride, long chromStride, long srcStride);
|
||||
|
||||
void sws_rgb2rgb_init(int flags);
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -83,105 +83,105 @@
|
||||
// FIXME: must be changed to set alpha to 255 instead of 0
|
||||
static int vis_420P_ARGB32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[]){
|
||||
int y, out1, out2, out3, out4, out5, out6;
|
||||
int y, out1, out2, out3, out4, out5, out6;
|
||||
|
||||
for(y=0;y < srcSliceH;++y) {
|
||||
__asm__ volatile (
|
||||
YUV2RGB_INIT
|
||||
"wr %%g0, 0xd2, %%asi \n\t" /* ASI_FL16_P */
|
||||
"1: \n\t"
|
||||
"ldda [%1] %%asi, %%f2 \n\t"
|
||||
"ldda [%1+2] %%asi, %%f18 \n\t"
|
||||
"ldda [%2] %%asi, %%f4 \n\t"
|
||||
"ldda [%2+2] %%asi, %%f20 \n\t"
|
||||
"ld [%0], %%f0 \n\t"
|
||||
"ld [%0+4], %%f16 \n\t"
|
||||
"fpmerge %%f3, %%f3, %%f2 \n\t"
|
||||
"fpmerge %%f19, %%f19, %%f18 \n\t"
|
||||
"fpmerge %%f5, %%f5, %%f4 \n\t"
|
||||
"fpmerge %%f21, %%f21, %%f20 \n\t"
|
||||
YUV2RGB_KERNEL
|
||||
"fzero %%f0 \n\t"
|
||||
"fpmerge %%f4, %%f6, %%f8 \n\t" // r,b,t1
|
||||
"fpmerge %%f20, %%f22, %%f24 \n\t" // r,b,t1
|
||||
"fpmerge %%f0, %%f2, %%f10 \n\t" // 0,g,t2
|
||||
"fpmerge %%f0, %%f18, %%f26 \n\t" // 0,g,t2
|
||||
"fpmerge %%f10, %%f8, %%f4 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f26, %%f24, %%f20 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f11, %%f9, %%f6 \n\t" // t2,t1,lsb
|
||||
"fpmerge %%f27, %%f25, %%f22 \n\t" // t2,t1,lsb
|
||||
"std %%f4, [%3] \n\t"
|
||||
"std %%f20, [%3+16] \n\t"
|
||||
"std %%f6, [%3+8] \n\t"
|
||||
"std %%f22, [%3+24] \n\t"
|
||||
for(y=0;y < srcSliceH;++y) {
|
||||
__asm__ volatile (
|
||||
YUV2RGB_INIT
|
||||
"wr %%g0, 0xd2, %%asi \n\t" /* ASI_FL16_P */
|
||||
"1: \n\t"
|
||||
"ldda [%1] %%asi, %%f2 \n\t"
|
||||
"ldda [%1+2] %%asi, %%f18 \n\t"
|
||||
"ldda [%2] %%asi, %%f4 \n\t"
|
||||
"ldda [%2+2] %%asi, %%f20 \n\t"
|
||||
"ld [%0], %%f0 \n\t"
|
||||
"ld [%0+4], %%f16 \n\t"
|
||||
"fpmerge %%f3, %%f3, %%f2 \n\t"
|
||||
"fpmerge %%f19, %%f19, %%f18 \n\t"
|
||||
"fpmerge %%f5, %%f5, %%f4 \n\t"
|
||||
"fpmerge %%f21, %%f21, %%f20 \n\t"
|
||||
YUV2RGB_KERNEL
|
||||
"fzero %%f0 \n\t"
|
||||
"fpmerge %%f4, %%f6, %%f8 \n\t" // r,b,t1
|
||||
"fpmerge %%f20, %%f22, %%f24 \n\t" // r,b,t1
|
||||
"fpmerge %%f0, %%f2, %%f10 \n\t" // 0,g,t2
|
||||
"fpmerge %%f0, %%f18, %%f26 \n\t" // 0,g,t2
|
||||
"fpmerge %%f10, %%f8, %%f4 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f26, %%f24, %%f20 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f11, %%f9, %%f6 \n\t" // t2,t1,lsb
|
||||
"fpmerge %%f27, %%f25, %%f22 \n\t" // t2,t1,lsb
|
||||
"std %%f4, [%3] \n\t"
|
||||
"std %%f20, [%3+16] \n\t"
|
||||
"std %%f6, [%3+8] \n\t"
|
||||
"std %%f22, [%3+24] \n\t"
|
||||
|
||||
"add %0, 8, %0 \n\t"
|
||||
"add %1, 4, %1 \n\t"
|
||||
"add %2, 4, %2 \n\t"
|
||||
"subcc %4, 8, %4 \n\t"
|
||||
"bne 1b \n\t"
|
||||
"add %3, 32, %3 \n\t" //delay slot
|
||||
: "=r" (out1), "=r" (out2), "=r" (out3), "=r" (out4), "=r" (out5), "=r" (out6)
|
||||
: "0" (src[0]+(y+srcSliceY)*srcStride[0]), "1" (src[1]+((y+srcSliceY)>>1)*srcStride[1]),
|
||||
"2" (src[2]+((y+srcSliceY)>>1)*srcStride[2]), "3" (dst[0]+(y+srcSliceY)*dstStride[0]),
|
||||
"4" (c->dstW),
|
||||
"5" (c->sparc_coeffs)
|
||||
);
|
||||
}
|
||||
"add %0, 8, %0 \n\t"
|
||||
"add %1, 4, %1 \n\t"
|
||||
"add %2, 4, %2 \n\t"
|
||||
"subcc %4, 8, %4 \n\t"
|
||||
"bne 1b \n\t"
|
||||
"add %3, 32, %3 \n\t" //delay slot
|
||||
: "=r" (out1), "=r" (out2), "=r" (out3), "=r" (out4), "=r" (out5), "=r" (out6)
|
||||
: "0" (src[0]+(y+srcSliceY)*srcStride[0]), "1" (src[1]+((y+srcSliceY)>>1)*srcStride[1]),
|
||||
"2" (src[2]+((y+srcSliceY)>>1)*srcStride[2]), "3" (dst[0]+(y+srcSliceY)*dstStride[0]),
|
||||
"4" (c->dstW),
|
||||
"5" (c->sparc_coeffs)
|
||||
);
|
||||
}
|
||||
|
||||
return srcSliceH;
|
||||
return srcSliceH;
|
||||
}
|
||||
|
||||
// FIXME: must be changed to set alpha to 255 instead of 0
|
||||
static int vis_422P_ARGB32(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[]){
|
||||
int y, out1, out2, out3, out4, out5, out6;
|
||||
int y, out1, out2, out3, out4, out5, out6;
|
||||
|
||||
for(y=0;y < srcSliceH;++y) {
|
||||
__asm__ volatile (
|
||||
YUV2RGB_INIT
|
||||
"wr %%g0, 0xd2, %%asi \n\t" /* ASI_FL16_P */
|
||||
"1: \n\t"
|
||||
"ldda [%1] %%asi, %%f2 \n\t"
|
||||
"ldda [%1+2] %%asi, %%f18 \n\t"
|
||||
"ldda [%2] %%asi, %%f4 \n\t"
|
||||
"ldda [%2+2] %%asi, %%f20 \n\t"
|
||||
"ld [%0], %%f0 \n\t"
|
||||
"ld [%0+4], %%f16 \n\t"
|
||||
"fpmerge %%f3, %%f3, %%f2 \n\t"
|
||||
"fpmerge %%f19, %%f19, %%f18 \n\t"
|
||||
"fpmerge %%f5, %%f5, %%f4 \n\t"
|
||||
"fpmerge %%f21, %%f21, %%f20 \n\t"
|
||||
YUV2RGB_KERNEL
|
||||
"fzero %%f0 \n\t"
|
||||
"fpmerge %%f4, %%f6, %%f8 \n\t" // r,b,t1
|
||||
"fpmerge %%f20, %%f22, %%f24 \n\t" // r,b,t1
|
||||
"fpmerge %%f0, %%f2, %%f10 \n\t" // 0,g,t2
|
||||
"fpmerge %%f0, %%f18, %%f26 \n\t" // 0,g,t2
|
||||
"fpmerge %%f10, %%f8, %%f4 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f26, %%f24, %%f20 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f11, %%f9, %%f6 \n\t" // t2,t1,lsb
|
||||
"fpmerge %%f27, %%f25, %%f22 \n\t" // t2,t1,lsb
|
||||
"std %%f4, [%3] \n\t"
|
||||
"std %%f20, [%3+16] \n\t"
|
||||
"std %%f6, [%3+8] \n\t"
|
||||
"std %%f22, [%3+24] \n\t"
|
||||
for(y=0;y < srcSliceH;++y) {
|
||||
__asm__ volatile (
|
||||
YUV2RGB_INIT
|
||||
"wr %%g0, 0xd2, %%asi \n\t" /* ASI_FL16_P */
|
||||
"1: \n\t"
|
||||
"ldda [%1] %%asi, %%f2 \n\t"
|
||||
"ldda [%1+2] %%asi, %%f18 \n\t"
|
||||
"ldda [%2] %%asi, %%f4 \n\t"
|
||||
"ldda [%2+2] %%asi, %%f20 \n\t"
|
||||
"ld [%0], %%f0 \n\t"
|
||||
"ld [%0+4], %%f16 \n\t"
|
||||
"fpmerge %%f3, %%f3, %%f2 \n\t"
|
||||
"fpmerge %%f19, %%f19, %%f18 \n\t"
|
||||
"fpmerge %%f5, %%f5, %%f4 \n\t"
|
||||
"fpmerge %%f21, %%f21, %%f20 \n\t"
|
||||
YUV2RGB_KERNEL
|
||||
"fzero %%f0 \n\t"
|
||||
"fpmerge %%f4, %%f6, %%f8 \n\t" // r,b,t1
|
||||
"fpmerge %%f20, %%f22, %%f24 \n\t" // r,b,t1
|
||||
"fpmerge %%f0, %%f2, %%f10 \n\t" // 0,g,t2
|
||||
"fpmerge %%f0, %%f18, %%f26 \n\t" // 0,g,t2
|
||||
"fpmerge %%f10, %%f8, %%f4 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f26, %%f24, %%f20 \n\t" // t2,t1,msb
|
||||
"fpmerge %%f11, %%f9, %%f6 \n\t" // t2,t1,lsb
|
||||
"fpmerge %%f27, %%f25, %%f22 \n\t" // t2,t1,lsb
|
||||
"std %%f4, [%3] \n\t"
|
||||
"std %%f20, [%3+16] \n\t"
|
||||
"std %%f6, [%3+8] \n\t"
|
||||
"std %%f22, [%3+24] \n\t"
|
||||
|
||||
"add %0, 8, %0 \n\t"
|
||||
"add %1, 4, %1 \n\t"
|
||||
"add %2, 4, %2 \n\t"
|
||||
"subcc %4, 8, %4 \n\t"
|
||||
"bne 1b \n\t"
|
||||
"add %3, 32, %3 \n\t" //delay slot
|
||||
: "=r" (out1), "=r" (out2), "=r" (out3), "=r" (out4), "=r" (out5), "=r" (out6)
|
||||
: "0" (src[0]+(y+srcSliceY)*srcStride[0]), "1" (src[1]+(y+srcSliceY)*srcStride[1]),
|
||||
"2" (src[2]+(y+srcSliceY)*srcStride[2]), "3" (dst[0]+(y+srcSliceY)*dstStride[0]),
|
||||
"4" (c->dstW),
|
||||
"5" (c->sparc_coeffs)
|
||||
);
|
||||
}
|
||||
"add %0, 8, %0 \n\t"
|
||||
"add %1, 4, %1 \n\t"
|
||||
"add %2, 4, %2 \n\t"
|
||||
"subcc %4, 8, %4 \n\t"
|
||||
"bne 1b \n\t"
|
||||
"add %3, 32, %3 \n\t" //delay slot
|
||||
: "=r" (out1), "=r" (out2), "=r" (out3), "=r" (out4), "=r" (out5), "=r" (out6)
|
||||
: "0" (src[0]+(y+srcSliceY)*srcStride[0]), "1" (src[1]+(y+srcSliceY)*srcStride[1]),
|
||||
"2" (src[2]+(y+srcSliceY)*srcStride[2]), "3" (dst[0]+(y+srcSliceY)*dstStride[0]),
|
||||
"4" (c->dstW),
|
||||
"5" (c->sparc_coeffs)
|
||||
);
|
||||
}
|
||||
|
||||
return srcSliceH;
|
||||
return srcSliceH;
|
||||
}
|
||||
|
||||
SwsFunc ff_yuv2rgb_init_vis(SwsContext *c){
|
||||
|
@ -366,112 +366,112 @@ DECLARE_ALIGNED(8, const uint8_t, dither_8x8_220[8][8])={
|
||||
const char *sws_format_name(enum PixelFormat format)
|
||||
{
|
||||
switch (format) {
|
||||
case PIX_FMT_YUV420P:
|
||||
return "yuv420p";
|
||||
case PIX_FMT_YUVA420P:
|
||||
return "yuva420p";
|
||||
case PIX_FMT_YUYV422:
|
||||
return "yuyv422";
|
||||
case PIX_FMT_RGB24:
|
||||
return "rgb24";
|
||||
case PIX_FMT_BGR24:
|
||||
return "bgr24";
|
||||
case PIX_FMT_YUV422P:
|
||||
return "yuv422p";
|
||||
case PIX_FMT_YUV444P:
|
||||
return "yuv444p";
|
||||
case PIX_FMT_RGB32:
|
||||
return "rgb32";
|
||||
case PIX_FMT_YUV410P:
|
||||
return "yuv410p";
|
||||
case PIX_FMT_YUV411P:
|
||||
return "yuv411p";
|
||||
case PIX_FMT_RGB565:
|
||||
return "rgb565";
|
||||
case PIX_FMT_RGB555:
|
||||
return "rgb555";
|
||||
case PIX_FMT_GRAY16BE:
|
||||
return "gray16be";
|
||||
case PIX_FMT_GRAY16LE:
|
||||
return "gray16le";
|
||||
case PIX_FMT_GRAY8:
|
||||
return "gray8";
|
||||
case PIX_FMT_MONOWHITE:
|
||||
return "mono white";
|
||||
case PIX_FMT_MONOBLACK:
|
||||
return "mono black";
|
||||
case PIX_FMT_PAL8:
|
||||
return "Palette";
|
||||
case PIX_FMT_YUVJ420P:
|
||||
return "yuvj420p";
|
||||
case PIX_FMT_YUVJ422P:
|
||||
return "yuvj422p";
|
||||
case PIX_FMT_YUVJ444P:
|
||||
return "yuvj444p";
|
||||
case PIX_FMT_XVMC_MPEG2_MC:
|
||||
return "xvmc_mpeg2_mc";
|
||||
case PIX_FMT_XVMC_MPEG2_IDCT:
|
||||
return "xvmc_mpeg2_idct";
|
||||
case PIX_FMT_UYVY422:
|
||||
return "uyvy422";
|
||||
case PIX_FMT_UYYVYY411:
|
||||
return "uyyvyy411";
|
||||
case PIX_FMT_RGB32_1:
|
||||
return "rgb32x";
|
||||
case PIX_FMT_BGR32_1:
|
||||
return "bgr32x";
|
||||
case PIX_FMT_BGR32:
|
||||
return "bgr32";
|
||||
case PIX_FMT_BGR565:
|
||||
return "bgr565";
|
||||
case PIX_FMT_BGR555:
|
||||
return "bgr555";
|
||||
case PIX_FMT_BGR8:
|
||||
return "bgr8";
|
||||
case PIX_FMT_BGR4:
|
||||
return "bgr4";
|
||||
case PIX_FMT_BGR4_BYTE:
|
||||
return "bgr4 byte";
|
||||
case PIX_FMT_RGB8:
|
||||
return "rgb8";
|
||||
case PIX_FMT_RGB4:
|
||||
return "rgb4";
|
||||
case PIX_FMT_RGB4_BYTE:
|
||||
return "rgb4 byte";
|
||||
case PIX_FMT_RGB48BE:
|
||||
return "rgb48be";
|
||||
case PIX_FMT_RGB48LE:
|
||||
return "rgb48le";
|
||||
case PIX_FMT_NV12:
|
||||
return "nv12";
|
||||
case PIX_FMT_NV21:
|
||||
return "nv21";
|
||||
case PIX_FMT_YUV440P:
|
||||
return "yuv440p";
|
||||
case PIX_FMT_VDPAU_H264:
|
||||
return "vdpau_h264";
|
||||
case PIX_FMT_VDPAU_MPEG1:
|
||||
return "vdpau_mpeg1";
|
||||
case PIX_FMT_VDPAU_MPEG2:
|
||||
return "vdpau_mpeg2";
|
||||
case PIX_FMT_VDPAU_WMV3:
|
||||
return "vdpau_wmv3";
|
||||
case PIX_FMT_VDPAU_VC1:
|
||||
return "vdpau_vc1";
|
||||
case PIX_FMT_YUV420PLE:
|
||||
return "yuv420ple";
|
||||
case PIX_FMT_YUV422PLE:
|
||||
return "yuv422ple";
|
||||
case PIX_FMT_YUV444PLE:
|
||||
return "yuv444ple";
|
||||
case PIX_FMT_YUV420PBE:
|
||||
return "yuv420pbe";
|
||||
case PIX_FMT_YUV422PBE:
|
||||
return "yuv422pbe";
|
||||
case PIX_FMT_YUV444PBE:
|
||||
return "yuv444pbe";
|
||||
default:
|
||||
return "Unknown format";
|
||||
case PIX_FMT_YUV420P:
|
||||
return "yuv420p";
|
||||
case PIX_FMT_YUVA420P:
|
||||
return "yuva420p";
|
||||
case PIX_FMT_YUYV422:
|
||||
return "yuyv422";
|
||||
case PIX_FMT_RGB24:
|
||||
return "rgb24";
|
||||
case PIX_FMT_BGR24:
|
||||
return "bgr24";
|
||||
case PIX_FMT_YUV422P:
|
||||
return "yuv422p";
|
||||
case PIX_FMT_YUV444P:
|
||||
return "yuv444p";
|
||||
case PIX_FMT_RGB32:
|
||||
return "rgb32";
|
||||
case PIX_FMT_YUV410P:
|
||||
return "yuv410p";
|
||||
case PIX_FMT_YUV411P:
|
||||
return "yuv411p";
|
||||
case PIX_FMT_RGB565:
|
||||
return "rgb565";
|
||||
case PIX_FMT_RGB555:
|
||||
return "rgb555";
|
||||
case PIX_FMT_GRAY16BE:
|
||||
return "gray16be";
|
||||
case PIX_FMT_GRAY16LE:
|
||||
return "gray16le";
|
||||
case PIX_FMT_GRAY8:
|
||||
return "gray8";
|
||||
case PIX_FMT_MONOWHITE:
|
||||
return "mono white";
|
||||
case PIX_FMT_MONOBLACK:
|
||||
return "mono black";
|
||||
case PIX_FMT_PAL8:
|
||||
return "Palette";
|
||||
case PIX_FMT_YUVJ420P:
|
||||
return "yuvj420p";
|
||||
case PIX_FMT_YUVJ422P:
|
||||
return "yuvj422p";
|
||||
case PIX_FMT_YUVJ444P:
|
||||
return "yuvj444p";
|
||||
case PIX_FMT_XVMC_MPEG2_MC:
|
||||
return "xvmc_mpeg2_mc";
|
||||
case PIX_FMT_XVMC_MPEG2_IDCT:
|
||||
return "xvmc_mpeg2_idct";
|
||||
case PIX_FMT_UYVY422:
|
||||
return "uyvy422";
|
||||
case PIX_FMT_UYYVYY411:
|
||||
return "uyyvyy411";
|
||||
case PIX_FMT_RGB32_1:
|
||||
return "rgb32x";
|
||||
case PIX_FMT_BGR32_1:
|
||||
return "bgr32x";
|
||||
case PIX_FMT_BGR32:
|
||||
return "bgr32";
|
||||
case PIX_FMT_BGR565:
|
||||
return "bgr565";
|
||||
case PIX_FMT_BGR555:
|
||||
return "bgr555";
|
||||
case PIX_FMT_BGR8:
|
||||
return "bgr8";
|
||||
case PIX_FMT_BGR4:
|
||||
return "bgr4";
|
||||
case PIX_FMT_BGR4_BYTE:
|
||||
return "bgr4 byte";
|
||||
case PIX_FMT_RGB8:
|
||||
return "rgb8";
|
||||
case PIX_FMT_RGB4:
|
||||
return "rgb4";
|
||||
case PIX_FMT_RGB4_BYTE:
|
||||
return "rgb4 byte";
|
||||
case PIX_FMT_RGB48BE:
|
||||
return "rgb48be";
|
||||
case PIX_FMT_RGB48LE:
|
||||
return "rgb48le";
|
||||
case PIX_FMT_NV12:
|
||||
return "nv12";
|
||||
case PIX_FMT_NV21:
|
||||
return "nv21";
|
||||
case PIX_FMT_YUV440P:
|
||||
return "yuv440p";
|
||||
case PIX_FMT_VDPAU_H264:
|
||||
return "vdpau_h264";
|
||||
case PIX_FMT_VDPAU_MPEG1:
|
||||
return "vdpau_mpeg1";
|
||||
case PIX_FMT_VDPAU_MPEG2:
|
||||
return "vdpau_mpeg2";
|
||||
case PIX_FMT_VDPAU_WMV3:
|
||||
return "vdpau_wmv3";
|
||||
case PIX_FMT_VDPAU_VC1:
|
||||
return "vdpau_vc1";
|
||||
case PIX_FMT_YUV420PLE:
|
||||
return "yuv420ple";
|
||||
case PIX_FMT_YUV422PLE:
|
||||
return "yuv422ple";
|
||||
case PIX_FMT_YUV444PLE:
|
||||
return "yuv444ple";
|
||||
case PIX_FMT_YUV420PBE:
|
||||
return "yuv420pbe";
|
||||
case PIX_FMT_YUV422PBE:
|
||||
return "yuv422pbe";
|
||||
case PIX_FMT_YUV444PBE:
|
||||
return "yuv444pbe";
|
||||
default:
|
||||
return "Unknown format";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1443,12 +1443,12 @@ static inline void monoblack2Y(uint8_t *dst, const uint8_t *src, long width, uin
|
||||
static double getSplineCoeff(double a, double b, double c, double d, double dist)
|
||||
{
|
||||
// printf("%f %f %f %f %f\n", a,b,c,d,dist);
|
||||
if (dist<=1.0) return ((d*dist + c)*dist + b)*dist +a;
|
||||
else return getSplineCoeff( 0.0,
|
||||
b+ 2.0*c + 3.0*d,
|
||||
c + 3.0*d,
|
||||
-b- 3.0*c - 6.0*d,
|
||||
dist-1.0);
|
||||
if (dist<=1.0) return ((d*dist + c)*dist + b)*dist +a;
|
||||
else return getSplineCoeff( 0.0,
|
||||
b+ 2.0*c + 3.0*d,
|
||||
c + 3.0*d,
|
||||
-b- 3.0*c - 6.0*d,
|
||||
dist-1.0);
|
||||
}
|
||||
|
||||
static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outFilterSize, int xInc,
|
||||
@ -1515,14 +1515,14 @@ static inline int initFilter(int16_t **outFilter, int16_t **filterPos, int *outF
|
||||
int j;
|
||||
|
||||
(*filterPos)[i]= xx;
|
||||
//bilinear upscale / linear interpolate / area averaging
|
||||
for (j=0; j<filterSize; j++)
|
||||
{
|
||||
int64_t coeff= fone - FFABS((xx<<16) - xDstInSrc)*(fone>>16);
|
||||
if (coeff<0) coeff=0;
|
||||
filter[i*filterSize + j]= coeff;
|
||||
xx++;
|
||||
}
|
||||
//bilinear upscale / linear interpolate / area averaging
|
||||
for (j=0; j<filterSize; j++)
|
||||
{
|
||||
int64_t coeff= fone - FFABS((xx<<16) - xDstInSrc)*(fone>>16);
|
||||
if (coeff<0) coeff=0;
|
||||
filter[i*filterSize + j]= coeff;
|
||||
xx++;
|
||||
}
|
||||
xDstInSrc+= xInc;
|
||||
}
|
||||
}
|
||||
@ -2562,20 +2562,20 @@ int sws_getColorspaceDetails(SwsContext *c, int **inv_table, int *srcRange, int
|
||||
static int handle_jpeg(enum PixelFormat *format)
|
||||
{
|
||||
switch (*format) {
|
||||
case PIX_FMT_YUVJ420P:
|
||||
*format = PIX_FMT_YUV420P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ422P:
|
||||
*format = PIX_FMT_YUV422P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ444P:
|
||||
*format = PIX_FMT_YUV444P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ440P:
|
||||
*format = PIX_FMT_YUV440P;
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
case PIX_FMT_YUVJ420P:
|
||||
*format = PIX_FMT_YUV420P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ422P:
|
||||
*format = PIX_FMT_YUV422P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ444P:
|
||||
*format = PIX_FMT_YUV444P;
|
||||
return 1;
|
||||
case PIX_FMT_YUVJ440P:
|
||||
*format = PIX_FMT_YUV440P;
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2837,7 +2837,7 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d
|
||||
if (c->swScale){
|
||||
if (flags&SWS_PRINT_INFO)
|
||||
av_log(c, AV_LOG_INFO, "using unscaled %s -> %s special converter\n",
|
||||
sws_format_name(srcFormat), sws_format_name(dstFormat));
|
||||
sws_format_name(srcFormat), sws_format_name(dstFormat));
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
@ -932,13 +932,13 @@ static inline void RENAME(yuv2yuvX)(SwsContext *c, const int16_t *lumFilter, con
|
||||
}
|
||||
#endif
|
||||
#if COMPILE_TEMPLATE_ALTIVEC
|
||||
yuv2yuvX_altivec_real(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
dest, uDest, vDest, dstW, chrDstW);
|
||||
yuv2yuvX_altivec_real(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
dest, uDest, vDest, dstW, chrDstW);
|
||||
#else //COMPILE_TEMPLATE_ALTIVEC
|
||||
yuv2yuvXinC(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
alpSrc, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
yuv2yuvXinC(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
alpSrc, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
#endif //!COMPILE_TEMPLATE_ALTIVEC
|
||||
}
|
||||
|
||||
@ -946,9 +946,9 @@ static inline void RENAME(yuv2nv12X)(SwsContext *c, const int16_t *lumFilter, co
|
||||
const int16_t *chrFilter, const int16_t **chrSrc, int chrFilterSize,
|
||||
uint8_t *dest, uint8_t *uDest, int dstW, int chrDstW, int dstFormat)
|
||||
{
|
||||
yuv2nv12XinC(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
yuv2nv12XinC(lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
}
|
||||
|
||||
static inline void RENAME(yuv2yuv1)(SwsContext *c, const int16_t *lumSrc, const int16_t *chrSrc, const int16_t *alpSrc,
|
||||
@ -1198,9 +1198,9 @@ static inline void RENAME(yuv2packedX)(SwsContext *c, const int16_t *lumFilter,
|
||||
/* The following list of supported dstFormat values should
|
||||
match what's found in the body of ff_yuv2packedX_altivec() */
|
||||
if (!(c->flags & SWS_BITEXACT) && !c->alpPixBuf &&
|
||||
(c->dstFormat==PIX_FMT_ABGR || c->dstFormat==PIX_FMT_BGRA ||
|
||||
c->dstFormat==PIX_FMT_BGR24 || c->dstFormat==PIX_FMT_RGB24 ||
|
||||
c->dstFormat==PIX_FMT_RGBA || c->dstFormat==PIX_FMT_ARGB))
|
||||
(c->dstFormat==PIX_FMT_ABGR || c->dstFormat==PIX_FMT_BGRA ||
|
||||
c->dstFormat==PIX_FMT_BGR24 || c->dstFormat==PIX_FMT_RGB24 ||
|
||||
c->dstFormat==PIX_FMT_RGBA || c->dstFormat==PIX_FMT_ARGB))
|
||||
ff_yuv2packedX_altivec(c, lumFilter, lumSrc, lumFilterSize,
|
||||
chrFilter, chrSrc, chrFilterSize,
|
||||
dest, dstW, dstY);
|
||||
@ -1358,7 +1358,7 @@ static inline void RENAME(yuv2packed2)(SwsContext *c, const uint16_t *buf0, cons
|
||||
}
|
||||
}
|
||||
#endif //COMPILE_TEMPLATE_MMX
|
||||
YSCALE_YUV_2_ANYRGB_C(YSCALE_YUV_2_RGB2_C, YSCALE_YUV_2_PACKED2_C(void,0), YSCALE_YUV_2_GRAY16_2_C, YSCALE_YUV_2_MONO2_C)
|
||||
YSCALE_YUV_2_ANYRGB_C(YSCALE_YUV_2_RGB2_C, YSCALE_YUV_2_PACKED2_C(void,0), YSCALE_YUV_2_GRAY16_2_C, YSCALE_YUV_2_MONO2_C)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2305,14 +2305,14 @@ static inline void RENAME(hyscale)(SwsContext *c, uint16_t *dst, long dstWidth,
|
||||
|
||||
#endif /* ARCH_X86_64 */
|
||||
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
|
||||
#if defined(PIC)
|
||||
"mov %5, %%"REG_b" \n\t"
|
||||
@ -2470,10 +2470,10 @@ inline static void RENAME(hcscale)(SwsContext *c, uint16_t *dst, long dstWidth,
|
||||
PREFETCH" 32(%%"REG_c") \n\t"
|
||||
PREFETCH" 64(%%"REG_c") \n\t"
|
||||
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
"xor %%"REG_a", %%"REG_a" \n\t" // i
|
||||
"mov %5, %%"REG_c" \n\t" // src
|
||||
"mov %1, %%"REG_D" \n\t" // buf1
|
||||
@ -2482,10 +2482,10 @@ CALL_MMX2_FILTER_CODE
|
||||
PREFETCH" 32(%%"REG_c") \n\t"
|
||||
PREFETCH" 64(%%"REG_c") \n\t"
|
||||
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
CALL_MMX2_FILTER_CODE
|
||||
|
||||
#if defined(PIC)
|
||||
"mov %6, %%"REG_b" \n\t"
|
||||
@ -2754,60 +2754,60 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
const int16_t **alpSrcPtr= (CONFIG_SWSCALE_ALPHA && alpPixBuf) ? (const int16_t **) alpPixBuf + lumBufIndex + firstLumSrcY - lastInLumBuf + vLumBufSize : NULL;
|
||||
#if COMPILE_TEMPLATE_MMX
|
||||
int i;
|
||||
if (flags & SWS_ACCURATE_RND){
|
||||
int s= APCK_SIZE / 8;
|
||||
for (i=0; i<vLumFilterSize; i+=2){
|
||||
*(void**)&lumMmxFilter[s*i ]= lumSrcPtr[i ];
|
||||
*(void**)&lumMmxFilter[s*i+APCK_PTR2/4 ]= lumSrcPtr[i+(vLumFilterSize>1)];
|
||||
lumMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
lumMmxFilter[s*i+APCK_COEF/4+1]= vLumFilter[dstY*vLumFilterSize + i ]
|
||||
+ (vLumFilterSize>1 ? vLumFilter[dstY*vLumFilterSize + i + 1]<<16 : 0);
|
||||
if (CONFIG_SWSCALE_ALPHA && alpPixBuf){
|
||||
*(void**)&alpMmxFilter[s*i ]= alpSrcPtr[i ];
|
||||
*(void**)&alpMmxFilter[s*i+APCK_PTR2/4 ]= alpSrcPtr[i+(vLumFilterSize>1)];
|
||||
alpMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
alpMmxFilter[s*i+APCK_COEF/4+1]= lumMmxFilter[s*i+APCK_COEF/4 ];
|
||||
if (flags & SWS_ACCURATE_RND){
|
||||
int s= APCK_SIZE / 8;
|
||||
for (i=0; i<vLumFilterSize; i+=2){
|
||||
*(void**)&lumMmxFilter[s*i ]= lumSrcPtr[i ];
|
||||
*(void**)&lumMmxFilter[s*i+APCK_PTR2/4 ]= lumSrcPtr[i+(vLumFilterSize>1)];
|
||||
lumMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
lumMmxFilter[s*i+APCK_COEF/4+1]= vLumFilter[dstY*vLumFilterSize + i ]
|
||||
+ (vLumFilterSize>1 ? vLumFilter[dstY*vLumFilterSize + i + 1]<<16 : 0);
|
||||
if (CONFIG_SWSCALE_ALPHA && alpPixBuf){
|
||||
*(void**)&alpMmxFilter[s*i ]= alpSrcPtr[i ];
|
||||
*(void**)&alpMmxFilter[s*i+APCK_PTR2/4 ]= alpSrcPtr[i+(vLumFilterSize>1)];
|
||||
alpMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
alpMmxFilter[s*i+APCK_COEF/4+1]= lumMmxFilter[s*i+APCK_COEF/4 ];
|
||||
}
|
||||
}
|
||||
for (i=0; i<vChrFilterSize; i+=2){
|
||||
*(void**)&chrMmxFilter[s*i ]= chrSrcPtr[i ];
|
||||
*(void**)&chrMmxFilter[s*i+APCK_PTR2/4 ]= chrSrcPtr[i+(vChrFilterSize>1)];
|
||||
chrMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
chrMmxFilter[s*i+APCK_COEF/4+1]= vChrFilter[chrDstY*vChrFilterSize + i ]
|
||||
+ (vChrFilterSize>1 ? vChrFilter[chrDstY*vChrFilterSize + i + 1]<<16 : 0);
|
||||
}
|
||||
}else{
|
||||
for (i=0; i<vLumFilterSize; i++)
|
||||
{
|
||||
lumMmxFilter[4*i+0]= (int32_t)lumSrcPtr[i];
|
||||
lumMmxFilter[4*i+1]= (uint64_t)lumSrcPtr[i] >> 32;
|
||||
lumMmxFilter[4*i+2]=
|
||||
lumMmxFilter[4*i+3]=
|
||||
((uint16_t)vLumFilter[dstY*vLumFilterSize + i])*0x10001;
|
||||
if (CONFIG_SWSCALE_ALPHA && alpPixBuf){
|
||||
alpMmxFilter[4*i+0]= (int32_t)alpSrcPtr[i];
|
||||
alpMmxFilter[4*i+1]= (uint64_t)alpSrcPtr[i] >> 32;
|
||||
alpMmxFilter[4*i+2]=
|
||||
alpMmxFilter[4*i+3]= lumMmxFilter[4*i+2];
|
||||
}
|
||||
}
|
||||
for (i=0; i<vChrFilterSize; i++)
|
||||
{
|
||||
chrMmxFilter[4*i+0]= (int32_t)chrSrcPtr[i];
|
||||
chrMmxFilter[4*i+1]= (uint64_t)chrSrcPtr[i] >> 32;
|
||||
chrMmxFilter[4*i+2]=
|
||||
chrMmxFilter[4*i+3]=
|
||||
((uint16_t)vChrFilter[chrDstY*vChrFilterSize + i])*0x10001;
|
||||
}
|
||||
}
|
||||
for (i=0; i<vChrFilterSize; i+=2){
|
||||
*(void**)&chrMmxFilter[s*i ]= chrSrcPtr[i ];
|
||||
*(void**)&chrMmxFilter[s*i+APCK_PTR2/4 ]= chrSrcPtr[i+(vChrFilterSize>1)];
|
||||
chrMmxFilter[s*i+APCK_COEF/4 ]=
|
||||
chrMmxFilter[s*i+APCK_COEF/4+1]= vChrFilter[chrDstY*vChrFilterSize + i ]
|
||||
+ (vChrFilterSize>1 ? vChrFilter[chrDstY*vChrFilterSize + i + 1]<<16 : 0);
|
||||
}
|
||||
}else{
|
||||
for (i=0; i<vLumFilterSize; i++)
|
||||
{
|
||||
lumMmxFilter[4*i+0]= (int32_t)lumSrcPtr[i];
|
||||
lumMmxFilter[4*i+1]= (uint64_t)lumSrcPtr[i] >> 32;
|
||||
lumMmxFilter[4*i+2]=
|
||||
lumMmxFilter[4*i+3]=
|
||||
((uint16_t)vLumFilter[dstY*vLumFilterSize + i])*0x10001;
|
||||
if (CONFIG_SWSCALE_ALPHA && alpPixBuf){
|
||||
alpMmxFilter[4*i+0]= (int32_t)alpSrcPtr[i];
|
||||
alpMmxFilter[4*i+1]= (uint64_t)alpSrcPtr[i] >> 32;
|
||||
alpMmxFilter[4*i+2]=
|
||||
alpMmxFilter[4*i+3]= lumMmxFilter[4*i+2];
|
||||
}
|
||||
}
|
||||
for (i=0; i<vChrFilterSize; i++)
|
||||
{
|
||||
chrMmxFilter[4*i+0]= (int32_t)chrSrcPtr[i];
|
||||
chrMmxFilter[4*i+1]= (uint64_t)chrSrcPtr[i] >> 32;
|
||||
chrMmxFilter[4*i+2]=
|
||||
chrMmxFilter[4*i+3]=
|
||||
((uint16_t)vChrFilter[chrDstY*vChrFilterSize + i])*0x10001;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (dstFormat == PIX_FMT_NV12 || dstFormat == PIX_FMT_NV21){
|
||||
const int chrSkipMask= (1<<c->chrDstVSubSample)-1;
|
||||
if (dstY&chrSkipMask) uDest= NULL; //FIXME split functions in lumi / chromi
|
||||
c->yuv2nv12X(c,
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
}
|
||||
else if (isPlanarYUV(dstFormat) || dstFormat==PIX_FMT_GRAY8) //YV12 like
|
||||
{
|
||||
@ -2816,10 +2816,10 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
if (is16BPS(dstFormat))
|
||||
{
|
||||
yuv2yuvX16inC(
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, (uint16_t *) dest, (uint16_t *) uDest, (uint16_t *) vDest, (uint16_t *) aDest, dstW, chrDstW,
|
||||
dstFormat);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, (uint16_t *) dest, (uint16_t *) uDest, (uint16_t *) vDest, (uint16_t *) aDest, dstW, chrDstW,
|
||||
dstFormat);
|
||||
}
|
||||
else
|
||||
if (vLumFilterSize == 1 && vChrFilterSize == 1) // unscaled YV12
|
||||
@ -2832,9 +2832,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
else //General YV12
|
||||
{
|
||||
c->yuv2yuvX(c,
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2846,13 +2846,13 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
int chrAlpha= vChrFilter[2*dstY+1];
|
||||
if(flags & SWS_FULL_CHR_H_INT){
|
||||
yuv2rgbXinC_full(c, //FIXME write a packed1_full function
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}else{
|
||||
c->yuv2packed1(c, *lumSrcPtr, *chrSrcPtr, *(chrSrcPtr+1),
|
||||
alpPixBuf ? *alpSrcPtr : NULL,
|
||||
dest, dstW, chrAlpha, dstFormat, flags, dstY);
|
||||
alpPixBuf ? *alpSrcPtr : NULL,
|
||||
dest, dstW, chrAlpha, dstFormat, flags, dstY);
|
||||
}
|
||||
}
|
||||
else if (vLumFilterSize == 2 && vChrFilterSize == 2) //bilinear upscale RGB
|
||||
@ -2865,27 +2865,27 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
chrMmxFilter[3]= vChrFilter[2*chrDstY]*0x10001;
|
||||
if(flags & SWS_FULL_CHR_H_INT){
|
||||
yuv2rgbXinC_full(c, //FIXME write a packed2_full function
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}else{
|
||||
c->yuv2packed2(c, *lumSrcPtr, *(lumSrcPtr+1), *chrSrcPtr, *(chrSrcPtr+1),
|
||||
alpPixBuf ? *alpSrcPtr : NULL, alpPixBuf ? *(alpSrcPtr+1) : NULL,
|
||||
dest, dstW, lumAlpha, chrAlpha, dstY);
|
||||
alpPixBuf ? *alpSrcPtr : NULL, alpPixBuf ? *(alpSrcPtr+1) : NULL,
|
||||
dest, dstW, lumAlpha, chrAlpha, dstY);
|
||||
}
|
||||
}
|
||||
else //general RGB
|
||||
{
|
||||
if(flags & SWS_FULL_CHR_H_INT){
|
||||
yuv2rgbXinC_full(c,
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}else{
|
||||
c->yuv2packedX(c,
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2899,9 +2899,9 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
const int chrSkipMask= (1<<c->chrDstVSubSample)-1;
|
||||
if (dstY&chrSkipMask) uDest= NULL; //FIXME split functions in lumi / chromi
|
||||
yuv2nv12XinC(
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
dest, uDest, dstW, chrDstW, dstFormat);
|
||||
}
|
||||
else if (isPlanarYUV(dstFormat) || dstFormat==PIX_FMT_GRAY8) //YV12
|
||||
{
|
||||
@ -2910,17 +2910,17 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
if (is16BPS(dstFormat))
|
||||
{
|
||||
yuv2yuvX16inC(
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, (uint16_t *) dest, (uint16_t *) uDest, (uint16_t *) vDest, (uint16_t *) aDest, dstW, chrDstW,
|
||||
dstFormat);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, (uint16_t *) dest, (uint16_t *) uDest, (uint16_t *) vDest, (uint16_t *) aDest, dstW, chrDstW,
|
||||
dstFormat);
|
||||
}
|
||||
else
|
||||
{
|
||||
yuv2yuvXinC(
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
vLumFilter+dstY*vLumFilterSize , lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+chrDstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, uDest, vDest, aDest, dstW, chrDstW);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2929,14 +2929,14 @@ static int RENAME(swScale)(SwsContext *c, uint8_t* src[], int srcStride[], int s
|
||||
assert(chrSrcPtr + vChrFilterSize - 1 < chrPixBuf + vChrBufSize*2);
|
||||
if(flags & SWS_FULL_CHR_H_INT){
|
||||
yuv2rgbXinC_full(c,
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}else{
|
||||
yuv2packedXinC(c,
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
vLumFilter+dstY*vLumFilterSize, lumSrcPtr, vLumFilterSize,
|
||||
vChrFilter+dstY*vChrFilterSize, chrSrcPtr, vChrFilterSize,
|
||||
alpSrcPtr, dest, dstW, dstY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user