libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.4k stars 1.84k forks source link

Can't compile with FFMPEG5 - Retroarch 1.10.0 #13530

Closed AngryPenguinPL closed 2 years ago

AngryPenguinPL commented 2 years ago

Description

We have already migrated to FFMPEG 5 and when trying to compile Retroarch (1.10.0 in this case) I get a compilation error:

error: 'AVPicture' undeclared (first use in this function); did you mean 'AVPictureType'?
DEBUG util.py:634:     77 |       avpicture_alloc((AVPicture*)b->buffer[i].target,
DEBUG util.py:634:        |                        ^~~~~~~~~
DEBUG util.py:634:        |                        AVPictureType
DEBUG util.py:634:  cores/libretro-ffmpeg/video_buffer.c:77:24: note: each undeclared identifier is reported only once for each function it appears in
DEBUG util.py:634:  cores/libretro-ffmpeg/video_buffer.c:77:34: error: expected expression before ')' token
DEBUG util.py:634:     77 |       avpicture_alloc((AVPicture*)b->buffer[i].target,

Full build log here: https://file-store.openmandriva.org/api/v1/file_stores/a643d96e109621fa2140ee6e3c70eaa43f4611c7.log?show=true

Which indicates incompatibility with the newly released Ffmpeg5. It is worth adding that if I use compact ffmpeg4 version, everything compiles correctly.

Expected behavior

All compiles fine with ffmpeg5

Steps to reproduce the bug

  1. Upgrade ffmpeg to version 5
  2. Try compile retroarch 1.10.0
  3. See build error

Environment information

alucryd commented 2 years ago

Same story on Arch Linux, linking the log just in case: https://build.alucryd.xyz/#/builders/12/builds/42/steps/9/logs/stdio