package/musepack: fix incompatible pointer types

As of GCC14, GCC no longer allows implicitly casting all pointer types
to all other pointer types.

We can fix this error, by adding the appropriate cast.
This patch is a port of a Gentoo patch.

Link: https://gitweb.gentoo.org/repo/gentoo.git/tree/media-sound/musepack-tools/files/musepack-tools-495-incompatible-pointers.patch

Fixes:

    https://autobuild.buildroot.org/results/6412fc37d533dff27f18b09c668870bebff2bec5/

Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
This commit is contained in:
Thomas Bonnefille
2025-01-12 10:23:13 +01:00
committed by Arnout Vandecappelle
parent b15cd1d8fe
commit fc827edb65

View File

@@ -0,0 +1,47 @@
Fixed incompatible pointer types
This is due to GCC14 that no longer allows implicitly casting all pointer types
to all other pointer types. Resulting in error such as :
output/build/musepack-475/libmpcpsy/ans.c:291:120: error: passing argument 10 of FindOptimalANS from incompatible pointer type [-Wincompatible-pointer-types]
291 | L, ANSspec_M, m->NS_Order_L, m->SNR_comp_L, m->FIR_L, smr.L, smr.M, m->SCF_Index_L, Transient );
| ~^~~~~~~~~~~~~
| |
| int *
Patch downloaded from Gentoo:
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-sound/musepack-tools/files/musepack-tools-495-incompatible-pointers.patch
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Upstream: N/A no SCM, not active anymore
--- musepack-tools-495/libmpcpsy/ans.c
+++ musepack-tools-495-fixed/libmpcpsy/ans.c
@@ -287,12 +287,12 @@
// for L or M, respectively
memset ( m->FIR_L, 0, sizeof m->FIR_L ); // reset FIR
memset ( m->NS_Order_L, 0, sizeof m->NS_Order_L ); // reset Flags
- FindOptimalANS ( MaxBand, MSflag, ANSspec_L, ANSspec_M, m->NS_Order_L, m->SNR_comp_L, m->FIR_L, smr.L, smr.M, m->SCF_Index_L, Transient );
+ FindOptimalANS ( MaxBand, MSflag, ANSspec_L, ANSspec_M, m->NS_Order_L, m->SNR_comp_L, m->FIR_L, smr.L, smr.M, (const void*)m->SCF_Index_L, Transient );
// for R or S, respectively
memset ( m->FIR_R, 0, sizeof m->FIR_R ); // reset FIR
memset ( m->NS_Order_R, 0, sizeof m->NS_Order_R ); // reset Flags
- FindOptimalANS ( MaxBand, MSflag, ANSspec_R, ANSspec_S, m->NS_Order_R, m->SNR_comp_R, m->FIR_R, smr.R, smr.S, m->SCF_Index_R, Transient );
+ FindOptimalANS ( MaxBand, MSflag, ANSspec_R, ANSspec_S, m->NS_Order_R, m->SNR_comp_R, m->FIR_R, smr.R, smr.S, (const void*)m->SCF_Index_R, Transient );
return;
}
--- musepack-tools-495/mpcenc/mpcenc.h
+++ musepack-tools-495-fixed/mpcenc/mpcenc.h
@@ -241,8 +241,8 @@
float ISNR_Schaetzer ( const float* samples, const float comp, const int res);
float ISNR_Schaetzer_Trans ( const float* samples, const float comp, const int res);
-void QuantizeSubband ( unsigned int* qu_output, const float* input, const int res, float* errors, const int maxNsOrder );
-void QuantizeSubbandWithNoiseShaping ( unsigned int* qu_output, const float* input, const int res, float* errors, const float* FIR );
+void QuantizeSubband ( mpc_int16_t* qu_output, const float* input, const int res, float* errors, const int maxNsOrder );
+void QuantizeSubbandWithNoiseShaping ( mpc_int16_t* qu_output, const float* input, const int res, float* errors, const float* FIR );
void NoiseInjectionComp ( void );