[vlc-devel] [PATCH 10/19] deinterlace: purge 3dNow
Lyndon Brown
jnqnfe at gmail.com
Thu Sep 24 21:39:09 CEST 2020
>From 93413ffc4675f36506b6acf9555433d195ac528c Mon Sep 17 00:00:00 2001
From: Lyndon Brown <jnqnfe at gmail.com>
Date: Fri, 25 Jan 2019 23:54:17 +0000
Subject: deinterlace: purge 3dNow
diff --git a/modules/video_filter/deinterlace/deinterlace.c b/modules/video_filter/deinterlace/deinterlace.c
index 0f59fa16f7..b124e2811b 100644
--- a/modules/video_filter/deinterlace/deinterlace.c
+++ b/modules/video_filter/deinterlace/deinterlace.c
@@ -548,14 +548,6 @@ notsupp:
}
else
#endif
-#if defined(CAN_COMPILE_3DNOW)
- if( pixel_size == 1 && vlc_CPU_3dNOW() )
- {
- p_sys->pf_merge = Merge3DNow;
- p_sys->pf_end_merge = End3DNow;
- }
- else
-#endif
#if defined(CAN_COMPILE_ARM)
if( vlc_CPU_ARM_NEON() )
p_sys->pf_merge = pixel_size == 1 ? merge8_arm_neon : merge16_arm_neon;
diff --git a/modules/video_filter/deinterlace/merge.c b/modules/video_filter/deinterlace/merge.c
index ec6bbe7254..15c9ab0aea 100644
--- a/modules/video_filter/deinterlace/merge.c
+++ b/modules/video_filter/deinterlace/merge.c
@@ -63,32 +63,6 @@ void Merge16BitGeneric( void *_p_dest, const void *_p_s1,
*p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1;
}
-#if defined(CAN_COMPILE_3DNOW)
-VLC_MMX
-void Merge3DNow( void *_p_dest, const void *_p_s1, const void *_p_s2,
- size_t i_bytes )
-{
- uint8_t *p_dest = _p_dest;
- const uint8_t *p_s1 = _p_s1;
- const uint8_t *p_s2 = _p_s2;
-
- for( ; i_bytes >= 8; i_bytes -= 8 )
- {
- __asm__ __volatile__( "movq %2,%%mm1;"
- "pavgusb %1, %%mm1;"
- "movq %%mm1, %0" :"=m" (*p_dest):
- "m" (*p_s1),
- "m" (*p_s2) : "mm1" );
- p_dest += 8;
- p_s1 += 8;
- p_s2 += 8;
- }
-
- for( ; i_bytes > 0; i_bytes-- )
- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1;
-}
-#endif
-
#if defined(CAN_COMPILE_SSE)
VLC_SSE
void Merge8BitSSE2( void *_p_dest, const void *_p_s1, const void *_p_s2,
@@ -225,10 +199,3 @@ void EndMMX( void )
__asm__ __volatile__( "emms" :: );
}
#endif
-
-#if defined(CAN_COMPILE_3DNOW)
-void End3DNow( void )
-{
- __asm__ __volatile__( "femms" :: );
-}
-#endif
diff --git a/modules/video_filter/deinterlace/merge.h b/modules/video_filter/deinterlace/merge.h
index 6143d397cb..1508686d1b 100644
--- a/modules/video_filter/deinterlace/merge.h
+++ b/modules/video_filter/deinterlace/merge.h
@@ -112,18 +112,6 @@ void Merge16BitGeneric( void *_p_dest, const void *_p_s1, const void *_p_s2,
void MergeAltivec ( void *, const void *, const void *, size_t );
#endif
-#if defined(CAN_COMPILE_3DNOW)
-/**
- * 3DNow routine to blend pixels from two picture lines.
- *
- * @param _p_dest Target
- * @param _p_s1 Source line A
- * @param _p_s2 Source line B
- * @param i_bytes Number of bytes to merge
- */
-void Merge3DNow ( void *, const void *, const void *, size_t );
-#endif
-
#if defined(CAN_COMPILE_SSE)
/**
* SSE2 routine to blend pixels from two picture lines.
@@ -188,17 +176,4 @@ void merge16_arm_sve(void *, const void *, const void *, size_t);
void EndMMX ( void );
#endif
-#if defined(CAN_COMPILE_3DNOW)
-/**
- * 3DNow merge finalization routine.
- *
- * Must be called after a 3DNow merge is finished.
- * This exits 3DNow mode (by executing the "femms" instruction).
- *
- * The EndMerge() macro detects whether this is needed, and calls if it is,
- * so just use that.
- */
-void End3DNow ( void );
-#endif
-
#endif
More information about the vlc-devel
mailing list