[FFmpeg-user] bgra to yuv
Josh long
funkyirish at gmail.com
Tue Mar 27 04:12:52 CEST 2012
>
>
>
> Converting from one colorspace to another one may not be lossless.
>
> So if you do not want distortions at all only colorspace conversions which
> are
> actually lossless should be used.
>
> Aah, I've realized that ffmpeg first converts to yuv420 and then employs
the libschroedinger codec. For some reason I've been under the impression
that yuv444p and bgra are lossless equivalents, so now I use the following
code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main(){
char out[120];
int a;
for(a=0;a<25;a++){
sprintf(out,"ffmpeg -i 0libschbgra%d.avi -vcodec rawvideo -pix_fmt
yuv444p -q 0 -global_quality 0 0libsch444%d.avi\n",a,a);
system(out);
sprintf(out,"ffmpeg -i 0libsch444%d.avi -vcodec libschroedinger -q 0
-global_quality 0 0libsch%d.avi\n",a,a);
system(out);
sprintf(out,"ffmpeg -i 0libsch%d.avi -vcodec rawvideo -pix_fmt bgra -q 0
0libschbgra%d.avi\n",a,a+1);
system(out);
}
}
This ends up in garbage as well so I'm going to try to convert to yuv444p
once and then stay there; I'll post that when it finishes. However I've
noticed that after converting from bgra to yuv444p my video is all
grayscale and split into 9 sections which consist of 3 seemingly repeated
columns of three different rows. Is this a bug in vlc, or am I just doing
this wrong?
Thanks for the help again, I think this is getting closer.
I'm also going to try converting to yuva444p, and then yuv444p in case that
works better.
Joshua
More information about the ffmpeg-user
mailing list