Skip to content

Fails to build with FFmpeg 8.x #74

@tmn505

Description

@tmn505

Two errors
‘FF_PROFILE_HEVC_MAIN_10’ undeclared (first use in this function); did you mean ‘AV_PROFILE_HEVC_MAIN_10’?
and
‘AVCodecContext’ has no member named ‘ticks_per_frame’

Output of DRM=1 build:

g++ -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/home/build/pkgbuilds/vdr/src=/usr/src/debug/vdr -flto=auto  -O3 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fpermissive  -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libdrm        -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhddrm"' -D_GNU_SOURCE -DDEBUG  -DHAVE_GL                       -DAV_INFO -DAV_INFO_TIME=3000   -DUSE_MPEG_COMPLETE             -DH264_EOS_TRICKSPEED  -DUSE_VDR_SPU                    -DUSE_OPENGLOSD -DUSE_GLX -DUSE_DRM -DVAAPI -DUSE_SCREENSAVER  -DGIT_REV='"a62f1025ae77"'  -g -W -Wextra -Werror=overloaded-virtual -Wno-unused-parameter   -c -o softhdcuvid.o softhdcuvid.cpp
cc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/build/pkgbuilds/vdr/src=/usr/src/debug/vdr -flto=auto -O3 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fpermissive  -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libdrm        -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhddrm"' -D_GNU_SOURCE -DDEBUG              -DHAVE_GL      -DAV_INFO -DAV_INFO_TIME=3000    -DUSE_MPEG_COMPLETE             -DH264_EOS_TRICKSPEED           -DUSE_VDR_SPU          -DUSE_OPENGLOSD -DUSE_GLX -DUSE_DRM -DVAAPI -DUSE_SCREENSAVER  -DGIT_REV='"a62f1025ae77"'  -g -W -Wextra   -c -o softhddev.o softhddev.c
cc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/build/pkgbuilds/vdr/src=/usr/src/debug/vdr -flto=auto -O3 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fpermissive  -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libdrm        -I./opengl -I./ -DPLUGIN_NAME_I18N='"softhddrm"' -D_GNU_SOURCE -DDEBUG              -DHAVE_GL      -DAV_INFO -DAV_INFO_TIME=3000    -DUSE_MPEG_COMPLETE             -DH264_EOS_TRICKSPEED           -DUSE_VDR_SPU          -DUSE_OPENGLOSD -DUSE_GLX -DUSE_DRM -DVAAPI -DUSE_SCREENSAVER  -DGIT_REV='"a62f1025ae77"'  -g -W -Wextra   -c -o video.o video.c
In file included from video.c:602:
drm.c: In function ‘set_video_mode’:
drm.c:178:83: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
  178 |         if (width == mode->hdisplay && height == mode->vdisplay && mode->vrefresh == DRMRefresh &&
      |                                                                                   ^~
drm.c:187:13: warning: implicit declaration of function ‘InitBo’ [-Wimplicit-function-declaration]
  187 |             InitBo(render->bpp);
      |             ^~~~~~
drm.c: In function ‘FindDevice’:
drm.c:317:40: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
  317 |                         mode->vrefresh == DRMRefresh && !(mode->flags & DRM_MODE_FLAG_INTERLACE)) {
      |                                        ^~
drm.c: At top level:
drm.c:477:6: warning: conflicting types for ‘InitBo’; have ‘void(int)’
  477 | void InitBo(int bpp) {
      |      ^~~~~~
drm.c:187:13: note: previous implicit declaration of ‘InitBo’ with type ‘void(int)’
  187 |             InitBo(render->bpp);
      |             ^~~~~~
drm.c: In function ‘InitBo’:
drm.c:485:67: warning: passing argument 3 of ‘eglCreateWindowSurface’ makes integer from pointer without a cast [-Wint-conversion]
  485 |     eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, gbm.surface, NULL);
      |                                                                ~~~^~~~~~~~
      |                                                                   |
      |                                                                   struct gbm_surface *
In file included from video.c:173:
/usr/include/EGL/egl.h:136:109: note: expected ‘EGLNativeWindowType’ {aka ‘long unsigned int’} but argument is of type ‘struct gbm_surface *’
  136 | GLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
      |                                                                                 ~~~~~~~~~~~~~~~~~~~~^~~
In file included from video.c:603:
hdr.c: In function ‘set_hdr_metadata’:
hdr.c:479:12: warning: assignment to ‘struct AVMasteringDisplayMetadata *’ from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
  479 |         md = sd1->data;
      |            ^
hdr.c:482:12: warning: assignment to ‘struct AVContentLightMetadata *’ from incompatible pointer type ‘uint8_t *’ {aka ‘unsigned char *’} [-Wincompatible-pointer-types]
  482 |         ld = sd2->data;
      |            ^
hdr.c:530:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  530 |             cs = weston_colorspace_lookup("BT.709");
      |                ^
hdr.c:533:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  533 |             cs = weston_colorspace_lookup("BT.2020");
      |                ^
hdr.c:536:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  536 |             cs = weston_colorspace_lookup("BT.470 B/G"); // BT.601
      |                ^
hdr.c:539:16: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  539 |             cs = weston_colorspace_lookup("BT.709");
      |                ^
video.c: In function ‘Cuvid_get_format’:
video.c:2896:31: error: ‘FF_PROFILE_HEVC_MAIN_10’ undeclared (first use in this function); did you mean ‘AV_PROFILE_HEVC_MAIN_10’?
 2896 |     if (video_ctx->profile == FF_PROFILE_HEVC_MAIN_10)
      |                               ^~~~~~~~~~~~~~~~~~~~~~~
      |                               AV_PROFILE_HEVC_MAIN_10
video.c:2896:31: note: each undeclared identifier is reported only once for each function it appears in
video.c: In function ‘VideoDisplayHandlerThread’:
video.c:5784:5: warning: initialization of ‘void (*)(void *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
 5784 |     pthread_cleanup_push(delete_decode, NULL);
      |     ^~~~~~~~~~~~~~~~~~~~
video.c:5784:5: note: (near initialization for ‘__clframe.__cancel_routine’)
video.c:5778:6: note: ‘delete_decode’ declared here
 5778 | void delete_decode() { Debug(3, "decoder thread exit\n"); }
      |      ^~~~~~~~~~~~~
video.c:5793:5: warning: assignment to ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
 5793 |     pthread_cleanup_pop(NULL);
      |     ^~~~~~~~~~~~~~~~~~~
video.c: In function ‘VideoHandlerThread’:
video.c:5897:5: warning: initialization of ‘void (*)(void *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
 5897 |     pthread_cleanup_push(exit_display, NULL);
      |     ^~~~~~~~~~~~~~~~~~~~
video.c:5897:5: note: (near initialization for ‘__clframe.__cancel_routine’)
video.c:5797:6: note: ‘exit_display’ declared here
 5797 | void exit_display() {
      |      ^~~~~~~~~~~~
video.c:5910:5: warning: assignment to ‘int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
 5910 |     pthread_cleanup_pop(NULL);
      |     ^~~~~~~~~~~~~~~~~~~
video.c: In function ‘Video_get_format’:
video.c:6106:60: error: ‘AVCodecContext’ has no member named ‘ticks_per_frame’
 6106 |     ms_delay = (1000 * video_ctx->time_base.num * video_ctx->ticks_per_frame) / video_ctx->time_base.den;
      |                                                            ^~

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions