我正在尝试调整以下代码来进行半刻度+ Y8提取:
https://github.com/emrainey/DVP/blob/master/libraries/public/yuv/__uyvy_half_scale_image.S
我只想修改第105行和第106行并转储到pDst d1和d5。
根据第105行:
https://github.com/emrainey/DVP/blob/master/libraries/public/yuv/yuv.inc
我认为d0有u / V,d1有Y,d4有U / V,d5有Y.
我用vst1.8和vst2.8尝试了各种各样的东西,但没有运气。我怎么能这样做?
答案 0 :(得分:0)
查看vst说明。它们以16位去交织,这意味着它们包含U + Y和V + Y.
如果我没弄错,你只需要亮度值,你必须从所有四个寄存器中提取它们。
vtrn.8 d1, d0
vtrn.8 d5, d4
然后你在d0和d4中有Y值
要小心。这个例程从开始到最后都包含大量不必要的指令。
你为什么不看其他来源?由于可怕的指令选择,不重要的寄存器分配以及缺乏剩余处理,这个库是学习/修改的一个不好的起点。