您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

NV12剪切区域时的对齐代码

柳鲲鹏 发布时间:2018-09-13 16:46:10 ,浏览量:0

  如果没有对齐,底边有时颜色会有点问题(比如绿色)。

  所以专门写了代码进行对齐。

#define NV12_PACK 2

//如果没有对齐,NV12无法生成JPG,或者底边颜色异常。对齐时要避免剪切区域变小。
int clipNv12Pack(int* pnClipLeft, int* pnClipTop, int* pnClipWidth, int* pnClipHeight)
{
    const int clipLeft  = *pnClipLeft;
    const int clipTop   = *pnClipTop;
    const int clipWidth = *pnClipWidth;
    const int clipHeight= *pnClipHeight;

    if (*pnClipLeft % NV12_PACK != 0)
    {
        *pnClipLeft  = clipLeft/NV12_PACK*NV12_PACK;
        *pnClipWidth = clipWidth+(clipLeft-*pnClipLeft);
    }

    *pnClipWidth  = (*pnClipWidth+NV12_PACK-1)/NV12_PACK*NV12_PACK;

    if (*pnClipTop % NV12_PACK != 0)
    {
        *pnClipTop   = clipTop/NV12_PACK*NV12_PACK;
        *pnClipHeight= clipHeight+(clipTop-*pnClipTop);
    }

    *pnClipHeight = (*pnClipHeight+NV12_PACK-1)/NV12_PACK*NV12_PACK;

    return 0;
}

 

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0523s