采用6个参数的C语言的汇编实现yuv转rgb

这个博客分享了一段修改后的YUV到RGB转换的Neon汇编代码,解决了图片转换方向的问题,并且优化了C语言调用时的参数传递,使用了6个参数。代码中详细展示了如何处理YUV图像并转换为RGB,包括对YUV数据的加载、计算以及存储到RGB缓冲区的过程。
摘要由CSDN通过智能技术生成

下面是将网上的一个yuv2rgb的汇编进行修改后的代码,修改了图片转换方向颠倒的问题,而且c调用函数采用6个参数传递

我只贴出汇编部分的代码,详细的代码可以点击最下面的链接下载

.text  
    .global ImgYUV2RGB24_neon  
          
//void ImgYUV2RGB24_neon(unsigned char *pu8RgbBuffer, unsigned char *pu8SrcYUV, int l32Width, int l32Height, unsigned char* u ,unsigned char* v); 
ImgYUV2RGB24_neon: 
    //push            {r4, r5, r6, r7, r8, r9, r10, lr}  
    stmfd           sp!, {r4-r10,lr}  
      
    add             r4,  r2, r2              
    add             r4,  r4, r2            //r4 : l32DstStride = 3 * width  
       
    mul             r5, r4, r3             //r5 = 3* width * height
    sub             r5, r5, r4     //r5 = r5 - 3 * width = 3* width * height - 3 * width = width * (height -1) * 3
  //add             r0, r0, r5             //r0: pu8Dst  =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值