[MPlayer-dev-eng] [MPlayer-cvslog] r38235 - in trunk: libmpcodecs/vf_filmdint.c libmpcodecs/vf_gradfun.c libmpcodecs/vf_ow.c libmpcodecs/vf_spp.c m_config.h sub/osd.c

Erik Auerswald auerswal at unix-ag.uni-kl.de
Sat Jan 23 20:52:49 EET 2021


Hi,

On 23.01.21 19:22, reimar wrote:
> Author: reimar
> Date: Sat Jan 23 20:22:15 2021
> New Revision: 38235

After the recent changes, MPlayer no longer compiles for me.
since the problem occurs in the file libmpcodecs/vf_spp.c
I assume that this check in to be the cause.

> Log:
> Switch to using DECLARE_ALIGNED for better portability.
> 
> Modified:
>     trunk/libmpcodecs/vf_filmdint.c
>     trunk/libmpcodecs/vf_gradfun.c
>     trunk/libmpcodecs/vf_ow.c
>     trunk/libmpcodecs/vf_spp.c
>     trunk/m_config.h
>     trunk/sub/osd.c
> [...]
> Modified: trunk/libmpcodecs/vf_spp.c
> ==============================================================================
> --- trunk/libmpcodecs/vf_spp.c	Sat Jan 23 20:22:13 2021	(r38234)
> +++ trunk/libmpcodecs/vf_spp.c	Sat Jan 23 20:22:15 2021	(r38235)
> @@ -58,7 +58,7 @@
>   #define XMIN(a,b) ((a) < (b) ? (a) : (b))
>   
>   //===========================================================================//
> -static const uint8_t  __attribute__((aligned(8))) dither[8][8]={
> +DECLARE_ALIGNED(8, static const uint8_t, dither)[8][8]={
>   {  0,  48,  12,  60,   3,  51,  15,  63, },
>   { 32,  16,  44,  28,  35,  19,  47,  31, },
>   {  8,  56,   4,  52,  11,  59,   7,  55, },
> @@ -383,7 +383,7 @@ static void filter(struct vf_priv_s *p,
>           int x, y, i;
>           const int count= 1<<p->log2_count;
>           const int stride= is_luma ? p->temp_stride : ((width+16+15)&(~15));
> -        uint64_t __attribute__((aligned(16))) block_align[32];
> +        LOCAL_ALIGNED_16(uint64_t, block_align, [32]);

This seems to be the problem:

libmpcodecs/vf_spp.c: In function 'filter':
libmpcodecs/vf_spp.c:386:9: error: implicit declaration of function 
'LOCAL_ALIGNED_16'; did you mean 'DECLARE_ALIGNED'? 
[-Werror=implicit-function-declaration]
          LOCAL_ALIGNED_16(uint64_t, block_align, [32]);
          ^~~~~~~~~~~~~~~~
          DECLARE_ALIGNED
libmpcodecs/vf_spp.c:386:26: error: expected expression before 'uint64_t'
          LOCAL_ALIGNED_16(uint64_t, block_align, [32]);
                           ^~~~~~~~
libmpcodecs/vf_spp.c:387:37: error: 'block_align' undeclared (first use 
in this function)
          int16_t *block = (int16_t *)block_align;
                                      ^~~~~~~~~~~
libmpcodecs/vf_spp.c:387:37: note: each undeclared identifier is 
reported only once for each function it appears in
libmpcodecs/vf_spp.c:387:9: warning: ISO C90 forbids mixed declarations 
and code [-Wdeclaration-after-statement]
          int16_t *block = (int16_t *)block_align;
          ^~~~~~~
cc1: some warnings being treated as errors
Makefile:725: recipe for target 'libmpcodecs/vf_spp.o' failed
make: *** [libmpcodecs/vf_spp.o] Error 1

>           int16_t *block = (int16_t *)block_align;
>           int16_t *block2= (int16_t *)(block_align+16);
>   
> 
> [...]

Thanks,
Erik


More information about the MPlayer-dev-eng mailing list