zoukankan      html  css  js  c++  java
  • 从NV12中裁剪子画面注意事项

    1. 裁剪时,Y和UV的地址计算:
    
    / ****
      * pa_yuv_main: yuv首地址
      * video_frame.loff: 行偏移量 lineoffset
      * VDO_SIZE_W、VDO_SIZE_H: 原视频宽高
      * CROP_X、CROP_Y: 裁剪坐标值
    ****/
    video_frame.phy_addr[0] = pa_yuv_main + video_frame.loff[0] * CROP_Y + CROP_X; // Y
    video_frame.phy_addr[1] = pa_yuv_main + VDO_SIZE_W * VDO_SIZE_H + video_frame.loff[1] * (CROP_Y/2) + CROP_X; // UV pack
    

    而非:

    video_frame.phy_addr[0] = pa_yuv_main + video_frame.loff[0] * CROP_Y + CROP_X; // Y
    video_frame.phy_addr[1] = pa_yuv_main + ( video_frame.loff[0] * CROP_Y + CROP_X) / 2; // UV pack
    

    因为NV12在竖直方向上进行了1/2下采样,水平方向上并未做下采样,所以只需CROP_Y减半:

    1. 裁剪的坐标X和Y必须是偶数,否则UV和Y会有偏差。
    crop_x = crop_x & 0xFFFE;
    crop_y = crop_y & 0xFFFE;
    
  • 相关阅读:
    JSP&JavaBean
    Cookie&&Session
    多个请求使用同一个 Servlet
    C3P0--数据库连接池
    navicat设置唯一键——unique
    J2EE常用组件简介
    JSP基础知识_3
    JSP基础知识_2
    JSP基础知识_1
    Android
  • 原文地址:https://www.cnblogs.com/ichenwin/p/10822325.html
Copyright © 2011-2022 走看看