[FFmpeg-user] bgra to yuv
Paul B Mahol
onemda at gmail.com
Tue Mar 27 04:29:13 CEST 2012
On 3/27/12, Josh long <funkyirish at gmail.com> wrote:
>>
>>
>>
>> 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:
libschroedinger encoder in FFmpeg supports only yuv420p, yuv422p and yuv444p.
If your input is not one of this above you can not expect encoding to be
lossless.
>
> #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
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
More information about the ffmpeg-user
mailing list