avcodec/videotoolbox: improve logging of decoder errors
[ffmpeg.git] / libavcodec / wmv2dsp.c
index 70a22c6..543f01b 100644 (file)
@@ -48,8 +48,8 @@ static void wmv2_idct_row(short * b)
     a4 = W0 * b[0] - W0 * b[4];
 
     /* step 2 */
-    s1 = (181 * (a1 - a5 + a7 - a3) + 128) >> 8; // 1, 3, 5, 7
-    s2 = (181 * (a1 - a5 - a7 + a3) + 128) >> 8;
+    s1 = (int)(181U * (a1 - a5 + a7 - a3) + 128) >> 8; // 1, 3, 5, 7
+    s2 = (int)(181U * (a1 - a5 - a7 + a3) + 128) >> 8;
 
     /* step 3 */
     b[0] = (a0 + a2 + a1 + a5 + (1 << 7)) >> 8;
@@ -78,8 +78,8 @@ static void wmv2_idct_col(short * b)
     a4 = (W0 * b[8 * 0] - W0 * b[8 * 4]    ) >> 3;
 
     /* step 2 */
-    s1 = (181 * (a1 - a5 + a7 - a3) + 128) >> 8;
-    s2 = (181 * (a1 - a5 - a7 + a3) + 128) >> 8;
+    s1 = (int)(181U * (a1 - a5 + a7 - a3) + 128) >> 8;
+    s2 = (int)(181U * (a1 - a5 - a7 + a3) + 128) >> 8;
 
     /* step 3 */
     b[8 * 0] = (a0 + a2 + a1 + a5 + (1 << 13)) >> 14;
@@ -93,7 +93,7 @@ static void wmv2_idct_col(short * b)
     b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14;
 }
 
-static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block)
+static void wmv2_idct_add_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 {
     int i;
 
@@ -116,7 +116,7 @@ static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block)
     }
 }
 
-static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)
+static void wmv2_idct_put_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 {
     int i;
 
@@ -139,7 +139,7 @@ static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)
     }
 }
 
-static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src,
+static void wmv2_mspel8_h_lowpass(uint8_t *dst, const uint8_t *src,
                                   int dstStride, int srcStride, int h)
 {
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
@@ -159,7 +159,7 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src,
     }
 }
 
-static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src,
+static void wmv2_mspel8_v_lowpass(uint8_t *dst, const uint8_t *src,
                                   int dstStride, int srcStride, int w)
 {
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
@@ -190,7 +190,7 @@ static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src,
     }
 }
 
-static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     uint8_t half[64];
 
@@ -198,12 +198,12 @@ static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
     ff_put_pixels8_l2_8(dst, src, half, stride, stride, 8, 8);
 }
 
-static void put_mspel8_mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     wmv2_mspel8_h_lowpass(dst, src, stride, stride, 8);
 }
 
-static void put_mspel8_mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     uint8_t half[64];
 
@@ -211,12 +211,12 @@ static void put_mspel8_mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
     ff_put_pixels8_l2_8(dst, src + 1, half, stride, stride, 8, 8);
 }
 
-static void put_mspel8_mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     wmv2_mspel8_v_lowpass(dst, src, stride, stride, 8);
 }
 
-static void put_mspel8_mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     uint8_t halfH[88];
     uint8_t halfV[64];
@@ -228,7 +228,7 @@ static void put_mspel8_mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
     ff_put_pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);
 }
 
-static void put_mspel8_mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     uint8_t halfH[88];
     uint8_t halfV[64];
@@ -240,7 +240,7 @@ static void put_mspel8_mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
     ff_put_pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);
 }
 
-static void put_mspel8_mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
+static void put_mspel8_mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
 {
     uint8_t halfH[88];
 
@@ -262,4 +262,7 @@ av_cold void ff_wmv2dsp_init(WMV2DSPContext *c)
     c->put_mspel_pixels_tab[5] = put_mspel8_mc12_c;
     c->put_mspel_pixels_tab[6] = put_mspel8_mc22_c;
     c->put_mspel_pixels_tab[7] = put_mspel8_mc32_c;
+
+    if (ARCH_MIPS)
+        ff_wmv2dsp_init_mips(c);
 }