mpeg5 / xevd

eXtra-fast Essential Video Decoder, MPEG-5 EVC (Essential Video Coding)
Other
69 stars 22 forks source link

Error in build process (dangling-pointer) #37

Open m4a1carbin4 opened 1 year ago

m4a1carbin4 commented 1 year ago

I was trying to build xevd in my linux - system but During the build process, my system always sends this warnings and faild to "make"

/home/waganawa/문서/RA/xevd/src_main/xevdm.c: In function ‘xevd_apply_filter’: /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3204:34: error: storing the address of local variable ‘g_dra_control_effective’ in ‘mctx.pps_dra_params’ [-Werror=dangling-pointer=] 3204 | mctx->pps_dra_params = (void )&(g_dra_control_effective.signalled_dra); | ~~~~~^~~~~~~~~~~~~~ /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3187:21: note: ‘g_dra_control_effective’ declared here 3187 | DRA_CONTROL g_dra_control_effective; | ^~~~~~~ /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3187:21: note: ‘ctx’ declared here /home/waganawa/문서/RA/xevd/src_main/xevdm.c: In function ‘xevd_decode’: /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3610:34: error: storing the address of local variable ‘dra_control_effective’ in ‘(XEVDM_CTX )id.pps_dra_params’ [-Werror=dangling-pointer=] 3610 | mctx->pps_dra_params = &(dra_control_effective.signalled_dra); | ~~~~~^~~~~~~~~~~~ /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3593:17: note: ‘dra_control_effective’ declared here 3593 | DRA_CONTROL dra_control_effective; | ^~~~~ /home/waganawa/문서/RA/xevd/src_main/xevdm.c:3593:17: note: ‘id’ declared here cc1: all warnings being treated as errors

is there something I missed?

eclvideocoding commented 1 year ago

i'm also struggling with the same problem in a specific machine, works fine on every other machine i tried to build it

/home/ecl/video-coding/tools/xevd/src_main/xevdm.c: In function ‘xevd_apply_filter’: /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3332:34: error: storing the address of local variable ‘g_dra_control_effective’ in ‘mctx.pps_dra_params’ [-Werror=dangling-pointer=] 3332 | mctx->pps_dra_params = (void )&(g_dra_control_effective.signalled_dra); | ~~~~~^~~~~~~~~~~~~~ /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3315:21: note: ‘g_dra_control_effective’ declared here 3315 | DRA_CONTROL g_dra_control_effective; | ^~~~~~~ /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3315:21: note: ‘ctx’ declared here /home/ecl/video-coding/tools/xevd/src_main/xevdm.c: In function ‘xevd_decode’: /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3738:34: error: storing the address of local variable ‘dra_control_effective’ in ‘(XEVDM_CTX )id.pps_dra_params’ [-Werror=dangling-pointer=] 3738 | mctx->pps_dra_params = &(dra_control_effective.signalled_dra); | ~~~~~^~~~~~~~~~~~ /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3721:17: note: ‘dra_control_effective’ declared here 3721 | DRA_CONTROL dra_control_effective; | ^~~~~ /home/ecl/video-coding/tools/xevd/src_main/xevdm.c:3721:17: note: ‘id’ declared here

mamthan commented 1 year ago

@m4a1carbin4 @eclvideocoding I have modified the codebase to fix this compilation error due to dangling pointer. Please clone this branch xevd_compiler_error_fix and let us know if you still observe the compiler error or any related issue.