zoukankan      html  css  js  c++  java
  • 使用libyuv进行视频格式转换的时候注意事项

    libyuv源码:https://github.com/lemenkov/libyuv

    https://github.com/lemenkov/libyuv.git

    使用cmak直接构建vs2013或者其他项目然后编译;

    再使用libyuv进行格式转换的时候要清楚明白libyuv接口每个参数的意义!

    比如:

    int ConvertToI420(const uint8_t* sample,
                      size_t sample_size,
                      uint8_t* dst_y,
                      int dst_stride_y,
                      uint8_t* dst_u,
                      int dst_stride_u,
                      uint8_t* dst_v,
                      int dst_stride_v,
                      int crop_x,
                      int crop_y,
                      int src_width,
                      int src_height,
                      int crop_width,
                      int crop_height,
                      enum RotationMode rotation,
                      uint32_t fourcc);

    或者:

    int I420ToRGB24(const uint8_t* src_y,
                    int src_stride_y,
                    const uint8_t* src_u,
                    int src_stride_u,
                    const uint8_t* src_v,
                    int src_stride_v,
                    uint8_t* dst_rgb24,
                    int dst_stride_rgb24,
                    int width,
                    int height);
    dst_stride_rgb24 这个参数的意思是rgb数据的"步长" 而不是 rgb数据的大小!
    src_stride_y 这个是yuv数据中y的“步长” 实际参数就是视频数据的宽度!
    dst_stride_u 和
    dst_stride_v 实际的参数是 视频数据的 宽度/2 
     
     
  • 相关阅读:
    day06
    day05
    day04
    day03
    day02
    day01
    python-study-42
    OI 知识总览 算法篇 之 图论
    OI 知识总览 算法篇 之 基础算法
    [CSP2019-JX] 散步 解题报告
  • 原文地址:https://www.cnblogs.com/wainiwann/p/12426814.html
Copyright © 2011-2022 走看看