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

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

cpp 复制代码
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;
}
相关推荐
Larry_Yanan17 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
R-G-B18 小时前
【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示
c++·mfc·mfc运行 不显界面·mfc界面不显示
Madison-No718 小时前
【C++】探秘vector的底层实现
java·c++·算法
晚风残18 小时前
【C++ Primer】第十二章:动态内存管理
开发语言·c++·c++ primer
liu****19 小时前
8.list的模拟实现
linux·数据结构·c++·算法·list
保持低旋律节奏19 小时前
C++ stack、queue栈和队列的使用——附加算法题
c++
初圣魔门首席弟子19 小时前
【C++ 学习】单词统计器:从 “代码乱炖” 到 “清晰可品” 的复习笔记
开发语言·c++
十五年专注C++开发19 小时前
CFF Explorer: 一款Windows PE 文件分析的好工具
c++·windows·microsoft
郝学胜-神的一滴20 小时前
计算机图形学中的光照模型:从基础到现代技术
开发语言·c++·程序人生·图形渲染