]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/transform.c
avfilter/vf_scale: store the offset in a local variable before adding it
[ffmpeg] / libavfilter / transform.c
index f92fc4d42fb87f66a0f970966b4989453d21ab36..1f91436f7356acaa5756935c2307ad58be87dd2f 100644 (file)
@@ -103,40 +103,26 @@ INTERPOLATE_METHOD(interpolate_biquadratic)
     }
 }
 
-void avfilter_get_matrix(float x_shift, float y_shift, float angle, float zoom, float *matrix) {
-    matrix[0] = zoom * cos(angle);
+void ff_get_matrix(
+    float x_shift,
+    float y_shift,
+    float angle,
+    float scale_x,
+    float scale_y,
+    float *matrix
+) {
+    matrix[0] = scale_x * cos(angle);
     matrix[1] = -sin(angle);
     matrix[2] = x_shift;
     matrix[3] = -matrix[1];
-    matrix[4] = matrix[0];
+    matrix[4] = scale_y * cos(angle);
     matrix[5] = y_shift;
     matrix[6] = 0;
     matrix[7] = 0;
     matrix[8] = 1;
 }
 
-void avfilter_add_matrix(const float *m1, const float *m2, float *result)
-{
-    int i;
-    for (i = 0; i < 9; i++)
-        result[i] = m1[i] + m2[i];
-}
-
-void avfilter_sub_matrix(const float *m1, const float *m2, float *result)
-{
-    int i;
-    for (i = 0; i < 9; i++)
-        result[i] = m1[i] - m2[i];
-}
-
-void avfilter_mul_matrix(const float *m1, float scalar, float *result)
-{
-    int i;
-    for (i = 0; i < 9; i++)
-        result[i] = m1[i] * scalar;
-}
-
-int avfilter_transform(const uint8_t *src, uint8_t *dst,
+int ff_affine_transform(const uint8_t *src, uint8_t *dst,
                         int src_stride, int dst_stride,
                         int width, int height, const float *matrix,
                         enum InterpolateMethod interpolate,