资源简介
从YUV420序列中获得指定的一帧数据,内附有YUV序列和实例,可以直接运行。
代码片段和文件信息
#include
using namespace std;
void readYuv(int frameIndex) {
int frameSize = 480 * 272 + 480 * 272 / 4 + 480 * 272 / 4;
char* buffer = (char*)malloc(frameSize);
char *yuv_file = “bigbuckbunny_480x272.yuv“;
FILE *file = fopen(yuv_file “rb“);
if(file){
if(fseek(file (frameIndex - 1) * frameSize 0) == 0){
fread(buffer frameSize 1 file);
fclose(file);
FILE* out = fopen(“bigbuckbunny_480x272_frame2.yuv“ “ab+“);
fwrite(buffer 1 frameSize out);
fclose(out);
cout << “Got the yuv.“;
} else {
cout << “File seek failed.“;
}
} else {
cout << “File open failed.“;
}
}
int main() {
readYuv(2);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-29 16:12 ReadYUV\
文件 361 2018-11-29 16:04 ReadYUV\CMakeLists.txt
文件 776 2018-11-29 16:06 ReadYUV\main.cpp
目录 0 2018-11-29 15:59 ReadYUV\yuv\
文件 391680 2018-11-29 15:51 ReadYUV\yuv\bigbuckbunny_480x272.yuv
评论
共有 条评论