jjm2473 / ffmpeg-rk

支持rockchip mpp硬件加速编解码的ffmpeg版本。Forked ffmpeg that supports rkmpp decodeing, encoding and rga scaling
https://ffmpeg.org
Other
178 stars 31 forks source link

编译成功,链接失败,无法生成可执行ffmpeg_warp #28

Closed SCUT-chenjia closed 10 months ago

SCUT-chenjia commented 10 months ago

/usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_filter_frame_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:44: undefined reference toavrkmpp_scale_rga_filter_frame' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_config_output_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:72: undefined reference toavrkmpp_scale_rga_config_output' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_init_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:127: undefined reference toavrkmpp_scale_rga_init' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_uninit_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:131: undefined reference toavrkmpp_scale_rga_uninit' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_filter_frame_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:44: undefined reference toavrkmpp_scale_rga_filter_frame' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_config_output_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:72: undefined reference toavrkmpp_scale_rga_config_output' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_init_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:127: undefined reference toavrkmpp_scale_rga_init' /usr/bin/ld: libavfilter/libavfilter.a(vf_scale_rga.o): in function scale_rga_uninit_l': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavfilter/vf_scale_rga.c:131: undefined reference toavrkmpp_scale_rga_uninit' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o): in function rkmpp_receive_frame': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavcodec/rkmppdec.c:30: undefined reference toavrkmpp_receive_frame' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x90): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0xa0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0xa8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x158): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x168): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x170): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x220): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x230): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x238): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x2e8): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x2f8): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x300): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3b0): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3c0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3c8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x478): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x488): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x490): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x540): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x550): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x558): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x608): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x618): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x620): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6d0): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6e0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6e8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0x90): undefined reference toavrkmpp_init_encoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0x98): undefined reference to avrkmpp_encode_frame' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0xa0): undefined reference toavrkmpp_close_encoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o): in function rkmpp_receive_frame': /home/toybrick/livefoundation/submodules/ffmpeg-rk/libavcodec/rkmppdec.c:30: undefined reference toavrkmpp_receive_frame' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x90): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0xa0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0xa8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x158): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x168): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x170): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x220): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x230): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x238): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x2e8): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x2f8): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x300): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3b0): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3c0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x3c8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x478): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x488): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x490): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x540): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x550): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x558): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x608): undefined reference toavrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x618): undefined reference to avrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x620): undefined reference toavrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6d0): undefined reference to avrkmpp_init_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6e0): undefined reference toavrkmpp_close_decoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppdec.o):(.data.rel.ro+0x6e8): undefined reference to avrkmpp_decoder_flush' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0x90): undefined reference toavrkmpp_init_encoder' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0x98): undefined reference to avrkmpp_encode_frame' /usr/bin/ld: libavcodec/libavcodec.a(rkmppenc.o):(.data.rel+0xa0): undefined reference toavrkmpp_close_encoder' collect2: error: ld returned 1 exit status collect2: error: ld returned 1 exit status make: [Makefile:132:ffmpeg_g] 错误 1 make: 正在等待未完成的任务.... make: *** [Makefile:132:ffprobe_g] 错误 1

SCUT-chenjia commented 10 months ago

image libavrkmpp目录结构,可以看到这里编译成功了,但是在 libavcodec/libavcodec.a,libavfilter/libavfilter.a链接时找不到

gabacai commented 10 months ago

相同的问题,我用的是orange pi 3B/cm4

primoitt83 commented 10 months ago

Hi guys!

Do not enable only "static".. you need "shared" too for this project..

Try this:

    --enable-nonfree \

    --enable-gpl \

    --enable-version3 \

    --enable-libx264 \

    --enable-libdrm \

    --enable-librga \

    --enable-rkmpp \    

    --enable-static \

    --enable-shared 

Good luck!

SCUT-chenjia commented 10 months ago

Hi guys!

Do not enable only "static".. you need "shared" too for this project..

Try this:

    --enable-nonfree \

    --enable-gpl \

    --enable-version3 \

    --enable-libx264 \

    --enable-libdrm \

    --enable-librga \

    --enable-rkmpp \    

    --enable-static \

    --enable-shared 

Good luck!

感谢,添加--enable-shared后,编译通过

jjm2473 commented 10 months ago

ffmpeg_warp只是为了方便jellyfin调用的,一般用不上。