arm汇编中的疑问

superquan1985 2012-02-24 02:50:10
各位掌柜的!
最近在研究264编解码 发现里面的一些汇编文件(ARM汇编) 看不懂
例如下面一代码片段
function x264_quant_4x4_dc_neon
vld1.64 {d28-d31}, [r0,:128]
vabs.s16 q8, q14
vabs.s16 q9, q15
vdup.16 q0, r2
vdup.16 q2, r1
QUANT_TWO q0, q0, d4, d5, d4, d5
vorr d0, d0, d1
QUANT_END d0
.endfunc

这是个函数 谁能解释下vabs.s16 ,vdup.16等 还有q8,q14表示的什么意思!
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
superquan1985 2012-03-05
  • 打赏
  • 举报
回复
谢谢楼上
上层初始化是这样
#if HAVE_ARMV6
if( cpu&X264_CPU_ARMV6 )
pf->coeff_last4 = x264_coeff_last4_arm;

if( cpu&X264_CPU_NEON )
{
pf->quant_2x2_dc = x264_quant_2x2_dc_neon;
pf->quant_4x4 = x264_quant_4x4_neon;
pf->quant_4x4_dc = x264_quant_4x4_dc_neon;
pf->quant_8x8 = x264_quant_8x8_neon;
pf->dequant_4x4 = x264_dequant_4x4_neon;
pf->dequant_4x4_dc = x264_dequant_4x4_dc_neon;
pf->dequant_8x8 = x264_dequant_8x8_neon;
pf->coeff_last[ DCT_LUMA_AC] = x264_coeff_last15_neon;
pf->coeff_last[DCT_LUMA_4x4] = x264_coeff_last16_neon;
pf->coeff_last[DCT_LUMA_8x8] = x264_coeff_last64_neon;
}
#endif

我想应该用的是搭载在ARM上的 NEON协处理器指令 用来处理浮点型运算的。
唉 再慢慢研究吧 !
zjl1234567 2012-03-02
  • 打赏
  • 举报
回复
arm几的?新arm支持一些dsp指令,看你这个是4阶矩阵运算?

264编解码,应该就是这些东西。

这个貌似和x86上的sse指令类似

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧