android版本webrtc使用ffmpeg 解码h264编译报错

1, android studio使用ffmpeg解码h264编译报错:

复制代码
third_party/ffmpeg/ffmpeg_internal/videodsp.o: in function `ff_prefetch_aarch64':
(.text+0x10): relocation truncated to fit: R_AARCH64_CONDBR19 against symbol `ff_prefetch_aarch64' defined in .text section in obj/third_party/ffmpeg/ffmpeg_internal/videodsp.o

2,查看相关代码

复制代码
third_party/ffmpeg/libavcodec/aarch64/videodsp.S

#include "libavutil/aarch64/asm.S"

function ff_prefetch_aarch64, export=1
        subs            w2,  w2,  #2
        prfm            pldl1strm, [x0]
        prfm            pldl1strm, [x0,  x1]
        add             x0,  x0,  x1,  lsl #1
        b.gt            X(ff_prefetch_aarch64)
        ret
endfunc

3,原因:由于链接器如何将部分分配到地址空间造成的

4,修改以下文件

third_party/ffmpeg/libavcodec/aarch64/videodsp.S:

复制代码
#include "libavutil/aarch64/asm.S"

function ff_prefetch_aarch64, export=1
        subs            w2,  w2,  #2
        prfm            pldl1strm, [x0]
        prfm            pldl1strm, [x0,  x1]
        add             x0,  x0,  x1,  lsl #1
        b            X(ff_prefetch_aarch64)
1:
        ret
endfunc
相关推荐
xcLeigh1 小时前
Go入门:基本数据类型全览与选择指南
android·服务器·golang·教程·go热门
alexhilton1 小时前
规范驱动开发:让AI生成符合预期的KMP代码
android·kotlin·android jetpack
码农coding2 小时前
android12 ActivityManagerService开机启动分析
android
Android-Flutter4 小时前
android 性能优化 详解
android·kotlin
vortex54 小时前
composer.json 可写场景下的利用手段
android·json·composer
studyForMokey4 小时前
【Android 内存管理】JVM 内存模型与 GC 原理
android·jvm
夜雪一千15 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
HY小宝F19 小时前
树莓派 FFmpeg 实战笔记(二):命令行、源码编译与硬件编码的真相
学习·职场和发展·ffmpeg
又见情义21 小时前
RK3568 Android 13 驱动适配实战:从零开始让SDK在自己的板子上跑起来
android·arm开发·驱动开发