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
0b8b2ae5
Commit
0b8b2ae5
authored
Sep 16, 2013
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86: xviddct: Employ more specific ifdefs
This avoids building mmxext and sse2 code when disabled by configure.
parent
4272bb6e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
16 deletions
+28
-16
dct-test.c
libavcodec/dct-test.c
+8
-0
idct_mmx_xvid.c
libavcodec/x86/idct_mmx_xvid.c
+18
-14
idct_sse2_xvid.c
libavcodec/x86/idct_sse2_xvid.c
+2
-2
No files found.
libavcodec/dct-test.c
View file @
0b8b2ae5
...
...
@@ -84,7 +84,11 @@ static const struct algo fdct_tab[] = {
#if HAVE_MMX_INLINE
{
"MMX"
,
ff_fdct_mmx
,
NO_PERM
,
AV_CPU_FLAG_MMX
},
#endif
#if HAVE_MMXEXT_INLINE
{
"MMXEXT"
,
ff_fdct_mmxext
,
NO_PERM
,
AV_CPU_FLAG_MMXEXT
},
#endif
#if HAVE_SSE2_INLINE
{
"SSE2"
,
ff_fdct_sse2
,
NO_PERM
,
AV_CPU_FLAG_SSE2
},
#endif
...
...
@@ -108,7 +112,11 @@ static const struct algo idct_tab[] = {
#if HAVE_MMX_INLINE
{
"SIMPLE-MMX"
,
ff_simple_idct_mmx
,
MMX_SIMPLE_PERM
,
AV_CPU_FLAG_MMX
},
{
"XVID-MMX"
,
ff_idct_xvid_mmx
,
NO_PERM
,
AV_CPU_FLAG_MMX
,
1
},
#endif
#if HAVE_MMXEXT_INLINE
{
"XVID-MMXEXT"
,
ff_idct_xvid_mmxext
,
NO_PERM
,
AV_CPU_FLAG_MMXEXT
,
1
},
#endif
#if HAVE_SSE2_INLINE
{
"XVID-SSE2"
,
ff_idct_xvid_sse2
,
SSE2_PERM
,
AV_CPU_FLAG_SSE2
,
1
},
#endif
...
...
libavcodec/x86/idct_mmx_xvid.c
View file @
0b8b2ae5
...
...
@@ -47,7 +47,7 @@
#include "dsputil_x86.h"
#include "idct_xvid.h"
#if HAVE_
INLINE_ASM
#if HAVE_
MMX_INLINE
//=============================================================================
// Macros and other preprocessor constants
...
...
@@ -507,6 +507,22 @@ __asm__ volatile(
::
"r"
(
block
),
"r"
(
rounder_0
),
"r"
(
tab_i_04_mmx
),
"r"
(
tg_1_16
));
}
void
ff_idct_xvid_mmx_put
(
uint8_t
*
dest
,
int
line_size
,
int16_t
*
block
)
{
ff_idct_xvid_mmx
(
block
);
ff_put_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
void
ff_idct_xvid_mmx_add
(
uint8_t
*
dest
,
int
line_size
,
int16_t
*
block
)
{
ff_idct_xvid_mmx
(
block
);
ff_add_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
#endif
/* HAVE_MMX_INLINE */
#if HAVE_MMXEXT_INLINE
//-----------------------------------------------------------------------------
// void idct_xmm(uint16_t block[64]);
//-----------------------------------------------------------------------------
...
...
@@ -531,18 +547,6 @@ __asm__ volatile(
::
"r"
(
block
),
"r"
(
rounder_0
),
"r"
(
tab_i_04_xmm
),
"r"
(
tg_1_16
));
}
void
ff_idct_xvid_mmx_put
(
uint8_t
*
dest
,
int
line_size
,
int16_t
*
block
)
{
ff_idct_xvid_mmx
(
block
);
ff_put_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
void
ff_idct_xvid_mmx_add
(
uint8_t
*
dest
,
int
line_size
,
int16_t
*
block
)
{
ff_idct_xvid_mmx
(
block
);
ff_add_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
void
ff_idct_xvid_mmxext_put
(
uint8_t
*
dest
,
int
line_size
,
int16_t
*
block
)
{
ff_idct_xvid_mmxext
(
block
);
...
...
@@ -555,4 +559,4 @@ void ff_idct_xvid_mmxext_add(uint8_t *dest, int line_size, int16_t *block)
ff_add_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
#endif
/* HAVE_
INLINE_ASM
*/
#endif
/* HAVE_
MMXEXT_INLINE
*/
libavcodec/x86/idct_sse2_xvid.c
View file @
0b8b2ae5
...
...
@@ -44,7 +44,7 @@
#include "idct_xvid.h"
#include "dsputil_x86.h"
#if HAVE_
INLINE_ASM
#if HAVE_
SSE2_INLINE
/**
* @file
...
...
@@ -405,4 +405,4 @@ void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block)
ff_add_pixels_clamped_mmx
(
block
,
dest
,
line_size
);
}
#endif
/* HAVE_
INLINE_ASM
*/
#endif
/* HAVE_
SSE2_INLINE
*/
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