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
ab441e20
Commit
ab441e20
authored
Jan 22, 2013
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avutil: Move emms code to x86-specific header
parent
130cefc9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
20 deletions
+26
-20
internal.h
libavutil/internal.h
+4
-20
emms.h
libavutil/x86/emms.h
+22
-0
No files found.
libavutil/internal.h
View file @
ab441e20
...
@@ -39,6 +39,10 @@
...
@@ -39,6 +39,10 @@
#include "timer.h"
#include "timer.h"
#include "dict.h"
#include "dict.h"
#if ARCH_X86
# include "x86/emms.h"
#endif
#ifndef attribute_align_arg
#ifndef attribute_align_arg
#if ARCH_X86_32 && AV_GCC_VERSION_AT_LEAST(4,2)
#if ARCH_X86_32 && AV_GCC_VERSION_AT_LEAST(4,2)
# define attribute_align_arg __attribute__((force_align_arg_pointer))
# define attribute_align_arg __attribute__((force_align_arg_pointer))
...
@@ -154,24 +158,4 @@
...
@@ -154,24 +158,4 @@
# define ONLY_IF_THREADS_ENABLED(x) NULL
# define ONLY_IF_THREADS_ENABLED(x) NULL
#endif
#endif
#if HAVE_MMX_INLINE
/**
* Empty mmx state.
* this must be called between any dsp function and float/double code.
* for example sin(); dsp->idct_put(); emms_c(); cos()
*/
static
av_always_inline
void
emms_c
(
void
)
{
__asm__
volatile
(
"emms"
:::
"memory"
);
}
#elif HAVE_MMX && HAVE_MM_EMPTY
# include <mmintrin.h>
# define emms_c _mm_empty
#elif HAVE_MMX && HAVE_YASM
# include "libavutil/x86/emms.h"
# define emms_c avpriv_emms_yasm
#else
# define emms_c()
#endif
/* HAVE_MMX_INLINE */
#endif
/* AVUTIL_INTERNAL_H */
#endif
/* AVUTIL_INTERNAL_H */
libavutil/x86/emms.h
View file @
ab441e20
...
@@ -19,6 +19,28 @@
...
@@ -19,6 +19,28 @@
#ifndef AVUTIL_X86_EMMS_H
#ifndef AVUTIL_X86_EMMS_H
#define AVUTIL_X86_EMMS_H
#define AVUTIL_X86_EMMS_H
#include "config.h"
#include "libavutil/attributes.h"
void
avpriv_emms_yasm
(
void
);
void
avpriv_emms_yasm
(
void
);
#if HAVE_MMX_INLINE
/**
* Empty mmx state.
* this must be called between any dsp function and float/double code.
* for example sin(); dsp->idct_put(); emms_c(); cos()
*/
static
av_always_inline
void
emms_c
(
void
)
{
__asm__
volatile
(
"emms"
:::
"memory"
);
}
#elif HAVE_MMX && HAVE_MM_EMPTY
# include <mmintrin.h>
# define emms_c _mm_empty
#elif HAVE_MMX && HAVE_YASM
# define emms_c avpriv_emms_yasm
#else
# define emms_c()
#endif
/* HAVE_MMX_INLINE */
#endif
/* AVUTIL_X86_EMMS_H */
#endif
/* AVUTIL_X86_EMMS_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