Fix swscale compilation with Altivec enabled.
[ffmpeg.git] / libswscale / yuv2rgb_bfin.c
index e35d49e..2cc6962 100644 (file)
@@ -1,9 +1,8 @@
 /*
  * Copyright (C) 2007 Marc Hoffman <marc.hoffman@analog.com>
- *                    April 20, 2007
  *
- * Blackfin Video Color Space Converters Operations
- *  convert I420 YV12 to RGB in various formats,
+ * Blackfin video color space converter operations
+ * convert I420 YV12 to RGB in various formats
  *
  * This file is part of FFmpeg.
  *
 #include <inttypes.h>
 #include <assert.h>
 #include "config.h"
-#ifdef HAVE_MALLOC_H
-#include <malloc.h>
-#endif
 #include <unistd.h>
 #include "rgb2rgb.h"
 #include "swscale.h"
 #include "swscale_internal.h"
 
-
+#ifdef __FDPIC__
 #define L1CODE __attribute__ ((l1_text))
+#else
+#define L1CODE
+#endif
 
-extern void ff_bfin_yuv2rgb555_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
-                                     int w, uint32_t *coeffs) L1CODE;
+void ff_bfin_yuv2rgb555_line(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
+                             int w, uint32_t *coeffs) L1CODE;
 
-extern void ff_bfin_yuv2rgb565_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
-                                     int w, uint32_t *coeffs) L1CODE;
+void ff_bfin_yuv2rgb565_line(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
+                             int w, uint32_t *coeffs) L1CODE;
 
-extern void ff_bfin_yuv2rgb24_line (uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
-                                    int w, uint32_t *coeffs) L1CODE;
+void ff_bfin_yuv2rgb24_line(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
+                            int w, uint32_t *coeffs) L1CODE;
 
-typedef void (* ltransform_t)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
-                              int w, uint32_t *coeffs);
+typedef void (* ltransform)(uint8_t *Y, uint8_t *U, uint8_t *V, uint8_t *out,
+                            int w, uint32_t *coeffs);
 
 
-static void bfin_prepare_coefficients (SwsContext *c, int rgb, int masks)
+static void bfin_prepare_coefficients(SwsContext *c, int rgb, int masks)
 {
     int oy;
     oy      = c->yOffset&0xffff;
@@ -89,18 +88,18 @@ static void bfin_prepare_coefficients (SwsContext *c, int rgb, int masks)
     }
 }
 
-static int core_yuv420_rgb (SwsContext *c,
-                            uint8_t **in, int *instrides,
-                            int srcSliceY, int srcSliceH,
-                            uint8_t **oplanes, int *outstrides,
-                            ltransform_t lcscf, int rgb, int masks)
+static int core_yuv420_rgb(SwsContext *c,
+                           uint8_t **in, int *instrides,
+                           int srcSliceY, int srcSliceH,
+                           uint8_t **oplanes, int *outstrides,
+                           ltransform lcscf, int rgb, int masks)
 {
     uint8_t *py,*pu,*pv,*op;
     int w  = instrides[0];
     int h2 = srcSliceH>>1;
     int i;
 
-    bfin_prepare_coefficients (c, rgb, masks);
+    bfin_prepare_coefficients(c, rgb, masks);
 
     py = in[0];
     pu = in[1+(1^rgb)];
@@ -110,12 +109,12 @@ static int core_yuv420_rgb (SwsContext *c,
 
     for (i=0;i<h2;i++) {
 
-        lcscf (py, pu, pv, op, w, &c->oy);
+        lcscf(py, pu, pv, op, w, &c->oy);
 
         py += instrides[0];
         op += outstrides[0];
 
-        lcscf (py, pu, pv, op, w, &c->oy);
+        lcscf(py, pu, pv, op, w, &c->oy);
 
         py += instrides[0];
         pu += instrides[1];
@@ -127,62 +126,62 @@ static int core_yuv420_rgb (SwsContext *c,
 }
 
 
-static int bfin_yuv420_rgb555 (SwsContext *c,
-                               uint8_t **in, int *instrides,
-                               int srcSliceY, int srcSliceH,
-                               uint8_t **oplanes, int *outstrides)
-{
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb555_line, 1, 555);
-}
-
-static int bfin_yuv420_bgr555 (SwsContext *c,
-                               uint8_t **in, int *instrides,
-                               int srcSliceY, int srcSliceH,
-                               uint8_t **oplanes, int *outstrides)
-{
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb555_line, 0, 555);
-}
-
-static int bfin_yuv420_rgb24 (SwsContext *c,
+static int bfin_yuv420_rgb555(SwsContext *c,
                               uint8_t **in, int *instrides,
                               int srcSliceY, int srcSliceH,
                               uint8_t **oplanes, int *outstrides)
 {
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb24_line, 1, 888);
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb555_line, 1, 555);
 }
 
-static int bfin_yuv420_bgr24 (SwsContext *c,
+static int bfin_yuv420_bgr555(SwsContext *c,
                               uint8_t **in, int *instrides,
                               int srcSliceY, int srcSliceH,
                               uint8_t **oplanes, int *outstrides)
 {
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb24_line, 0, 888);
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb555_line, 0, 555);
 }
 
-static int bfin_yuv420_rgb565 (SwsContext *c,
-                               uint8_t **in, int *instrides,
-                               int srcSliceY, int srcSliceH,
-                               uint8_t **oplanes, int *outstrides)
+static int bfin_yuv420_rgb24(SwsContext *c,
+                             uint8_t **in, int *instrides,
+                             int srcSliceY, int srcSliceH,
+                             uint8_t **oplanes, int *outstrides)
 {
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb565_line, 1, 565);
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb24_line, 1, 888);
 }
 
-static int bfin_yuv420_bgr565 (SwsContext *c,
-                               uint8_t **in, int *instrides,
-                               int srcSliceY, int srcSliceH,
-                               uint8_t **oplanes, int *outstrides)
+static int bfin_yuv420_bgr24(SwsContext *c,
+                             uint8_t **in, int *instrides,
+                             int srcSliceY, int srcSliceH,
+                             uint8_t **oplanes, int *outstrides)
+{
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb24_line, 0, 888);
+}
+
+static int bfin_yuv420_rgb565(SwsContext *c,
+                              uint8_t **in, int *instrides,
+                              int srcSliceY, int srcSliceH,
+                              uint8_t **oplanes, int *outstrides)
+{
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb565_line, 1, 565);
+}
+
+static int bfin_yuv420_bgr565(SwsContext *c,
+                              uint8_t **in, int *instrides,
+                              int srcSliceY, int srcSliceH,
+                              uint8_t **oplanes, int *outstrides)
 {
-    return core_yuv420_rgb (c, in, instrides, srcSliceY, srcSliceH, oplanes, outstrides,
-                            ff_bfin_yuv2rgb565_line, 0, 565);
+    return core_yuv420_rgb(c, in, instrides, srcSliceY, srcSliceH, oplanes,
+                           outstrides, ff_bfin_yuv2rgb565_line, 0, 565);
 }
 
 
-SwsFunc ff_bfin_yuv2rgb_get_func_ptr (SwsContext *c)
+SwsFunc ff_yuv2rgb_get_func_ptr_bfin(SwsContext *c)
 {
     SwsFunc f;
 
@@ -197,7 +196,7 @@ SwsFunc ff_bfin_yuv2rgb_get_func_ptr (SwsContext *c)
         return 0;
     }
 
-    av_log(c, AV_LOG_INFO, "BlackFin Accelerated Color Space Converter %s\n",
+    av_log(c, AV_LOG_INFO, "BlackFin accelerated color space converter %s\n",
            sws_format_name (c->dstFormat));
 
     return f;