transform: give avfilter_transform() a return value for returning an error
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 31 Oct 2012 23:41:46 +0000 (00:41 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 4 Nov 2012 00:30:16 +0000 (01:30 +0100)
Fixes CID703674
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/transform.c
libavfilter/transform.h

index b3f85dd..1db8c08 100644 (file)
@@ -146,7 +146,7 @@ static inline int mirror(int v, int m)
     return v;
 }
 
-void avfilter_transform(const uint8_t *src, uint8_t *dst,
+int avfilter_transform(const uint8_t *src, uint8_t *dst,
                         int src_stride, int dst_stride,
                         int width, int height, const float *matrix,
                         enum InterpolateMethod interpolate,
@@ -167,6 +167,8 @@ void avfilter_transform(const uint8_t *src, uint8_t *dst,
         case INTERPOLATE_BIQUADRATIC:
             func = interpolate_biquadratic;
             break;
+        default:
+            return AVERROR(EINVAL);
     }
 
     for (y = 0; y < height; y++) {
@@ -195,5 +197,6 @@ void avfilter_transform(const uint8_t *src, uint8_t *dst,
             dst[y * dst_stride + x] = func(x_s, y_s, src, width, height, src_stride, def);
         }
     }
+    return 0;
 }
 
index edd0cf2..07436bf 100644 (file)
@@ -116,8 +116,9 @@ void avfilter_mul_matrix(const float *m1, float scalar, float *result);
  * @param matrix      9-item affine transformation matrix
  * @param interpolate pixel interpolation method
  * @param fill        edge fill method
+ * @return negative on error
  */
-void avfilter_transform(const uint8_t *src, uint8_t *dst,
+int avfilter_transform(const uint8_t *src, uint8_t *dst,
                         int src_stride, int dst_stride,
                         int width, int height, const float *matrix,
                         enum InterpolateMethod interpolate,