Commit 1a48ef59d1 for ffmpeg
commit 1a48ef59d1a431d5dc09304fccfc340974c55820
Author: Ramiro Polla <ramiro.polla@gmail.com>
Date: Tue Sep 29 02:51:47 2026 +0200
swscale/ops_chain: remove unused SwsOp setup helpers
They were only used by the aarch64 backend, which has now been ported
to uops and no longer needs them.
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>
diff --git a/libswscale/ops_chain.c b/libswscale/ops_chain.c
index add93da824..42f26035a7 100644
--- a/libswscale/ops_chain.c
+++ b/libswscale/ops_chain.c
@@ -20,7 +20,6 @@
#include "libavutil/avassert.h"
#include "libavutil/mem.h"
-#include "libavutil/rational.h"
#include "ops_chain.h"
@@ -58,61 +57,6 @@ int ff_sws_op_chain_append(SwsOpChain *chain, SwsFuncPtr func,
return 0;
}
-#define q2pixel(type, q) ((q).den ? (type) (q).num / (q).den : 0)
-
-#if ARCH_AARCH64
-int ff_sws_setup_scale(const SwsImplParams *params, SwsImplResult *out)
-{
- const SwsOp *op = params->op;
- const AVRational64 factor = op->scale.factor;
- switch (op->type) {
- case SWS_PIXEL_U8: out->priv.u8[0] = q2pixel(uint8_t, factor); break;
- case SWS_PIXEL_U16: out->priv.u16[0] = q2pixel(uint16_t, factor); break;
- case SWS_PIXEL_U32: out->priv.u32[0] = q2pixel(uint32_t, factor); break;
- case SWS_PIXEL_F32: out->priv.f32[0] = q2pixel(float, factor); break;
- default: return AVERROR(EINVAL);
- }
-
- return 0;
-}
-
-int ff_sws_setup_clamp(const SwsImplParams *params, SwsImplResult *out)
-{
- const SwsOp *op = params->op;
- for (int i = 0; i < 4; i++) {
- const AVRational64 limit = op->clamp.limit[i];
- switch (op->type) {
- case SWS_PIXEL_U8: out->priv.u8[i] = q2pixel(uint8_t, limit); break;
- case SWS_PIXEL_U16: out->priv.u16[i] = q2pixel(uint16_t, limit); break;
- case SWS_PIXEL_U32: out->priv.u32[i] = q2pixel(uint32_t, limit); break;
- case SWS_PIXEL_F32: out->priv.f32[i] = q2pixel(float, limit); break;
- default: return AVERROR(EINVAL);
- }
- }
-
- return 0;
-}
-
-int ff_sws_setup_clear(const SwsImplParams *params, SwsImplResult *out)
-{
- const SwsOp *op = params->op;
- for (int i = 0; i < 4; i++) {
- const AVRational64 value = op->clear.value[i];
- if (!value.den)
- continue;
- switch (op->type) {
- case SWS_PIXEL_U8: out->priv.u8[i] = q2pixel(uint8_t, value); break;
- case SWS_PIXEL_U16: out->priv.u16[i] = q2pixel(uint16_t, value); break;
- case SWS_PIXEL_U32: out->priv.u32[i] = q2pixel(uint32_t, value); break;
- case SWS_PIXEL_F32: out->priv.f32[i] = q2pixel(float, value); break;
- default: return AVERROR(EINVAL);
- }
- }
-
- return 0;
-}
-#endif
-
int ff_sws_uop_lookup(SwsContext *ctx, const SwsUOpTable *const tables[],
int num_tables, const SwsUOp *uop, const int block_size,
SwsOpChain *chain)
diff --git a/libswscale/ops_chain.h b/libswscale/ops_chain.h
index 3475790ff9..e3a25e3af5 100644
--- a/libswscale/ops_chain.h
+++ b/libswscale/ops_chain.h
@@ -104,10 +104,7 @@ int ff_sws_op_chain_append(SwsOpChain *chain, SwsFuncPtr func,
typedef struct SwsImplParams {
const SwsUOpTable *table;
- union {
- const SwsUOp *uop;
- const SwsOp *op;
- };
+ const SwsUOp *uop;
SwsContext *ctx;
} SwsImplParams;
@@ -132,11 +129,6 @@ typedef struct SwsUOpEntry {
bool (*check)(const SwsImplParams *params); /* optional, return true if supported */
} SwsUOpEntry;
-/* Setup helpers for common/trivial operation types */
-int ff_sws_setup_scale(const SwsImplParams *params, SwsImplResult *out);
-int ff_sws_setup_clamp(const SwsImplParams *params, SwsImplResult *out);
-int ff_sws_setup_clear(const SwsImplParams *params, SwsImplResult *out);
-
/* Setup helpers for SwsUOp data */
int ff_sws_setup_scalar(const SwsImplParams *params, SwsImplResult *out);
int ff_sws_setup_vec4(const SwsImplParams *params, SwsImplResult *out);