I want to create a sample YUV422 Frame on Ubuntu from any image so I can code a YUV422 to RGB888 function for the sake of learning. I'd really like to be able to use a trusted tool to create a sample and convert back to a jpeg.
I've tried ImageMagick but am clearly doing something wrong:
convert -size 640x480 -depth 24 test.jpg -colorspace YUV -size 640x480 -depth 16 -sampling-factor 4:2:2 tmp422.yuv
convert -colorspace YUV -size 640x480 -depth 16 -sampling-factor 4:2:2 tmp422.yuv -size 640x480 -depth 24 -colorspace RGB test2.jpg
I've also install the mpegtools package on Ubuntu, in order to use jpeg2yuv:
>> jpeg2yuv -f 1 test.jpg
INFO: [jpeg2yuv] Reading jpeg filenames from stdin.
INFO: [jpeg2yuv] Parsing & checking input files.
**ERROR: [jpeg2yuv] System error while opening: "": No such file or directory
Clearly, something else is wrong. Could someone please shed some light on how I might accomplish this? Thanks -
Do it with ffmpeg
:
ffmpeg -i a.jpg -s 640x480 -pix_fmt yuv422p a.yuv
ffmpeg -pix_fmt yuv422p -s 640x480 -i a.yuv b.jpg