[FFmpeg-devel] [PATCH v4 01/13] swscale: rename SwsContext to SwsInternal
Michael Niedermayer
michael at niedermayer.cc
Tue Oct 29 13:10:56 EET 2024
On Thu, Oct 24, 2024 at 12:25:11PM +0200, Niklas Haas wrote:
> From: Niklas Haas <git at haasn.dev>
>
> And preserve the public SwsContext as separate name. The motivation here
> is that I want to turn SwsContext into a public struct, while keeping the
> internal implementation hidden. Additionally, I also want to be able to
> use multiple internal implementations, e.g. for GPU devices.
>
> This commit does not include any functional changes. For the most part, it is
> a simple rename. The only complications arise from the public facing API
> functions, which preserve their current type (and hence require an additional
> unwrapping step internally), and the checkasm test framework, which directly
> accesses SwsInternal.
>
> For consistency, the affected functions that need to maintain a distionction
> have generally been changed to refer to the SwsContext as *sws, and the
> SwsInternal as *c.
>
> In an upcoming commit, I will provide a backing definition for the public
> SwsContext, and update `sws_internal()` to dereference the internal struct
> instead of merely casting it.
>
> Sponsored-by: Sovereign Tech Fund
> Signed-off-by: Niklas Haas <git at haasn.dev>
> ---
> libswscale/aarch64/hscale.S | 10 +-
> libswscale/aarch64/swscale.c | 18 +--
> libswscale/aarch64/swscale_unscaled.c | 14 +-
> libswscale/alphablend.c | 2 +-
> libswscale/arm/swscale.c | 4 +-
> libswscale/arm/swscale_unscaled.c | 14 +-
> libswscale/gamma.c | 3 +-
> libswscale/hscale.c | 10 +-
> libswscale/hscale_fast_bilinear.c | 4 +-
> libswscale/input.c | 2 +-
> libswscale/loongarch/input_lasx.c | 2 +-
> libswscale/loongarch/input_lsx.c | 2 +-
> libswscale/loongarch/output_lasx.c | 22 +--
> libswscale/loongarch/output_lsx.c | 22 +--
> libswscale/loongarch/swscale.S | 8 +-
> libswscale/loongarch/swscale_init_loongarch.c | 6 +-
> libswscale/loongarch/swscale_lasx.c | 8 +-
> libswscale/loongarch/swscale_loongarch.h | 52 +++----
> libswscale/loongarch/swscale_lsx.c | 4 +-
> libswscale/loongarch/yuv2rgb_lasx.c | 4 +-
> libswscale/loongarch/yuv2rgb_lsx.c | 4 +-
> libswscale/options.c | 2 +-
> libswscale/output.c | 110 +++++++--------
> libswscale/ppc/swscale_altivec.c | 2 +-
> libswscale/ppc/swscale_ppc_template.c | 2 +-
> libswscale/ppc/swscale_vsx.c | 38 +++---
> libswscale/ppc/yuv2rgb_altivec.c | 14 +-
> libswscale/ppc/yuv2rgb_altivec.h | 2 +-
> libswscale/ppc/yuv2yuv_altivec.c | 6 +-
> libswscale/riscv/swscale.c | 4 +-
> libswscale/slice.c | 6 +-
> libswscale/swscale.c | 104 ++++++++------
> libswscale/swscale_internal.h | 128 +++++++++---------
> libswscale/swscale_unscaled.c | 72 +++++-----
> libswscale/tests/floatimg_cmp.c | 2 +-
> libswscale/tests/swscale.c | 6 +-
> libswscale/utils.c | 117 ++++++++--------
> libswscale/vscale.c | 14 +-
> libswscale/x86/hscale_fast_bilinear_simd.c | 4 +-
> libswscale/x86/output.asm | 18 +--
> libswscale/x86/scale.asm | 2 +-
> libswscale/x86/scale_avx2.asm | 2 +-
> libswscale/x86/swscale.c | 14 +-
> libswscale/x86/swscale_template.c | 44 +++---
> libswscale/x86/w64xmmtest.c | 2 +-
> libswscale/x86/yuv2rgb.c | 20 +--
> libswscale/yuv2rgb.c | 6 +-
> tests/checkasm/sw_gbrp.c | 80 ++++++-----
> tests/checkasm/sw_range_convert.c | 44 +++---
> tests/checkasm/sw_rgb.c | 22 +--
> tests/checkasm/sw_scale.c | 66 +++++----
> tests/checkasm/sw_yuv2rgb.c | 20 +--
> tests/checkasm/sw_yuv2yuv.c | 20 +--
> 53 files changed, 630 insertions(+), 578 deletions(-)
Sorry for not reviewing this in the last 5 days but it seems
master and this dont like each other
just confirming which branch is the correct one to review
is it swscale4 or swscale5 ro some other ?
thx
Falling back to patching base and 3-way merge...
Auto-merging tests/checkasm/sw_scale.c
CONFLICT (content): Merge conflict in tests/checkasm/sw_scale.c
Auto-merging tests/checkasm/sw_range_convert.c
CONFLICT (content): Merge conflict in tests/checkasm/sw_range_convert.c
Auto-merging tests/checkasm/sw_gbrp.c
Auto-merging libswscale/x86/swscale.c
Auto-merging libswscale/utils.c
Auto-merging libswscale/swscale_internal.h
CONFLICT (content): Merge conflict in libswscale/swscale_internal.h
Auto-merging libswscale/swscale.c
Auto-merging libswscale/riscv/swscale.c
CONFLICT (content): Merge conflict in libswscale/riscv/swscale.c
Auto-merging libswscale/output.c
CONFLICT (content): Merge conflict in libswscale/output.c
Auto-merging libswscale/loongarch/swscale_init_loongarch.c
Auto-merging libswscale/input.c
Auto-merging libswscale/aarch64/swscale.c
error: Failed to merge in the changes.
Patch failed at 0001 swscale: rename SwsContext to SwsInternal
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Take away the freedom of one citizen and you will be jailed, take away
the freedom of all citizens and you will be congratulated by your peers
in Parliament.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241029/ca6ca615/attachment.sig>
More information about the ffmpeg-devel
mailing list