aboutsummaryrefslogtreecommitdiff
path: root/graphics/yuv_to_rgb.h
diff options
context:
space:
mode:
authorMatthew Hoops2012-04-14 17:06:31 -0400
committerMatthew Hoops2012-04-14 17:06:31 -0400
commit473a09786d0688e7ab9689be4f6e60172a288cb2 (patch)
treea882b293fe948ce72ed4b3f6aafccde6482a3ce5 /graphics/yuv_to_rgb.h
parent870ab35f5b184bc7af950437de4e5cb4f2afeddd (diff)
downloadscummvm-rg350-473a09786d0688e7ab9689be4f6e60172a288cb2.tar.gz
scummvm-rg350-473a09786d0688e7ab9689be4f6e60172a288cb2.tar.bz2
scummvm-rg350-473a09786d0688e7ab9689be4f6e60172a288cb2.zip
GRAPHICS: Make YUV410 conversion code use bilinear interpolation
SVQ1 no longer looks blocky and now looks a lot closer to what QuickTime outputs
Diffstat (limited to 'graphics/yuv_to_rgb.h')
-rw-r--r--graphics/yuv_to_rgb.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/graphics/yuv_to_rgb.h b/graphics/yuv_to_rgb.h
index 52ab2ebdfb..73a2c69d7d 100644
--- a/graphics/yuv_to_rgb.h
+++ b/graphics/yuv_to_rgb.h
@@ -67,6 +67,11 @@ void convertYUV420ToRGB(Graphics::Surface *dst, const byte *ySrc, const byte *uS
/**
* Convert a YUV410 image to an RGB surface
*
+ * Since the chroma has a very low resolution in 410, we perform bilinear scaling
+ * on the two chroma planes to produce the image. The chroma planes must have
+ * at least one extra row that can be read from in order to produce a proper
+ * image (filled with 0x80). This is required in order to speed up this function.
+ *
* @param dst the destination surface
* @param ySrc the source of the y component
* @param uSrc the source of the u component