[Libav-user] Coversion from YUV to RGB loss of image details

Sampath Subasinghe susiriss at gmail.com
Wed Jun 6 04:22:36 CEST 2012


On 06/05/2012 12:28 PM, Carl Eugen Hoyos wrote:
> Sampath Subasinghe <susiriss at ...> writes:
>
>> 1. RGB - YUV conversion
>> 2. YUV - RGB conversion
>>
>> Issue is that in the image output from step 2, the right
>> edge of the image is missing, means the pixels are black.
> Is this also reproducible if you use ffmpeg (the application)?
> If yes, please provide a command line and complete, uncut
> console output.
Hi Carl,
     I was wondering whether this is what you meant. I have the original 
image as a ppm image.
then I do,
ffmpeg - i ref.ppm ref.yuv
which outputs following at the command line

ffmpeg version 0.10.2 Copyright (c) 2000-2012 the FFmpeg developers
   built on Apr 27 2012 07:58:14 with gcc 4.4.5
   configuration: --enable-shared --enable-gpl --enable-nonfree 
--enable-x11grab --enable-libfaac --enable-libfreetype 
--enable-libmp3lame --enable-libx264 --enable-pic
   WARNING: library configuration mismatch
   avutil      configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   avfilter    configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   swresample  configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   libavutil      51. 35.100 / 51. 47.100
   libavcodec     53. 61.100 / 53. 61.100
   libavformat    53. 32.100 / 53. 32.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 61.100 /  2. 72.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  6.100 /  0. 11.100
   libpostproc    52.  0.100 / 52.  0.100
Input #0, image2, from 'ref.ppm':
   Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: ppm, rgb24, 45x32, 25 tbr, 25 tbn, 25 tbc
[buffer @ 0x1d457a0] w:45 h:32 pixfmt:rgb24 tb:1/1000000 sar:0/1 sws_param:
Output #0, rawvideo, to 'ref.yuv':
   Metadata:
     encoder         : Lavf53.32.100
     Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 45x32, 
q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
   Stream #0:0 -> #0:0 (ppm -> rawvideo)
Press [q] to stop, [?] for help
frame=    1 fps=  0 q=0.0 Lsize=       4kB time=00:00:00.04 bitrate= 
864.0kbits/s
video:4kB audio:0kB global headers:0kB muxing overhead 0.000000%
-----------------------------------

Which of course has warnings in it.

Then I do
     ffmpeg -i ref.yuv ref.ppm
which outputs following.
-----------------------------------------
ffmpeg -i ref.yuv ref.ppm
ffmpeg version 0.10.2 Copyright (c) 2000-2012 the FFmpeg developers
   built on Apr 27 2012 07:58:14 with gcc 4.4.5
   configuration: --enable-shared --enable-gpl --enable-nonfree 
--enable-x11grab --enable-libfaac --enable-libfreetype 
--enable-libmp3lame --enable-libx264 --enable-pic
   WARNING: library configuration mismatch
   avutil      configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   avfilter    configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   swresample  configuration: --enable-gpl --enable-nonfree 
--enable-shared --disable-ffserver --enable-x11grab --enable-libaacplus 
--enable-libfaac --enable-libfreetype --enable-libmp3lame 
--enable-libx264 --enable-pic
   libavutil      51. 35.100 / 51. 47.100
   libavcodec     53. 61.100 / 53. 61.100
   libavformat    53. 32.100 / 53. 32.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 61.100 /  2. 72.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  6.100 /  0. 11.100
   libpostproc    52.  0.100 / 52.  0.100
[IMGUTILS @ 0x7fff69baf6a0] Picture size 0x0 is invalid
[IMGUTILS @ 0x7fff69baf580] Picture size 0x0 is invalid
[rawvideo @ 0x1e8e3a0] decoding for stream 0 failed
[rawvideo @ 0x1e8e3a0] Could not find codec parameters (Video: rawvideo, 
yuv420p)
[rawvideo @ 0x1e8e3a0] Estimating duration from bitrate, this may be 
inaccurate
ref.yuv: could not find codec parameters
-----------------------------------------------------
I know, my command has errors, but I don't have an idea as to how I 
should test the scenario you mentioned. Could you please give me a 
sample command line?

thanks.
-Sampath



More information about the Libav-user mailing list