[FFmpeg-cvslog] avcodec/x86/hevcdsp_init: fix SSE4 checks
Michael Niedermayer
git at videolan.org
Tue May 6 18:32:29 CEST 2014
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue May 6 18:27:49 2014 +0200| [fc7d0d82017d67a1bbc0c1664144b756dc4ba6e3] | committer: Michael Niedermayer
avcodec/x86/hevcdsp_init: fix SSE4 checks
Found-by: James Almer <jamrial at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fc7d0d82017d67a1bbc0c1664144b756dc4ba6e3
---
libavcodec/x86/hevcdsp_init.c | 48 ++++++++++++++++-------------------------
1 file changed, 18 insertions(+), 30 deletions(-)
diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c
index c7e1868..fcdb05a 100644
--- a/libavcodec/x86/hevcdsp_init.c
+++ b/libavcodec/x86/hevcdsp_init.c
@@ -346,43 +346,31 @@ void ff_hevcdsp_init_x86(HEVCDSPContext *c, const int bit_depth)
int mm_flags = av_get_cpu_flags();
if (bit_depth == 8) {
- if (EXTERNAL_MMX(mm_flags)) {
+ if (EXTERNAL_SSE4(mm_flags) && ARCH_X86_64) {
- if (EXTERNAL_MMXEXT(mm_flags)) {
+ EPEL_LINKS(c->put_hevc_epel, 0, 0, pel_pixels, 8);
+ EPEL_LINKS(c->put_hevc_epel, 0, 1, epel_h, 8);
+ EPEL_LINKS(c->put_hevc_epel, 1, 0, epel_v, 8);
+ EPEL_LINKS(c->put_hevc_epel, 1, 1, epel_hv, 8);
- if (EXTERNAL_SSSE3(mm_flags) && ARCH_X86_64) {
+ QPEL_LINKS(c->put_hevc_qpel, 0, 0, pel_pixels, 8);
+ QPEL_LINKS(c->put_hevc_qpel, 0, 1, qpel_h, 8);
+ QPEL_LINKS(c->put_hevc_qpel, 1, 0, qpel_v, 8);
+ QPEL_LINKS(c->put_hevc_qpel, 1, 1, qpel_hv, 8);
- EPEL_LINKS(c->put_hevc_epel, 0, 0, pel_pixels, 8);
- EPEL_LINKS(c->put_hevc_epel, 0, 1, epel_h, 8);
- EPEL_LINKS(c->put_hevc_epel, 1, 0, epel_v, 8);
- EPEL_LINKS(c->put_hevc_epel, 1, 1, epel_hv, 8);
-
- QPEL_LINKS(c->put_hevc_qpel, 0, 0, pel_pixels, 8);
- QPEL_LINKS(c->put_hevc_qpel, 0, 1, qpel_h, 8);
- QPEL_LINKS(c->put_hevc_qpel, 1, 0, qpel_v, 8);
- QPEL_LINKS(c->put_hevc_qpel, 1, 1, qpel_hv, 8);
-
- }
- }
}
} else if (bit_depth == 10) {
- if (EXTERNAL_MMX(mm_flags)) {
- if (EXTERNAL_MMXEXT(mm_flags) && ARCH_X86_64) {
-
- if (EXTERNAL_SSSE3(mm_flags)) {
-
- EPEL_LINKS(c->put_hevc_epel, 0, 0, pel_pixels, 10);
- EPEL_LINKS(c->put_hevc_epel, 0, 1, epel_h, 10);
- EPEL_LINKS(c->put_hevc_epel, 1, 0, epel_v, 10);
- EPEL_LINKS(c->put_hevc_epel, 1, 1, epel_hv, 10);
+ if (EXTERNAL_SSE4(mm_flags) && ARCH_X86_64) {
- QPEL_LINKS(c->put_hevc_qpel, 0, 0, pel_pixels, 10);
- QPEL_LINKS(c->put_hevc_qpel, 0, 1, qpel_h, 10);
- QPEL_LINKS(c->put_hevc_qpel, 1, 0, qpel_v, 10);
- QPEL_LINKS(c->put_hevc_qpel, 1, 1, qpel_hv, 10);
- }
+ EPEL_LINKS(c->put_hevc_epel, 0, 0, pel_pixels, 10);
+ EPEL_LINKS(c->put_hevc_epel, 0, 1, epel_h, 10);
+ EPEL_LINKS(c->put_hevc_epel, 1, 0, epel_v, 10);
+ EPEL_LINKS(c->put_hevc_epel, 1, 1, epel_hv, 10);
- }
+ QPEL_LINKS(c->put_hevc_qpel, 0, 0, pel_pixels, 10);
+ QPEL_LINKS(c->put_hevc_qpel, 0, 1, qpel_h, 10);
+ QPEL_LINKS(c->put_hevc_qpel, 1, 0, qpel_v, 10);
+ QPEL_LINKS(c->put_hevc_qpel, 1, 1, qpel_hv, 10);
}
}
}
More information about the ffmpeg-cvslog
mailing list