Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ ffmpeg encode
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 20-Apr-13 7:59am
Edited 20-Apr-13 8:00am
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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
  Permalink  
Comments
liaoyuandeyehuo at 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)

  Print Answers RSS
0 OriginalGriff 304
1 Sergey Alexandrovich Kryukov 255
2 Shweta N Mishra 216
3 Maciej Los 210
4 PIEBALDconsult 174
0 OriginalGriff 7,660
1 Sergey Alexandrovich Kryukov 7,072
2 DamithSL 5,586
3 Manas Bhardwaj 4,946
4 Maciej Los 4,665


Advertise | Privacy | Mobile
Web01 | 2.8.1411023.1 | Last Updated 21 Apr 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100