git.videolan.org
/
ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix compilation with !HAVE_6REGS.
[ffmpeg.git]
/
libavcodec
/
x86
/
snowdsp.c
diff --git
a/libavcodec/x86/snowdsp.c
b/libavcodec/x86/snowdsp.c
index
631291a
..
67cb868
100644
(file)
--- a/
libavcodec/x86/snowdsp.c
+++ b/
libavcodec/x86/snowdsp.c
@@
-23,8
+23,8
@@
#include "libavutil/x86/asm.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/snow.h"
#include "libavutil/x86/asm.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/snow.h"
-#include "libavcodec/dwt.h"
-#include "dsputil_
mmx
.h"
+#include "libavcodec/
snow_
dwt.h"
+#include "dsputil_
x86
.h"
#if HAVE_INLINE_ASM
#if HAVE_INLINE_ASM
@@
-606,6
+606,7
@@
static void ff_snow_vertical_compose97i_mmx(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM
}
#endif //HAVE_7REGS
}
#endif //HAVE_7REGS
+#if HAVE_6REGS
#define snow_inner_add_yblock_sse2_header \
IDWTELEM * * dst_array = sb->line + src_y;\
x86_reg tmp;\
#define snow_inner_add_yblock_sse2_header \
IDWTELEM * * dst_array = sb->line + src_y;\
x86_reg tmp;\
@@
-671,6
+672,7
@@
static void ff_snow_vertical_compose97i_mmx(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM
:"+m"(dst8),"+m"(dst_array),"=&r"(tmp)\
:\
"rm"((x86_reg)(src_x<<1)),"m"(obmc),"a"(block),"m"(b_h),"m"(src_stride):\
:"+m"(dst8),"+m"(dst_array),"=&r"(tmp)\
:\
"rm"((x86_reg)(src_x<<1)),"m"(obmc),"a"(block),"m"(b_h),"m"(src_stride):\
+ XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", "%xmm4", "%xmm5", "%xmm6", "%xmm7", )\
"%"REG_c"","%"REG_S"","%"REG_D"","%"REG_d"");
#define snow_inner_add_yblock_sse2_end_8\
"%"REG_c"","%"REG_S"","%"REG_D"","%"REG_d"");
#define snow_inner_add_yblock_sse2_end_8\
@@
-872,10
+874,11
@@
static void ff_snow_inner_add_yblock_mmx(const uint8_t *obmc, const int obmc_str
else
ff_snow_inner_add_yblock(obmc, obmc_stride, block, b_w, b_h, src_x,src_y, src_stride, sb, add, dst8);
}
else
ff_snow_inner_add_yblock(obmc, obmc_stride, block, b_w, b_h, src_x,src_y, src_stride, sb, add, dst8);
}
+#endif /* HAVE_6REGS */
#endif /* HAVE_INLINE_ASM */
#endif /* HAVE_INLINE_ASM */
-void ff_dwt_init_x86(DWTContext *c)
+void ff_dwt_init_x86(
Snow
DWTContext *c)
{
#if HAVE_INLINE_ASM
int mm_flags = av_get_cpu_flags();
{
#if HAVE_INLINE_ASM
int mm_flags = av_get_cpu_flags();
@@
-886,7
+889,9
@@
void ff_dwt_init_x86(DWTContext *c)
#if HAVE_7REGS
c->vertical_compose97i = ff_snow_vertical_compose97i_sse2;
#endif
#if HAVE_7REGS
c->vertical_compose97i = ff_snow_vertical_compose97i_sse2;
#endif
+#if HAVE_6REGS
c->inner_add_yblock = ff_snow_inner_add_yblock_sse2;
c->inner_add_yblock = ff_snow_inner_add_yblock_sse2;
+#endif
}
else{
if (mm_flags & AV_CPU_FLAG_MMXEXT) {
}
else{
if (mm_flags & AV_CPU_FLAG_MMXEXT) {
@@
-895,7
+900,9
@@
void ff_dwt_init_x86(DWTContext *c)
c->vertical_compose97i = ff_snow_vertical_compose97i_mmx;
#endif
}
c->vertical_compose97i = ff_snow_vertical_compose97i_mmx;
#endif
}
+#if HAVE_6REGS
c->inner_add_yblock = ff_snow_inner_add_yblock_mmx;
c->inner_add_yblock = ff_snow_inner_add_yblock_mmx;
+#endif
}
}
#endif /* HAVE_INLINE_ASM */
}
}
#endif /* HAVE_INLINE_ASM */