James Almer: > On 2/24/2021 11:22 AM, Andreas Rheinhardt wrote: >> avfilter_transform, avfilter_(add|sub|mult)_matrix are not part of the >> public API (transform.h is not a public header), yet they are currently >> exported because of their name. This commit changes this: >> avfilter_transform is renamed to ff_affine_transform; the other >> functions are just removed as they have never been used at all. > > The symbols are exported and have been in four releases so far for this > soname. If we plan on making a 4.4 release before the bump, it may be a > good idea if we keep the symbols around for the sake of not affecting > the ABI, so I'm inclined towards just wrapping them in a > LIBAVFILTER_VERSION_MAJOR < 8 check like we do when we remove avpriv ones. >
And why? There was never a legitimate outside user of these functions. And removing avfilter_all_channel_layouts in d5e5c6862bbc834d5a036a3fa053a7569d84f928 (which also didn't have a legitimate outside user) didn't seem to break anything either. Btw: 88d80cb97528d52dac3178cf5393d6095eca6200 broke ABI for x64, because older versions of libavformat exchange a PutBitContext with libavcodec via avpriv_align_put_bits and avpriv_copy_bits. So we can't really make a 4.4 release. - Andreas >> >> Found-by: Anton Khirnov <an...@khirnov.net> >> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> >> --- >> libavfilter/transform.c | 23 +---------------------- >> libavfilter/transform.h | 29 +---------------------------- >> libavfilter/vf_deshake.c | 5 +++-- >> 3 files changed, 5 insertions(+), 52 deletions(-) >> >> diff --git a/libavfilter/transform.c b/libavfilter/transform.c >> index f4f9e0a47d..1f91436f73 100644 >> --- a/libavfilter/transform.c >> +++ b/libavfilter/transform.c >> @@ -122,28 +122,7 @@ void ff_get_matrix( >> 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, >> diff --git a/libavfilter/transform.h b/libavfilter/transform.h >> index 9b0c19ceca..0344f9c228 100644 >> --- a/libavfilter/transform.h >> +++ b/libavfilter/transform.h >> @@ -83,33 +83,6 @@ void ff_get_matrix( >> float *matrix >> ); >> -/** >> - * Add two matrices together. result = m1 + m2. >> - * >> - * @param m1 9-item transformation matrix >> - * @param m2 9-item transformation matrix >> - * @param result 9-item transformation matrix >> - */ >> -void avfilter_add_matrix(const float *m1, const float *m2, float >> *result); >> - >> -/** >> - * Subtract one matrix from another. result = m1 - m2. >> - * >> - * @param m1 9-item transformation matrix >> - * @param m2 9-item transformation matrix >> - * @param result 9-item transformation matrix >> - */ >> -void avfilter_sub_matrix(const float *m1, const float *m2, float >> *result); >> - >> -/** >> - * Multiply a matrix by a scalar value. result = m1 * scalar. >> - * >> - * @param m1 9-item transformation matrix >> - * @param scalar a number >> - * @param result 9-item transformation matrix >> - */ >> -void avfilter_mul_matrix(const float *m1, float scalar, float *result); >> - >> /** >> * Do an affine transformation with the given interpolation method. >> This >> * multiplies each vector [x,y,1] by the matrix and then >> interpolates to >> @@ -126,7 +99,7 @@ void avfilter_mul_matrix(const float *m1, float >> scalar, float *result); >> * @param fill edge fill method >> * @return negative on error >> */ >> -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, >> diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c >> index 28a541b94a..8771399351 100644 >> --- a/libavfilter/vf_deshake.c >> +++ b/libavfilter/vf_deshake.c >> @@ -330,8 +330,9 @@ static int deshake_transform_c(AVFilterContext *ctx, >> for (i = 0; i < 3; i++) { >> // Transform the luma and chroma planes >> - ret = avfilter_transform(in->data[i], out->data[i], >> in->linesize[i], out->linesize[i], >> - plane_w[i], plane_h[i], matrixs[i], >> interpolate, fill); >> + ret = ff_affine_transform(in->data[i], out->data[i], >> in->linesize[i], >> + out->linesize[i], plane_w[i], >> plane_h[i], >> + matrixs[i], interpolate, fill); >> if (ret < 0) >> return ret; >> } >> > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".