ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

yuv_to_rgb.cpp File Reference

#include "graphics/surface.h"
#include "graphics/yuv_to_rgb.h"
Include dependency graph for yuv_to_rgb.cpp:

Go to the source code of this file.

Classes

class  Graphics::YUVToRGBLookup

Namespaces

namespace  Common
 

Internal interface to the QuickTime audio decoder.


namespace  Graphics

Defines

#define PUT_PIXEL(s, d)
#define READ_QUAD(ptr, prefix)
#define DO_INTERPOLATION(out)
#define DO_YUV410_PIXEL()

Functions

 Common::DECLARE_SINGLETON (Graphics::YUVToRGBManager)
template<typename PixelInt >
void Graphics::convertYUV444ToRGB (byte *dstPtr, int dstPitch, const YUVToRGBLookup *lookup, int16 *colorTab, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch)
template<typename PixelInt >
void Graphics::convertYUV420ToRGB (byte *dstPtr, int dstPitch, const YUVToRGBLookup *lookup, int16 *colorTab, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch)
template<typename PixelInt >
void Graphics::convertYUV410ToRGB (byte *dstPtr, int dstPitch, const YUVToRGBLookup *lookup, int16 *colorTab, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch)

Define Documentation

#define DO_INTERPOLATION (   out  ) 
Value:
out = (out##A * (4 - xDiff) * (4 - yDiff) + out##B * xDiff * (4 - yDiff) + \
            out##C * yDiff * (4 - xDiff) + out##D * xDiff * yDiff) >> 4

Definition at line 307 of file yuv_to_rgb.cpp.

#define DO_YUV410_PIXEL (  ) 
Value:
DO_INTERPOLATION(u); \
    DO_INTERPOLATION(v); \
    \
    cr_r  = Cr_r_tab[v]; \
    crb_g = Cr_g_tab[v] + Cb_g_tab[u]; \
    cb_b  = Cb_b_tab[u]; \
    \
    PUT_PIXEL(*ySrc, dstPtr); \
    dstPtr += sizeof(PixelInt); \
    \
    ySrc++; \
    xDiff++

Definition at line 311 of file yuv_to_rgb.cpp.

#define PUT_PIXEL (   s,
  d 
)
Value:
L = &rgbToPix[(s)]; \
    *((PixelInt *)(d)) = (L[cr_r] | L[crb_g] | L[cb_b])

Definition at line 195 of file yuv_to_rgb.cpp.

#define READ_QUAD (   ptr,
  prefix 
)
Value:
byte prefix##A = ptr[index]; \
    byte prefix##B = ptr[index + 1]; \
    byte prefix##C = ptr[index + uvPitch]; \
    byte prefix##D = ptr[index + uvPitch + 1]

Definition at line 301 of file yuv_to_rgb.cpp.



Generated on Sat Feb 9 2019 05:02:07 for ResidualVM by doxygen 1.7.1
curved edge   curved edge