当前位置: 首页 > article >正文

【视频】将yuv420p的一帧数据写入文件

在做视频渲染的时候经常需要将中间的yuv数据保存到文件中进行查看,下面的方法介绍了如何将yuv420p的数据写入到文件中:

bool saveYuvFile(const std::string& filename, const uint8_t* yuvData, size_t width, size_t height)
{
    std::ofstream file(filename, std::ios::binary);
    if (!file)
    {
        return false;
    }

    size_t ySize = width * height;
    size_t uvSize = (width / 2) * (height / 2);
    
    // Reserve space for YUV data to avoid multiple reallocations
    file.seekp(ySize + uvSize * 2 - 1);
    file.write("", 1);
    file.seekp(0);

    // Write YUV data directly to the file
    file.write(reinterpret_cast<const char*>(yuvData), ySize + uvSize * 2);
    
    file.close();
    return true;
}

http://www.kler.cn/a/455455.html

相关文章:

  • 深入解析 Pytest 钩子函数及二次开发过程
  • 测序文章数据上传找哪里
  • python递归最多多少层
  • 【c语言】简单的c程序设计
  • 【elementplus】中文模式
  • 基于SpringBoot的“房产销售平台”的设计与实现(源码+数据库+文档+PPT)
  • ESP8266与阿里云物联网平台连接
  • 电商会员门店消费数据分析
  • 自定义 Element Plus 树状表格图标
  • “declarative data-parallel operators“与“MapReduce”
  • 【网络分析工具】WireShark的使用(超详细)
  • 华为IoTDA 智慧路灯设备SDK与平台通信C 流程bug解决
  • Android Java 版本的 MSAA OpenGL ES 多重采样
  • AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录
  • SpringCloudAlibaba升级手册-nacos问题记录
  • C# Winform简单的俄罗斯方块小游戏源码2
  • 深入理解Composer自动加载机制
  • Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
  • 云图库平台(三)——后端用户模块开发
  • 查看php已安装扩展命令
  • 《CS2》报错dxgi.dll缺失怎么办?《CS2》游戏提示dxgi.dll缺失要怎么解决?
  • SpringBoot3——核心原理
  • 基于STM32的智能温湿度监控与自动调节系统设计
  • 嵌入式硬件杂谈(七)IGBT MOS管 三极管应用场景与区别
  • linux 中 Vi 和 Vim 的使用
  • openssh9.9P1-CentOS7升级包