惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
罗磊的独立博客
小众软件
小众软件
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
博客园_首页
N
Netflix TechBlog - Medium
B
Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
Jina AI
Jina AI
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
博客园 - 【当耐特】

博客园 - 安承坤

河与故人 海里,河里洗澡 拾遗补缺 村里白事传统“忙kei”总结篇 养生的尽头是养情绪 欲望很强大是不是有问题? 2025年10月15号随笔 那时候不但没有电视,连电都没有,吃过晚饭后还是先睡觉。睡到三星正响时被母亲悄悄地叫起来。起来穿上新衣,感觉特别神秘、特别寒冷,牙齿嘚嘚地打着战/不被大风吹倒·过年 初中的复读机! 锡城之热 那年的夏天 新的1年 新的1年 今天到了10月20日留笔 时间如长河,最近斗志若失!我辈当发奋图强! 致我姥爷 时间感觉过的好快 转载-【C++】从零开始,只使用FFmpeg,Win32 API,实现一个播放器(一)(二)(转载) 梳理情绪解决问题 博文阅读密码验证 - 博客园 PS切图教程记录 博文阅读密码验证 - 博客园
使用libyuv进行视频格式转换的时候注意事项
清承 · 2020-03-06 · via 博客园 - 安承坤

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