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
59d686f1
Commit
59d686f1
authored
Nov 14, 2012
by
Clément Bœsch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pp: add auto detection cpu flag.
parent
e034b07e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
6 deletions
+15
-6
postprocess.c
libpostproc/postprocess.c
+13
-5
postprocess.h
libpostproc/postprocess.h
+1
-0
version.h
libpostproc/version.h
+1
-1
No files found.
libpostproc/postprocess.c
View file @
59d686f1
...
...
@@ -586,11 +586,11 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[]
#if CONFIG_RUNTIME_CPUDETECT
#if ARCH_X86 && HAVE_INLINE_ASM
// ordered per speed fastest first
if
(
c
->
cpuCaps
&
PP_CPU_CAPS_MMX2
)
pp
=
postProcess_MMX2
;
else
if
(
c
->
cpuCaps
&
PP_CPU_CAPS
_3DNOW
)
pp
=
postProcess_3DNow
;
else
if
(
c
->
cpuCaps
&
PP_CPU_CAPS
_MMX
)
pp
=
postProcess_MMX
;
if
(
c
->
cpuCaps
&
AV_CPU_FLAG_MMXEXT
)
pp
=
postProcess_MMX2
;
else
if
(
c
->
cpuCaps
&
AV_CPU_FLAG
_3DNOW
)
pp
=
postProcess_3DNow
;
else
if
(
c
->
cpuCaps
&
AV_CPU_FLAG
_MMX
)
pp
=
postProcess_MMX
;
#elif HAVE_ALTIVEC
if
(
c
->
cpuCaps
&
PP_CPU_CAPS
_ALTIVEC
)
pp
=
postProcess_altivec
;
if
(
c
->
cpuCaps
&
AV_CPU_FLAG
_ALTIVEC
)
pp
=
postProcess_altivec
;
#endif
#else
/* CONFIG_RUNTIME_CPUDETECT */
#if HAVE_MMXEXT_INLINE
...
...
@@ -896,7 +896,6 @@ pp_context *pp_get_context(int width, int height, int cpuCaps){
memset
(
c
,
0
,
sizeof
(
PPContext
));
c
->
av_class
=
&
av_codec_context_class
;
c
->
cpuCaps
=
cpuCaps
;
if
(
cpuCaps
&
PP_FORMAT
){
c
->
hChromaSubSample
=
cpuCaps
&
0x3
;
c
->
vChromaSubSample
=
(
cpuCaps
>>
4
)
&
0x3
;
...
...
@@ -904,6 +903,15 @@ pp_context *pp_get_context(int width, int height, int cpuCaps){
c
->
hChromaSubSample
=
1
;
c
->
vChromaSubSample
=
1
;
}
if
(
cpuCaps
&
PP_CPU_CAPS_AUTO
)
{
c
->
cpuCaps
=
av_get_cpu_flags
();
}
else
{
c
->
cpuCaps
=
0
;
if
(
cpuCaps
&
PP_CPU_CAPS_MMX
)
c
->
cpuCaps
|=
AV_CPU_FLAG_MMX
;
if
(
cpuCaps
&
PP_CPU_CAPS_MMX2
)
c
->
cpuCaps
|=
AV_CPU_FLAG_MMXEXT
;
if
(
cpuCaps
&
PP_CPU_CAPS_3DNOW
)
c
->
cpuCaps
|=
AV_CPU_FLAG_3DNOW
;
if
(
cpuCaps
&
PP_CPU_CAPS_ALTIVEC
)
c
->
cpuCaps
|=
AV_CPU_FLAG_ALTIVEC
;
}
reallocBuffers
(
c
,
width
,
height
,
stride
,
qpStride
);
...
...
libpostproc/postprocess.h
View file @
59d686f1
...
...
@@ -84,6 +84,7 @@ void pp_free_context(pp_context *ppContext);
#define PP_CPU_CAPS_MMX2 0x20000000
#define PP_CPU_CAPS_3DNOW 0x40000000
#define PP_CPU_CAPS_ALTIVEC 0x10000000
#define PP_CPU_CAPS_AUTO 0x00080000
#define PP_FORMAT 0x00000008
#define PP_FORMAT_420 (0x00000011|PP_FORMAT)
...
...
libpostproc/version.h
View file @
59d686f1
...
...
@@ -30,7 +30,7 @@
#ifndef LIBPOSTPROC_VERSION_MAJOR
#define LIBPOSTPROC_VERSION_MAJOR 52
#define LIBPOSTPROC_VERSION_MINOR
1
#define LIBPOSTPROC_VERSION_MINOR
2
#define LIBPOSTPROC_VERSION_MICRO 100
#endif
...
...
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