【开源项目】保存YUV420数据到本地
生活随笔
收集整理的這篇文章主要介紹了
【开源项目】保存YUV420数据到本地
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
void SaveYUV420(AVFrame* Frameyuv)
{//********************** 保存YUV數據FILE *yuv_file = fopen("yuv_file", "ab");if (yuv_file){qDebug() << "OK-----------";}char* buf = new char[Frameyuv->height * Frameyuv->width * 3 / 2];memset(buf, 0, Frameyuv->height * Frameyuv->width * 3 / 2);int height = Frameyuv->height;int width = Frameyuv->width;printf("decode video ok\n");int a = 0, i;for (i = 0; i < height; i++){memcpy(buf + a, Frameyuv->data[0] + i * Frameyuv->linesize[0], width);a += width;}for (i = 0; i < height / 2; i++){memcpy(buf + a, Frameyuv->data[1] + i * Frameyuv->linesize[1], width / 2);a += width / 2;}for (i = 0; i < height / 2; i++){memcpy(buf + a, Frameyuv->data[2] + i * Frameyuv->linesize[2], width / 2);a += width / 2;}fwrite(buf, 1, Frameyuv->height * Frameyuv->width * 3 / 2, yuv_file);delete buf;buf = NULL;fclose(yuv_file);
}
?
總結
以上是生活随笔為你收集整理的【开源项目】保存YUV420数据到本地的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 官庄工区最新开工项目(官庄工区最新备案项
- 下一篇: 安卓7彩蛋怎么玩(安卓7彩蛋)