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
相关推荐
用户20187928316711 小时前
Android黑夜白天模式切换原理分析
android
芦半山11 小时前
「幽灵调用」背后的真相:一个隐藏多年的Android原生Bug
android
卡尔特斯11 小时前
Android Kotlin 项目代理配置【详细步骤(可选)】
android·java·kotlin
ace望世界12 小时前
安卓的ViewModel
android
ace望世界12 小时前
kotlin的委托
android
CYRUS_STUDIO14 小时前
一文搞懂 Frida Stalker:对抗 OLLVM 的算法还原利器
android·逆向·llvm
zcychong14 小时前
ArrayMap、SparseArray和HashMap有什么区别?该如何选择?
android·面试
CYRUS_STUDIO14 小时前
Frida Stalker Trace 实战:指令级跟踪与寄存器变化监控全解析
android·逆向
MagicSakuraD19 小时前
LiveKit 的核心概念
webrtc
ace望世界19 小时前
android的Parcelable
android