- What’s sampling format?This is the format to define how the three components (Y,U, V or R, G, B) are sampled, including :
- YUV 4:4:4: Y, U and V are all in sampling format, no being down-sampled
- YUV 4:2:2: Y is in full sampling format, while U and V are down-sampled horizontally
- YUV 4:2:0: Y is in full sampling format, while U and V are down-sampled both vertically and horizontally
- RGB 4:4:4: R, G and B are all in sampling format, no being down-sampled
- What’s interlace/progressive format?This is to define whether the video frame (the whole image) is a single progressive frame, or two interlaced fields
- One single progressive frame:
- What’s pixel packing format?This setting is used to specify the organization of YUV components for each pixel, whether in planar format or packed format:
- planar format: Y values for all pixels are put together, as well as U and V, like: YYYYYY……UUUUUUU…….VVVVVV……
- packed format: pixel YUV value are packed together as: YUV, YUV, YUV,….
- How many resolutions yuvtools support?We support several pre-defined resolutions (QCIF, CIF, 4CIF.. etc) and customized resolution:
- Customized: user specified image height and width.
- How many combined formats yuvtools support?Resolution setting only effects image size, while other four settings will define the data structure of each YUV file. So, we consider only four different sampling formats. The combination of sampling format (3 formats), component order (2 or 3 formats), interlace/progressive format (2 formats) and pixel packing format (2 formats) will generate 30 formats:RGB 4:4:4 format:
- BGR-444-progressive-planar;YUV 4:4:4 format:
- UYV-444-progressive-planar;YUV 4:2:2 format:
- YUV-422-interlaced-planar (YV16);
- YUYV-422-progressive-packed (YUY2, YUNV, V422, YUYV);
- UYVY-422-interlaced-packed (IUYV);
- UYVY-422-progressive-packed (UYVY, UYNV, Y422 );
- YVYU-422-progressive-packed (YVYU);
- YVU-422-progressive-planar;YUV 4:2:0 format:
- YUV-420-progressive-planar (IYUV, I420);
- YVU-420-interlaced-planar (YV12);
To see the examples of each format, please refer to Example page .
- Which formula is used in yuvtools to convert between RGB and YUV?There are many variations of formula to convert between YUV and RGB. We support two types of conversion:* ITU-R 601 for SDTV:
RGB to YUV Conversion:
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
U = -(0.148 * R) – (0.291 * G) + (0.439 * B) + 128
V = (0.439 * R) – (0.368 * G) – (0.071 * B) + 128
YUV to RGB Conversion:
B = 1.164(Y – 16) + 2.018(U – 128)
G = 1.164(Y – 16) – 0.813(V – 128) – 0.391(U – 128)
R = 1.164(Y – 16) + 1.596(V – 128)
* ITU-R 709 for HDTV:
RGB to YUV Conversion:
Y = (0.183 * R) + (0.614 * G) + (0.062 * B) + 16
U = -(0.101 * R) – (0.338 * G) + (0.439 * B) + 128
V = (0.439 * R) – (0.399 * G) – (0.040 * B) + 128
YUV to RGB Conversion:
B = 1.164(Y – 16) + 1.793(U – 128)
G = 1.164(Y – 16) – 0.534(V – 128) – 0.213(U – 128)
R = 1.164(Y – 16) + 2.115(V – 128)
Please refer to color Conversion article
- Where can I download YUV video data?You can find some clips from:
or search “yuv 4:2:0” from google.com.
- Why I get an error when I open the help file “YUVTools.chm”?Some customers reported that they have problem to open YUVTools.chm file, get error like following:
CHM files are basically compiled HTML web page files. Windows put some security checks before open the file if the file is downloaded from the Internet. To fix, you can try:
- Make sure the file is not saved in Windows temporary file folder. Copy the file to your data folder.
- Make sure the file is not saved in network shared folder.
- Change the file property. Right clik on the file, you will see the drop down menu like this:Click on “Unlokck” button on the bottom part.
- What kind of container format the libraries support?The video coding libraries (H.263, MPEG2, MPEG4) only accept video elementary stream, which already demultiplexed from any container format (AVI, MPEG2 System, MP4, etc).
- Does JPEG decoder in VIC Libraries support progressive scan?Yes.
- Does H.263 decoder in VIC Libraries support H.263+?H.263+ adds more coding tools ( called annex ) on top of H.263. H.263 decoder in VIC Libraries only supports H.263, not include those annexes.
- I can download some open source codec libraries, like ffmpeg, why I need VIC libraries ?First, when you use open source code, you may need to open your own code back to the open source community; second, open-source library intends to build on other third party libraries, or is very big by itself, and all modules are tangled together. It is hard to extract one or two codec. Even when you only need one or two codec, you have to include all of them.