nyanmisaka / ffmpeg-rockchip

FFmpeg with async and zero-copy Rockchip MPP & RGA support
Other
325 stars 47 forks source link

Error native compilation in Armbian 5.10.160-legacy-rk35xx #53

Closed ZiTAL closed 3 months ago

ZiTAL commented 3 months ago

I'm using this wiki to compile in an orange pi 5 ARM: Armbian 24.2.1 Bookworm with Linux 5.10.160-legacy-rk35xx

https://github.com/nyanmisaka/ffmpeg-rockchip/wiki/Compilation

MPP and RGA compiles OK.

When I'm trying to compile the ffmpeg:

CC  libavcodec/rkmppenc.o
libavcodec/rkmppdec.c: In function ‘rkmpp_get_coding_type’:
libavcodec/rkmppdec.c:43:44: error: ‘MPP_VIDEO_CodingAV1’ undeclared (first use in this function); did you mean ‘MPP_VIDEO_CodingAVS’?
   43 |     case AV_CODEC_ID_AV1:           return MPP_VIDEO_CodingAV1;
      |                                            ^~~~~~~~~~~~~~~~~~~
      |                                            MPP_VIDEO_CodingAVS
libavcodec/rkmppdec.c:43:44: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/rkmppdec.c: In function ‘rkmpp_decode_init’:
libavcodec/rkmppdec.c:243:35: error: ‘MPP_FRAME_FBC_AFBC_V2’ undeclared (first use in this function); did you mean ‘MPP_FRAME_FBC_AFBC_V1’?
  243 |         MppFrameFormat afbc_fmt = MPP_FRAME_FBC_AFBC_V2;
      |                                   ^~~~~~~~~~~~~~~~~~~~~
      |                                   MPP_FRAME_FBC_AFBC_V1
libavcodec/rkmppdec.c: In function ‘rkmpp_export_frame’:
libavcodec/rkmppdec.c:550:27: error: implicit declaration of function ‘mpp_frame_get_offset_y’; did you mean ‘mpp_frame_get_fmt’? [-Werror=implicit-function-declaration]
  550 |         frame->crop_top = mpp_frame_get_offset_y(mpp_frame);
      |                           ^~~~~~~~~~~~~~~~~~~~~~
      |                           mpp_frame_get_fmt
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:81: libavcodec/rkmppdec.o] Error 1
make: *** Waiting for unfinished jobs....
libavcodec/rkmppenc.c: In function ‘rkmpp_get_mpp_fmt_h26x’:
libavcodec/rkmppenc.c:46:37: error: ‘MPP_FMT_YUV444P’ undeclared (first use in this function); did you mean ‘MPP_FMT_YUV444SP’?
   46 |     case AV_PIX_FMT_YUV444P: return MPP_FMT_YUV444P;
      |                                     ^~~~~~~~~~~~~~~
      |                                     MPP_FMT_YUV444SP
libavcodec/rkmppenc.c:46:37: note: each undeclared identifier is reported only once for each function it appears in
libavcodec/rkmppenc.c: In function ‘rkmpp_set_enc_cfg_prep’:
libavcodec/rkmppenc.c:301:20: error: ‘MPP_FRAME_FBC_AFBC_V2’ undeclared (first use in this function); did you mean ‘MPP_FRAME_FBC_AFBC_V1’?
  301 |         mpp_fmt |= MPP_FRAME_FBC_AFBC_V2;
      |                    ^~~~~~~~~~~~~~~~~~~~~
      |                    MPP_FRAME_FBC_AFBC_V1
libavcodec/rkmppenc.c: In function ‘rkmpp_submit_frame’:
libavcodec/rkmppenc.c:654:20: error: ‘MPP_FRAME_FBC_AFBC_V2’ undeclared (first use in this function); did you mean ‘MPP_FRAME_FBC_AFBC_V1’?
  654 |         mpp_fmt |= MPP_FRAME_FBC_AFBC_V2;
      |                    ^~~~~~~~~~~~~~~~~~~~~
      |                    MPP_FRAME_FBC_AFBC_V1
libavcodec/rkmppenc.c:658:13: error: implicit declaration of function ‘mpp_frame_set_offset_y’; did you mean ‘mpp_frame_set_fmt’? [-Werror=implicit-function-declaration]
  658 |             mpp_frame_set_offset_y(mpp_frame, afbc_offset_y);
      |             ^~~~~~~~~~~~~~~~~~~~~~
      |             mpp_frame_set_fmt
libavcodec/rkmppenc.c:671:9: error: implicit declaration of function ‘mpp_frame_set_fbc_hdr_stride’; did you mean ‘mpp_frame_set_hor_stride’? [-Werror=implicit-function-declaration]
  671 |         mpp_frame_set_fbc_hdr_stride(mpp_frame, hor_stride);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         mpp_frame_set_hor_stride
cc1: some warnings being treated as errors
make: *** [ffbuild/common.mak:81: libavcodec/rkmppenc.o] Error 1
nyanmisaka commented 3 months ago

Your MPP dev package that comes with the system is very outdated. Uninstall them or specify the correct header path in ffmpeg configs.