Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
06b5facd
Commit
06b5facd
authored
Apr 29, 2011
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swscale: Remove disabled code.
parent
d6e0729b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
233 deletions
+0
-233
yuv2rgb_altivec.c
libswscale/ppc/yuv2rgb_altivec.c
+0
-152
rgb2rgb_template.c
libswscale/rgb2rgb_template.c
+0
-7
yuv2rgb.c
libswscale/yuv2rgb.c
+0
-74
No files found.
libswscale/ppc/yuv2rgb_altivec.c
View file @
06b5facd
...
@@ -447,159 +447,7 @@ static int altivec_##name (SwsContext *c, \
...
@@ -447,159 +447,7 @@ static int altivec_##name (SwsContext *c, \
#define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr)
#define out_bgr24(a,b,c,ptr) vec_mstbgr24(a,b,c,ptr)
DEFCSP420_CVT
(
yuv2_abgr
,
out_abgr
)
DEFCSP420_CVT
(
yuv2_abgr
,
out_abgr
)
#if 1
DEFCSP420_CVT
(
yuv2_bgra
,
out_bgra
)
DEFCSP420_CVT
(
yuv2_bgra
,
out_bgra
)
#else
static
int
altivec_yuv2_bgra32
(
SwsContext
*
c
,
unsigned
char
**
in
,
int
*
instrides
,
int
srcSliceY
,
int
srcSliceH
,
unsigned
char
**
oplanes
,
int
*
outstrides
)
{
int
w
=
c
->
srcW
;
int
h
=
srcSliceH
;
int
i
,
j
;
int
instrides_scl
[
3
];
vector
unsigned
char
y0
,
y1
;
vector
signed
char
u
,
v
;
vector
signed
short
Y0
,
Y1
,
Y2
,
Y3
;
vector
signed
short
U
,
V
;
vector
signed
short
vx
,
ux
,
uvx
;
vector
signed
short
vx0
,
ux0
,
uvx0
;
vector
signed
short
vx1
,
ux1
,
uvx1
;
vector
signed
short
R0
,
G0
,
B0
;
vector
signed
short
R1
,
G1
,
B1
;
vector
unsigned
char
R
,
G
,
B
;
vector
unsigned
char
*
uivP
,
*
vivP
;
vector
unsigned
char
align_perm
;
vector
signed
short
lCY
=
c
->
CY
,
lOY
=
c
->
OY
,
lCRV
=
c
->
CRV
,
lCBU
=
c
->
CBU
,
lCGU
=
c
->
CGU
,
lCGV
=
c
->
CGV
;
vector
unsigned
short
lCSHIFT
=
c
->
CSHIFT
;
ubyte
*
y1i
=
in
[
0
];
ubyte
*
y2i
=
in
[
0
]
+
w
;
ubyte
*
ui
=
in
[
1
];
ubyte
*
vi
=
in
[
2
];
vector
unsigned
char
*
oute
=
(
vector
unsigned
char
*
)
(
oplanes
[
0
]
+
srcSliceY
*
outstrides
[
0
]);
vector
unsigned
char
*
outo
=
(
vector
unsigned
char
*
)
(
oplanes
[
0
]
+
srcSliceY
*
outstrides
[
0
]
+
outstrides
[
0
]);
instrides_scl
[
0
]
=
instrides
[
0
];
instrides_scl
[
1
]
=
instrides
[
1
]
-
w
/
2
;
/* the loop moves ui by w/2 */
instrides_scl
[
2
]
=
instrides
[
2
]
-
w
/
2
;
/* the loop moves vi by w/2 */
for
(
i
=
0
;
i
<
h
/
2
;
i
++
)
{
vec_dstst
(
outo
,
(
0x02000002
|
(((
w
*
3
+
32
)
/
32
)
<<
16
)),
0
);
vec_dstst
(
oute
,
(
0x02000002
|
(((
w
*
3
+
32
)
/
32
)
<<
16
)),
1
);
for
(
j
=
0
;
j
<
w
/
16
;
j
++
)
{
y0
=
vec_ldl
(
0
,
y1i
);
y1
=
vec_ldl
(
0
,
y2i
);
uivP
=
(
vector
unsigned
char
*
)
ui
;
vivP
=
(
vector
unsigned
char
*
)
vi
;
align_perm
=
vec_lvsl
(
0
,
ui
);
u
=
(
vector
signed
char
)
vec_perm
(
uivP
[
0
],
uivP
[
1
],
align_perm
);
align_perm
=
vec_lvsl
(
0
,
vi
);
v
=
(
vector
signed
char
)
vec_perm
(
vivP
[
0
],
vivP
[
1
],
align_perm
);
u
=
(
vector
signed
char
)
vec_sub
(
u
,(
vector
signed
char
)
vec_splat
((
vector
signed
char
){
128
},
0
));
v
=
(
vector
signed
char
)
vec_sub
(
v
,
(
vector
signed
char
)
vec_splat
((
vector
signed
char
){
128
},
0
));
U
=
vec_unpackh
(
u
);
V
=
vec_unpackh
(
v
);
Y0
=
vec_unh
(
y0
);
Y1
=
vec_unl
(
y0
);
Y2
=
vec_unh
(
y1
);
Y3
=
vec_unl
(
y1
);
Y0
=
vec_mradds
(
Y0
,
lCY
,
lOY
);
Y1
=
vec_mradds
(
Y1
,
lCY
,
lOY
);
Y2
=
vec_mradds
(
Y2
,
lCY
,
lOY
);
Y3
=
vec_mradds
(
Y3
,
lCY
,
lOY
);
/* ux = (CBU*(u<<CSHIFT)+0x4000)>>15 */
ux
=
vec_sl
(
U
,
lCSHIFT
);
ux
=
vec_mradds
(
ux
,
lCBU
,
(
vector
signed
short
){
0
});
ux0
=
vec_mergeh
(
ux
,
ux
);
ux1
=
vec_mergel
(
ux
,
ux
);
/* vx = (CRV*(v<<CSHIFT)+0x4000)>>15; */
vx
=
vec_sl
(
V
,
lCSHIFT
);
vx
=
vec_mradds
(
vx
,
lCRV
,
(
vector
signed
short
){
0
});
vx0
=
vec_mergeh
(
vx
,
vx
);
vx1
=
vec_mergel
(
vx
,
vx
);
/* uvx = ((CGU*u) + (CGV*v))>>15 */
uvx
=
vec_mradds
(
U
,
lCGU
,
(
vector
signed
short
){
0
});
uvx
=
vec_mradds
(
V
,
lCGV
,
uvx
);
uvx0
=
vec_mergeh
(
uvx
,
uvx
);
uvx1
=
vec_mergel
(
uvx
,
uvx
);
R0
=
vec_add
(
Y0
,
vx0
);
G0
=
vec_add
(
Y0
,
uvx0
);
B0
=
vec_add
(
Y0
,
ux0
);
R1
=
vec_add
(
Y1
,
vx1
);
G1
=
vec_add
(
Y1
,
uvx1
);
B1
=
vec_add
(
Y1
,
ux1
);
R
=
vec_packclp
(
R0
,
R1
);
G
=
vec_packclp
(
G0
,
G1
);
B
=
vec_packclp
(
B0
,
B1
);
out_argb
(
R
,
G
,
B
,
oute
);
R0
=
vec_add
(
Y2
,
vx0
);
G0
=
vec_add
(
Y2
,
uvx0
);
B0
=
vec_add
(
Y2
,
ux0
);
R1
=
vec_add
(
Y3
,
vx1
);
G1
=
vec_add
(
Y3
,
uvx1
);
B1
=
vec_add
(
Y3
,
ux1
);
R
=
vec_packclp
(
R0
,
R1
);
G
=
vec_packclp
(
G0
,
G1
);
B
=
vec_packclp
(
B0
,
B1
);
out_argb
(
R
,
G
,
B
,
outo
);
y1i
+=
16
;
y2i
+=
16
;
ui
+=
8
;
vi
+=
8
;
}
outo
+=
(
outstrides
[
0
])
>>
4
;
oute
+=
(
outstrides
[
0
])
>>
4
;
ui
+=
instrides_scl
[
1
];
vi
+=
instrides_scl
[
2
];
y1i
+=
instrides_scl
[
0
];
y2i
+=
instrides_scl
[
0
];
}
return
srcSliceH
;
}
#endif
DEFCSP420_CVT
(
yuv2_rgba
,
out_rgba
)
DEFCSP420_CVT
(
yuv2_rgba
,
out_rgba
)
DEFCSP420_CVT
(
yuv2_argb
,
out_argb
)
DEFCSP420_CVT
(
yuv2_argb
,
out_argb
)
DEFCSP420_CVT
(
yuv2_rgb24
,
out_rgb24
)
DEFCSP420_CVT
(
yuv2_rgb24
,
out_rgb24
)
...
...
libswscale/rgb2rgb_template.c
View file @
06b5facd
...
@@ -574,7 +574,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth,
...
@@ -574,7 +574,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth,
}
}
// last line
// last line
#if 1
dst
[
0
]
=
src
[
0
];
dst
[
0
]
=
src
[
0
];
for
(
x
=
0
;
x
<
srcWidth
-
1
;
x
++
)
{
for
(
x
=
0
;
x
<
srcWidth
-
1
;
x
++
)
{
...
@@ -582,12 +581,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth,
...
@@ -582,12 +581,6 @@ static inline void planar2x_c(const uint8_t *src, uint8_t *dst, int srcWidth,
dst
[
2
*
x
+
2
]
=
(
src
[
x
]
+
3
*
src
[
x
+
1
])
>>
2
;
dst
[
2
*
x
+
2
]
=
(
src
[
x
]
+
3
*
src
[
x
+
1
])
>>
2
;
}
}
dst
[
2
*
srcWidth
-
1
]
=
src
[
srcWidth
-
1
];
dst
[
2
*
srcWidth
-
1
]
=
src
[
srcWidth
-
1
];
#else
for
(
x
=
0
;
x
<
srcWidth
;
x
++
)
{
dst
[
2
*
x
+
0
]
=
dst
[
2
*
x
+
1
]
=
src
[
x
];
}
#endif
}
}
/**
/**
...
...
libswscale/yuv2rgb.c
View file @
06b5facd
...
@@ -366,28 +366,6 @@ YUV2RGBFUNC(yuv2rgb_c_16, uint16_t, 0)
...
@@ -366,28 +366,6 @@ YUV2RGBFUNC(yuv2rgb_c_16, uint16_t, 0)
PUTRGB
(
dst_1
,
py_1
,
3
);
PUTRGB
(
dst_1
,
py_1
,
3
);
CLOSEYUV2RGBFUNC
(
8
)
CLOSEYUV2RGBFUNC
(
8
)
#if 0 // Currently unused
// This is exactly the same code as yuv2rgb_c_32 except for the types of
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_8, uint8_t, 0)
LOADCHROMA(0);
PUTRGB(dst_1,py_1,0);
PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
PUTRGB(dst_2,py_2,1);
PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
PUTRGB(dst_1,py_1,2);
PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
PUTRGB(dst_2,py_2,3);
PUTRGB(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(8)
#endif
// r, g, b, dst_1, dst_2
// r, g, b, dst_1, dst_2
YUV2RGBFUNC
(
yuv2rgb_c_12_ordered_dither
,
uint16_t
,
0
)
YUV2RGBFUNC
(
yuv2rgb_c_12_ordered_dither
,
uint16_t
,
0
)
const
uint8_t
*
d16
=
dither_4x4_16
[
y
&
3
];
const
uint8_t
*
d16
=
dither_4x4_16
[
y
&
3
];
...
@@ -441,36 +419,6 @@ YUV2RGBFUNC(yuv2rgb_c_8_ordered_dither, uint8_t, 0)
...
@@ -441,36 +419,6 @@ YUV2RGBFUNC(yuv2rgb_c_8_ordered_dither, uint8_t, 0)
PUTRGB8
(
dst_1
,
py_1
,
3
,
6
);
PUTRGB8
(
dst_1
,
py_1
,
3
,
6
);
CLOSEYUV2RGBFUNC
(
8
)
CLOSEYUV2RGBFUNC
(
8
)
#if 0 // Currently unused
// This is exactly the same code as yuv2rgb_c_32 except for the types of
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_4, uint8_t, 0)
int acc;
#define PUTRGB4(dst,src,i) \
Y = src[2*i]; \
acc = r[Y] + g[Y] + b[Y]; \
Y = src[2*i+1]; \
acc |= (r[Y] + g[Y] + b[Y])<<4; \
dst[i] = acc;
LOADCHROMA(0);
PUTRGB4(dst_1,py_1,0);
PUTRGB4(dst_2,py_2,0);
LOADCHROMA(1);
PUTRGB4(dst_2,py_2,1);
PUTRGB4(dst_1,py_1,1);
LOADCHROMA(2);
PUTRGB4(dst_1,py_1,2);
PUTRGB4(dst_2,py_2,2);
LOADCHROMA(3);
PUTRGB4(dst_2,py_2,3);
PUTRGB4(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(4)
#endif
YUV2RGBFUNC
(
yuv2rgb_c_4_ordered_dither
,
uint8_t
,
0
)
YUV2RGBFUNC
(
yuv2rgb_c_4_ordered_dither
,
uint8_t
,
0
)
const
uint8_t
*
d64
=
dither_8x8_73
[
y
&
7
];
const
uint8_t
*
d64
=
dither_8x8_73
[
y
&
7
];
const
uint8_t
*
d128
=
dither_8x8_220
[
y
&
7
];
const
uint8_t
*
d128
=
dither_8x8_220
[
y
&
7
];
...
@@ -500,28 +448,6 @@ YUV2RGBFUNC(yuv2rgb_c_4_ordered_dither, uint8_t, 0)
...
@@ -500,28 +448,6 @@ YUV2RGBFUNC(yuv2rgb_c_4_ordered_dither, uint8_t, 0)
PUTRGB4D
(
dst_1
,
py_1
,
3
,
6
);
PUTRGB4D
(
dst_1
,
py_1
,
3
,
6
);
CLOSEYUV2RGBFUNC
(
4
)
CLOSEYUV2RGBFUNC
(
4
)
#if 0 // Currently unused
// This is exactly the same code as yuv2rgb_c_32 except for the types of
// r, g, b, dst_1, dst_2
YUV2RGBFUNC(yuv2rgb_c_4b, uint8_t, 0)
LOADCHROMA(0);
PUTRGB(dst_1,py_1,0);
PUTRGB(dst_2,py_2,0);
LOADCHROMA(1);
PUTRGB(dst_2,py_2,1);
PUTRGB(dst_1,py_1,1);
LOADCHROMA(2);
PUTRGB(dst_1,py_1,2);
PUTRGB(dst_2,py_2,2);
LOADCHROMA(3);
PUTRGB(dst_2,py_2,3);
PUTRGB(dst_1,py_1,3);
CLOSEYUV2RGBFUNC(8)
#endif
YUV2RGBFUNC
(
yuv2rgb_c_4b_ordered_dither
,
uint8_t
,
0
)
YUV2RGBFUNC
(
yuv2rgb_c_4b_ordered_dither
,
uint8_t
,
0
)
const
uint8_t
*
d64
=
dither_8x8_73
[
y
&
7
];
const
uint8_t
*
d64
=
dither_8x8_73
[
y
&
7
];
const
uint8_t
*
d128
=
dither_8x8_220
[
y
&
7
];
const
uint8_t
*
d128
=
dither_8x8_220
[
y
&
7
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment