HI3516A stride的理解.

结论:跨度stride尽量设置为16,32,或者64,这样避免出对齐问题;

            跨度越大,实际增加的buffer也大一些;


 return (CEILING_2_POWER(stSize.u32Width, u32AlignWidth) * \
            CEILING_2_POWER(stSize.u32Height,u32AlignWidth) * \
           ((PIXEL_FORMAT_YUV_SEMIPLANAR_422 == enPixFmt)?2:1.5));


#define CEILING_2_POWER(x,a)     ( ((x) + ((a) - 1) ) & ( ~((a) - 1) ) )


上面的返回值实际就是单个缓冲块的大小,我们假设pic_size为720P(即1280*720),计算下面的return返回值:
<假设stride为16>

宽度上的:1295 & (~15) = 101 0000 1111
                                                   &111 1111 0000
                                           ——————————
                                                      101 0000 0000 = 1280


高度上的:735 & (-15) = (1011010000)b = (720)d

<假设stride为64>
宽度上的依然不变,为1280;
高度上的:768,实际缓冲buffer增大了;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值