Click here to Skip to main content
15,749,281 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I use this way to convert bitmap to yuv Save bitmap to video (libavcodec ffmpeg) and then save the buffer like this: FILE* fp=fopen("aha.yuv","w"); if(!fp) return NULL; fwrite(outPic->data[0],nbytes,1,fp); fwrite(outBuffer,nbytes,1,fp); fclose(fp); but it has only several lines.All most all of the .yuv file is gray. I am sure the inbuffer points to the input BGR32 data.So where is wrong? is The way to save the outBuffer right?
http://stackoverflow.com/questions/1359620/save-bitmap-to-video-libavcodec-ffmpeg[^]
Posted
Updated 20-Apr-13 7:00am
v2

1 solution

1. Please format your Source with code tag like this
FILE* fp=fopen("aha.yuv","w");
if(!fp) return NULL;
fwrite(outPic->data[0],nbytes,1,fp); 
fwrite(outBuffer,nbytes,1,fp);
fclose(fp);


2. You should use fopen() in binary mode

3. Can´t see writing you Fileheader or Bitmap-Header, only Data

4. There are several ways to store YUV-Images, see:

YUVIT - open source convertor to YUV colorspace
https://github.com/stunpix/yuvit

yuv : Planar format
yuyv : Packed format
uyvy : Packed format
 
Share this answer
 
Comments
liaoyuandeyehuo 21-Apr-13 23:24pm    
The YUVIT is too big for me now.I have no much time to read it.
I try to use fopen() in binary mode and use anther way to convert it,and it's ok now.
Thanks for your help.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900