diff options
author | Niklas Haas <git@haasn.dev> | 2024-10-10 12:21:19 +0200 |
---|---|---|
committer | Niklas Haas <git@haasn.dev> | 2024-10-23 23:12:23 +0200 |
commit | f1f54d2f826599f90090c1506ebca9977284bad2 (patch) | |
tree | 2ff86dfa5601ce3ed2e5fd947c2e0ef8c22d9ef5 | |
parent | b03c758600f0767d54ae663dadc8f698b79cd1c4 (diff) | |
download | ffmpeg-f1f54d2f826599f90090c1506ebca9977284bad2.tar.gz |
swscale/x86: use dedicated int for self-modifying MMX dstW
I want to pull options out of SwsInternal, so we need to make this field
a dedicated int that gets updated as appropriate in ff_swscale().
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
-rw-r--r-- | libswscale/swscale.c | 1 | ||||
-rw-r--r-- | libswscale/swscale_internal.h | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 0f5e520515..38e9ae8255 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -488,6 +488,7 @@ int ff_swscale(SwsContext *c, const uint8_t *const src[], const int srcStride[], #if HAVE_MMX_INLINE ff_updateMMXDitherTables(c, dstY); + c->dstW_mmx = c->dstW; #endif if (should_dither) { c->chrDither8 = ff_dither_8x8_128[chrDstY & 7]; diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index ce71f7c096..5fa041c80f 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -345,6 +345,7 @@ struct SwsContext { SwsFunc convert_unscaled; int srcW; ///< Width of source luma/alpha planes. int srcH; ///< Height of source luma/alpha planes. + int dstW; ///< Width of destination luma/alpha planes. int dstH; ///< Height of destination luma/alpha planes. int chrSrcW; ///< Width of source chroma planes. int chrSrcH; ///< Height of source chroma planes. @@ -534,7 +535,7 @@ struct SwsContext { DECLARE_ALIGNED(8, uint64_t, vOffset); int32_t lumMmxFilter[4 * MAX_FILTER_SIZE]; int32_t chrMmxFilter[4 * MAX_FILTER_SIZE]; - int dstW; ///< Width of destination luma/alpha planes. + int dstW_mmx; DECLARE_ALIGNED(8, uint64_t, esp); DECLARE_ALIGNED(8, uint64_t, vRounder); DECLARE_ALIGNED(8, uint64_t, u_temp); |