]> git.sesse.net Git - vlc/blobdiff - modules/video_chroma/i420_rgb16.c
* modules/video_chroma/*: use .p2align instead of .align for data alignment,
[vlc] / modules / video_chroma / i420_rgb16.c
index e2221941e7c22e1208049f6f9d6d3e9cdd1c9c70..fd830b364a7b06c7cb373e5a369fac31475806b6 100644 (file)
@@ -18,7 +18,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /*****************************************************************************
@@ -40,7 +40,8 @@
 #   include "i420_rgb_mmx.h"
 #endif
 
-static void SetOffset( int, int, int, int, vlc_bool_t *, int *, int * );
+static void SetOffset( int, int, int, int, vlc_bool_t *,
+                       unsigned int *, int * );
 
 #if defined (MODULE_NAME_IS_i420_rgb)
 /*****************************************************************************
@@ -63,7 +64,7 @@ void E_(I420_RGB16_dithering)( vout_thread_t *p_vout, picture_t *p_src,
     uint8_t  *p_v   = p_src->V_PIXELS;
 
     vlc_bool_t   b_hscale;                        /* horizontal scaling type */
-    int          i_vscale;                          /* vertical scaling type */
+    unsigned int i_vscale;                          /* vertical scaling type */
     unsigned int i_x, i_y;                /* horizontal and vertical indexes */
     unsigned int i_real_y;                                          /* y % 4 */
 
@@ -283,6 +284,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
             {
 #   if defined (HAVE_MMX_INTRINSICS)
                 __m64 mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7;
+                uint64_t tmp64;
                 INTRINSICS_INIT_16
                 INTRINSICS_YUV_MUL
                 INTRINSICS_YUV_ADD
@@ -291,7 +293,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
                 __asm__( MMX_INIT_16
                          : : "r" (p_y), "r" (p_u), "r" (p_v), "r" (p_buffer) );
 
-                __asm__( ".align 8"
+                __asm__( ".p2align 3"
                          MMX_YUV_MUL
                          MMX_YUV_ADD
                          MMX_UNPACK_15
@@ -311,6 +313,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
             {
 #   if defined (HAVE_MMX_INTRINSICS)
                 __m64 mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7;
+                uint64_t tmp64;
                 INTRINSICS_INIT_16
                 INTRINSICS_YUV_MUL
                 INTRINSICS_YUV_ADD
@@ -319,7 +322,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
                 __asm__( MMX_INIT_16
                          : : "r" (p_y), "r" (p_u), "r" (p_v), "r" (p_buffer) );
 
-                __asm__( ".align 8"
+                __asm__( ".p2align 3"
                          MMX_YUV_MUL
                          MMX_YUV_ADD
                          MMX_UNPACK_16
@@ -341,6 +344,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
 #if defined (MODULE_NAME_IS_i420_rgb_mmx)
 #   if defined (HAVE_MMX_INTRINSICS)
             __m64 mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7;
+            uint64_t tmp64;
 #   endif
 #endif
             p_y -= i_rewind;
@@ -369,7 +373,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
                 INTRINSICS_YUV_ADD
                 INTRINSICS_UNPACK_15
 #   else
-                __asm__( ".align 8"
+                __asm__( ".p2align 3"
                          MMX_YUV_MUL
                          MMX_YUV_ADD
                          MMX_UNPACK_15
@@ -384,7 +388,7 @@ void E_(I420_RGB16)( vout_thread_t *p_vout, picture_t *p_src,
                 INTRINSICS_UNPACK_16
 #   else
                 /* 16bpp 5/6/5 */
-                __asm__( ".align 8"
+                __asm__( ".p2align 3"
                          MMX_YUV_MUL
                          MMX_YUV_ADD
                          MMX_UNPACK_16
@@ -496,6 +500,7 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
 #elif defined (MODULE_NAME_IS_i420_rgb_mmx)
 #   if defined (HAVE_MMX_INTRINSICS)
             __m64 mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7;
+            uint64_t tmp64;
             INTRINSICS_INIT_32
             INTRINSICS_YUV_MUL
             INTRINSICS_YUV_ADD
@@ -504,7 +509,7 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
             __asm__( MMX_INIT_32
                      : : "r" (p_y), "r" (p_u), "r" (p_v), "r" (p_buffer) );
 
-            __asm__( ".align 8"
+            __asm__( ".p2align 3"
                      MMX_YUV_MUL
                      MMX_YUV_ADD
                      MMX_UNPACK_32
@@ -525,6 +530,7 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
 #if defined (MODULE_NAME_IS_i420_rgb_mmx)
 #   if defined (HAVE_MMX_INTRINSICS)
             __m64 mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7;
+            uint64_t tmp64;
 #   endif
 #endif
             p_y -= i_rewind;
@@ -546,7 +552,7 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
             __asm__( MMX_INIT_32
                      : : "r" (p_y), "r" (p_u), "r" (p_v), "r" (p_buffer) );
 
-            __asm__( ".align 8"
+            __asm__( ".p2align 3"
                      MMX_YUV_MUL
                      MMX_YUV_ADD
                      MMX_UNPACK_32
@@ -581,7 +587,7 @@ void E_(I420_RGB32)( vout_thread_t *p_vout, picture_t *p_src,
  *****************************************************************************/
 static void SetOffset( int i_width, int i_height, int i_pic_width,
                        int i_pic_height, vlc_bool_t *pb_hscale,
-                       int *pi_vscale, int *p_offset )
+                       unsigned int *pi_vscale, int *p_offset )
 {
     int i_x;                                    /* x position in destination */
     int i_scale_count;                                     /* modulo counter */