Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
6f7ffd31
Commit
6f7ffd31
authored
Aug 04, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Check for SSE3 at build-time if possible
parent
edfb6e4a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
15 additions
and
16 deletions
+15
-16
include/vlc_cpu.h
include/vlc_cpu.h
+7
-1
modules/codec/avcodec/avcodec.c
modules/codec/avcodec/avcodec.c
+1
-1
modules/codec/avcodec/encoder.c
modules/codec/avcodec/encoder.c
+1
-1
modules/stream_out/switcher.c
modules/stream_out/switcher.c
+2
-2
src/misc/cpu.c
src/misc/cpu.c
+3
-5
src/posix/linux_cpu.c
src/posix/linux_cpu.c
+1
-6
No files found.
include/vlc_cpu.h
View file @
6f7ffd31
...
...
@@ -35,7 +35,7 @@ VLC_API unsigned vlc_CPU(void);
# define VLC_CPU_MMXEXT 32
# define VLC_CPU_SSE 64
# define VLC_CPU_SSE2 128
# define
CPU_CAPABILITY_SSE3 (1<<8)
# define
VLC_CPU_SSE3 256
# define CPU_CAPABILITY_SSSE3 (1<<9)
# define CPU_CAPABILITY_SSE4_1 (1<<10)
# define CPU_CAPABILITY_SSE4_2 (1<<11)
...
...
@@ -73,6 +73,12 @@ VLC_API unsigned vlc_CPU(void);
# define vlc_CPU_SSE2() ((vlc_CPU() & VLC_CPU_SSE2) != 0)
# endif
# ifdef __SSE3__
# define vlc_CPU_SSE3() (1)
# else
# define vlc_CPU_SSE3() ((vlc_CPU() & VLC_CPU_SSE3) != 0)
# endif
# elif defined (__ppc__) || defined (__ppc64__) || defined (__powerpc__)
# define HAVE_FPU 1
# define VLC_CPU_ALTIVEC 2
...
...
modules/codec/avcodec/avcodec.c
View file @
6f7ffd31
...
...
@@ -343,7 +343,7 @@ static int OpenDecoder( vlc_object_t *p_this )
if
(
!
vlc_CPU_SSE2
()
)
p_context
->
dsp_mask
|=
AV_CPU_FLAG_SSE2
;
# ifdef AV_CPU_FLAG_SSE3
if
(
!
(
i_cpu
&
CPU_CAPABILITY_SSE3
)
)
if
(
!
vlc_CPU_SSE3
(
)
)
p_context
->
dsp_mask
|=
AV_CPU_FLAG_SSE3
;
# endif
# ifdef AV_CPU_FLAG_SSSE3
...
...
modules/codec/avcodec/encoder.c
View file @
6f7ffd31
...
...
@@ -337,7 +337,7 @@ int OpenEncoder( vlc_object_t *p_this )
if
(
!
vlc_CPU_SSE2
()
)
p_context
->
dsp_mask
|=
AV_CPU_FLAG_SSE2
;
# ifdef AV_CPU_FLAG_SSE3
if
(
!
(
i_cpu
&
CPU_CAPABILITY_SSE3
)
)
if
(
!
vlc_CPU_SSE3
(
)
)
p_context
->
dsp_mask
|=
AV_CPU_FLAG_SSE3
;
# endif
# ifdef AV_CPU_FLAG_SSSE3
...
...
modules/stream_out/switcher.c
View file @
6f7ffd31
...
...
@@ -392,7 +392,7 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
if
(
!
vlc_cpu_SSE2
()
)
id
->
ff_enc_c
->
dsp_mask
|=
AV_CPU_FLAG_SSE2
;
# ifdef AV_CPU_FLAG_SSE3
if
(
!
(
i_cpu
&
CPU_CAPABILITY_SSE3
)
)
if
(
!
vlc_CPU_SSE3
(
)
)
id
->
ff_enc_c
->
dsp_mask
|=
AV_CPU_FLAG_SSE3
;
# endif
# ifdef AV_CPU_FLAG_SSSE3
...
...
@@ -813,7 +813,7 @@ static mtime_t VideoCommand( sout_stream_t *p_stream, sout_stream_id_t *id )
if
(
!
vlc_CPU_SSE2
()
)
id
->
ff_enc_c
->
dsp_mask
|=
AV_CPU_FLAG_SSE2
;
# ifdef AV_CPU_FLAG_SSE3
if
(
!
(
i_cpu
&
CPU_CAPABILITY_SSE3
)
)
if
(
!
vlc_CPU_SSE3
(
)
)
id
->
ff_enc_c
->
dsp_mask
|=
AV_CPU_FLAG_SSE3
;
# endif
# ifdef AV_CPU_FLAG_SSSE3
...
...
src/misc/cpu.c
View file @
6f7ffd31
...
...
@@ -237,11 +237,9 @@ void vlc_CPU_init (void)
i_capabilities
|=
VLC_CPU_SSE2
;
# endif
# if defined (__SSE3__)
i_capabilities
|=
CPU_CAPABILITY_SSE3
;
# elif defined (CAN_COMPILE_SSE3)
# if defined (CAN_COMPILE_SSE3)
if
((
i_ecx
&
0x00000001
)
&&
vlc_CPU_check
(
"SSE3"
,
SSE3_test
))
i_capabilities
|=
CPU_CAPABILITY
_SSE3
;
i_capabilities
|=
VLC_CPU
_SSE3
;
# endif
# if defined (__SSSE3__)
...
...
@@ -347,7 +345,7 @@ void vlc_CPU_dump (vlc_object_t *obj)
if
(
vlc_CPU_MMXEXT
())
p
+=
sprintf
(
p
,
"MMXEXT "
);
if
(
vlc_CPU_SSE
())
p
+=
sprintf
(
p
,
"SSE "
);;
if
(
vlc_CPU_SSE2
())
p
+=
sprintf
(
p
,
"SSE2 "
);;
PRINT_CAPABILITY
(
CPU_CAPABILITY_SSE3
,
"SSE3"
)
;
if
(
vlc_CPU_SSE3
())
p
+=
sprintf
(
p
,
"SSE2 "
);
;
PRINT_CAPABILITY
(
CPU_CAPABILITY_SSSE3
,
"SSSE3"
);
PRINT_CAPABILITY
(
CPU_CAPABILITY_SSE4_1
,
"SSE4.1"
);
PRINT_CAPABILITY
(
CPU_CAPABILITY_SSE4_2
,
"SSE4.2"
);
...
...
src/posix/linux_cpu.c
View file @
6f7ffd31
...
...
@@ -75,10 +75,8 @@ static void vlc_CPU_init (void)
core_caps
|=
VLC_CPU_MMXEXT
;
if
(
!
strcmp
(
cap
,
"sse2"
))
core_caps
|=
VLC_CPU_SSE2
;
# ifndef __SSE3__
if
(
!
strcmp
(
cap
,
"pni"
))
core_caps
|=
CPU_CAPABILITY_SSE3
;
# endif
core_caps
|=
VLC_CPU_SSE3
;
# ifndef __SSSE3__
if
(
!
strcmp
(
cap
,
"ssse3"
))
core_caps
|=
CPU_CAPABILITY_SSSE3
;
...
...
@@ -115,9 +113,6 @@ static void vlc_CPU_init (void)
/* Always enable capabilities that were forced during compilation */
#if defined (__i386__) || defined (__x86_64__)
# ifdef __SSE3__
all_caps
|=
CPU_CAPABILITY_SSE3
;
# endif
# ifdef __SSSE3__
all_caps
|=
CPU_CAPABILITY_SSSE3
;
# 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