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
67d80a54
Commit
67d80a54
authored
Jun 03, 2011
by
Ronald S. Bultje
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swscale: split out ppc _template.c files from main swscale.c.
parent
a3e9bb5d
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
56 additions
and
21 deletions
+56
-21
Makefile
libswscale/Makefile
+2
-1
swscale_altivec.c
libswscale/ppc/swscale_altivec.c
+15
-5
yuv2rgb_altivec.c
libswscale/ppc/yuv2rgb_altivec.c
+1
-0
yuv2rgb_altivec.h
libswscale/ppc/yuv2rgb_altivec.h
+34
-0
swscale.c
libswscale/swscale.c
+2
-10
swscale_internal.h
libswscale/swscale_internal.h
+2
-5
No files found.
libswscale/Makefile
View file @
67d80a54
...
...
@@ -11,7 +11,8 @@ OBJS-$(ARCH_BFIN) += bfin/internal_bfin.o \
bfin/swscale_bfin.o
\
bfin/yuv2rgb_bfin.o
OBJS-$(CONFIG_MLIB)
+=
mlib/yuv2rgb_mlib.o
OBJS-$(HAVE_ALTIVEC)
+=
ppc/yuv2rgb_altivec.o
\
OBJS-$(HAVE_ALTIVEC)
+=
ppc/swscale_altivec.o
\
ppc/yuv2rgb_altivec.o
\
ppc/yuv2yuv_altivec.o
OBJS-$(HAVE_MMX)
+=
x86/rgb2rgb.o
\
x86/yuv2rgb_mmx.o
...
...
libswscale/ppc/swscale_altivec
_template
.c
→
libswscale/ppc/swscale_altivec.c
View file @
67d80a54
...
...
@@ -21,6 +21,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <inttypes.h>
#include "config.h"
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"
#include "libavutil/cpu.h"
#include "yuv2rgb_altivec.h"
#define vzero vec_splat_s32(0)
static
inline
void
...
...
@@ -214,10 +221,10 @@ yuv2yuvX_altivec_real(SwsContext *c,
}
}
static
inline
void
hScale_altivec_real
(
int16_t
*
dst
,
int
dstW
,
const
uint8_t
*
src
,
int
srcW
,
int
xInc
,
const
int16_t
*
filter
,
const
int16_t
*
filterPos
,
int
filterSize
)
static
void
hScale_altivec_real
(
int16_t
*
dst
,
int
dstW
,
const
uint8_t
*
src
,
int
srcW
,
int
xInc
,
const
int16_t
*
filter
,
const
int16_t
*
filterPos
,
int
filterSize
)
{
register
int
i
;
DECLARE_ALIGNED
(
16
,
int
,
tempo
)[
4
];
...
...
@@ -394,8 +401,11 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW,
}
}
static
void
RENAME
(
sws_init_swScale
)
(
SwsContext
*
c
)
void
ff_sws_init_swScale_altivec
(
SwsContext
*
c
)
{
if
(
!
(
av_get_cpu_flags
()
&
AV_CPU_FLAG_ALTIVEC
))
return
;
c
->
yuv2yuvX
=
yuv2yuvX_altivec_real
;
/* The following list of supported dstFormat values should
...
...
libswscale/ppc/yuv2rgb_altivec.c
View file @
67d80a54
...
...
@@ -95,6 +95,7 @@ adjustment.
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"
#include "libavutil/cpu.h"
#include "yuv2rgb_altivec.h"
#undef PROFILE_THE_BEAST
#undef INC_SCALING
...
...
libswscale/ppc/yuv2rgb_altivec.h
0 → 100644
View file @
67d80a54
/*
* AltiVec-enhanced yuv2yuvX
*
* Copyright (C) 2004 Romain Dolbeau <romain@dolbeau.org>
* based on the equivalent C code in swscale.c
*
* This file is part of Libav.
*
* Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef PPC_YUV2RGB_ALTIVEC_H
#define PPC_YUV2RGB_ALTIVEC_H 1
void
ff_yuv2packedX_altivec
(
SwsContext
*
c
,
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
const
int16_t
*
chrFilter
,
const
int16_t
**
chrUSrc
,
const
int16_t
**
chrVSrc
,
int
chrFilterSize
,
const
int16_t
**
alpSrc
,
uint8_t
*
dest
,
int
dstW
,
int
dstY
);
#endif
/* PPC_YUV2RGB_ALTIVEC_H */
libswscale/swscale.c
View file @
67d80a54
...
...
@@ -1189,12 +1189,6 @@ static inline void monoblack2Y(uint8_t *dst, const uint8_t *src, int width, uint
#include "swscale_template.c"
#if HAVE_ALTIVEC
#undef RENAME
#define RENAME(a) a ## _altivec
#include "ppc/swscale_altivec_template.c"
#endif
//MMX versions
#if HAVE_MMX
#undef RENAME
...
...
@@ -1227,10 +1221,8 @@ SwsFunc ff_getSwsFunc(SwsContext *c)
if
(
cpu_flags
&
AV_CPU_FLAG_MMX2
)
sws_init_swScale_MMX2
(
c
);
#endif
#if HAVE_ALTIVEC
if
(
cpu_flags
&
AV_CPU_FLAG_ALTIVEC
)
sws_init_swScale_altivec
(
c
);
#endif
if
(
HAVE_ALTIVEC
)
ff_sws_init_swScale_altivec
(
c
);
return
swScale_c
;
}
...
...
libswscale/swscale_internal.h
View file @
67d80a54
...
...
@@ -335,11 +335,6 @@ SwsFunc ff_yuv2rgb_init_mlib(SwsContext *c);
SwsFunc
ff_yuv2rgb_init_altivec
(
SwsContext
*
c
);
SwsFunc
ff_yuv2rgb_get_func_ptr_bfin
(
SwsContext
*
c
);
void
ff_bfin_get_unscaled_swscale
(
SwsContext
*
c
);
void
ff_yuv2packedX_altivec
(
SwsContext
*
c
,
const
int16_t
*
lumFilter
,
const
int16_t
**
lumSrc
,
int
lumFilterSize
,
const
int16_t
*
chrFilter
,
const
int16_t
**
chrUSrc
,
const
int16_t
**
chrVSrc
,
int
chrFilterSize
,
uint8_t
*
dest
,
int
dstW
,
int
dstY
);
const
char
*
sws_format_name
(
enum
PixelFormat
format
);
...
...
@@ -487,4 +482,6 @@ void ff_swscale_get_unscaled_altivec(SwsContext *c);
*/
SwsFunc
ff_getSwsFunc
(
SwsContext
*
c
);
void
ff_sws_init_swScale_altivec
(
SwsContext
*
c
);
#endif
/* SWSCALE_SWSCALE_INTERNAL_H */
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