libswscale/output.c File Reference

#include <assert.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avutil.h"
#include "libavutil/avassert.h"
#include "libavutil/bswap.h"
#include "libavutil/cpu.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"

Go to the source code of this file.

Defines

#define output_pixel(pos, val, bias, signedness)
#define output_pixel(pos, val)
#define yuv2NBPS(bits, BE_LE, is_be, template_size, typeX_t)
#define accumulate_bit(acc, val)
#define output_pixel(pos, acc)
#define YUV2PACKEDWRAPPER(name, base, ext, fmt)
#define output_pixels(pos, Y1, U, Y2, V)
#define R_B   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? R : B)
#define B_R   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? B : R)
#define output_pixel(pos, val)
#define YUV2PACKED16WRAPPER(name, base, ext, fmt)
#define r_b   ((target == PIX_FMT_RGB24) ? r : b)
#define b_r   ((target == PIX_FMT_RGB24) ? b : r)
#define YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha)
#define YUV2RGBWRAPPER(name, base, ext, fmt, hasAlpha)

Functions

static av_always_inline void yuv2plane1_16_c_template (const int32_t *src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2planeX_16_c_template (const int16_t *filter, int filterSize, const int32_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2plane1_10_c_template (const int16_t *src, uint16_t *dest, int dstW, int big_endian, int output_bits)
static av_always_inline void yuv2planeX_10_c_template (const int16_t *filter, int filterSize, const int16_t **src, uint16_t *dest, int dstW, int big_endian, int output_bits)
 yuv2NBPS (yuv2NBPS(9, yuv2NBPS(BE, yuv2NBPS(1, yuv2NBPS(10, int16_t)
static void yuv2plane1_8_c (const int16_t *src, uint8_t *dest, int dstW, const uint8_t *dither, int offset)
static void yuv2nv12cX_c (SwsContext *c, const int16_t *chrFilter, int chrFilterSize, const int16_t **chrUSrc, const int16_t **chrVSrc, uint8_t *dest, int chrDstW)
static av_always_inline void yuv2mono_X_c_template (SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y, enum PixelFormat target)
static av_always_inline void yuv2mono_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2mono_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2422_X_c_template (SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y, enum PixelFormat target)
static av_always_inline void yuv2422_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2422_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb48_X_c_template (SwsContext *c, const int16_t *lumFilter, const int32_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int32_t **chrUSrc, const int32_t **chrVSrc, int chrFilterSize, const int32_t **alpSrc, uint16_t *dest, int dstW, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb48_2_c_template (SwsContext *c, const int32_t *buf[2], const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf[2], uint16_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb48_1_c_template (SwsContext *c, const int32_t *buf0, const int32_t *ubuf[2], const int32_t *vbuf[2], const int32_t *abuf0, uint16_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target)
static av_always_inline void yuv2rgb_write (uint8_t *_dest, int i, int Y1, int Y2, unsigned A1, unsigned A2, const void *_r, const void *_g, const void *_b, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_X_c_template (SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_2_c_template (SwsContext *c, const int16_t *buf[2], const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf[2], uint8_t *dest, int dstW, int yalpha, int uvalpha, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_1_c_template (SwsContext *c, const int16_t *buf0, const int16_t *ubuf[2], const int16_t *vbuf[2], const int16_t *abuf0, uint8_t *dest, int dstW, int uvalpha, int y, enum PixelFormat target, int hasAlpha)
static av_always_inline void yuv2rgb_full_X_c_template (SwsContext *c, const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize, const int16_t *chrFilter, const int16_t **chrUSrc, const int16_t **chrVSrc, int chrFilterSize, const int16_t **alpSrc, uint8_t *dest, int dstW, int y, enum PixelFormat target, int hasAlpha)
void ff_sws_init_output_funcs (SwsContext *c, yuv2planar1_fn *yuv2plane1, yuv2planarX_fn *yuv2planeX, yuv2interleavedX_fn *yuv2nv12cX, yuv2packed1_fn *yuv2packed1, yuv2packed2_fn *yuv2packed2, yuv2packedX_fn *yuv2packedX)

Variables

static const uint8_t dither_2x2_4 [2][8]
static const uint8_t dither_2x2_8 [2][8]
const uint8_t dither_4x4_16 [4][8]
const uint8_t dither_8x8_32 [8][8]
const uint8_t dither_8x8_73 [8][8]
const uint8_t dither_8x8_220 [8][8]


Define Documentation

#define accumulate_bit ( acc,
val   ) 

Value:

acc <<= 1; \
    acc |= (val) >= (128 + 110)

Definition at line 301 of file output.c.

Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), and yuv2mono_X_c_template().

#define b_r   ((target == PIX_FMT_RGB24) ? b : r)

#define B_R   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? B : R)

#define output_pixel ( pos,
val   ) 

Value:

if (isBE(target)) { \
        AV_WB16(pos, val); \
    } else { \
        AV_WL16(pos, val); \
    }

Definition at line 594 of file output.c.

#define output_pixel ( pos,
acc   ) 

Value:

if (target == PIX_FMT_MONOBLACK) { \
        pos = acc; \
    } else { \
        pos = ~acc; \
    }

Definition at line 594 of file output.c.

#define output_pixel ( pos,
val   ) 

Value:

if (big_endian) { \
        AV_WB16(pos, av_clip_uintp2(val >> shift, output_bits)); \
    } else { \
        AV_WL16(pos, av_clip_uintp2(val >> shift, output_bits)); \
    }

Definition at line 594 of file output.c.

#define output_pixel ( pos,
val,
bias,
signedness   ) 

Value:

if (big_endian) { \
        AV_WB16(pos, bias + av_clip_ ## signedness ## 16(val >> shift)); \
    } else { \
        AV_WL16(pos, bias + av_clip_ ## signedness ## 16(val >> shift)); \
    }

Definition at line 594 of file output.c.

Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), yuv2plane1_10_c_template(), yuv2plane1_16_c_template(), yuv2planeX_10_c_template(), yuv2planeX_16_c_template(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), and yuv2rgb48_X_c_template().

#define output_pixels ( pos,
Y1,
U,
Y2,
 ) 

Value:

if (target == PIX_FMT_YUYV422) { \
        dest[pos + 0] = Y1; \
        dest[pos + 1] = U;  \
        dest[pos + 2] = Y2; \
        dest[pos + 3] = V;  \
    } else { \
        dest[pos + 0] = U;  \
        dest[pos + 1] = Y1; \
        dest[pos + 2] = V;  \
        dest[pos + 3] = Y2; \
    }

Definition at line 449 of file output.c.

Referenced by yuv2422_1_c_template(), yuv2422_2_c_template(), and yuv2422_X_c_template().

#define r_b   ((target == PIX_FMT_RGB24) ? r : b)

#define R_B   ((target == PIX_FMT_RGB48LE || target == PIX_FMT_RGB48BE) ? R : B)

#define yuv2NBPS ( bits,
BE_LE,
is_be,
template_size,
typeX_t   ) 

Value:

static void yuv2plane1_ ## bits ## BE_LE ## _c(const int16_t *src, \
                              uint8_t *dest, int dstW, \
                              const uint8_t *dither, int offset)\
{ \
    yuv2plane1_ ## template_size ## _c_template((const typeX_t *) src, \
                         (uint16_t *) dest, dstW, is_be, bits); \
}\
static void yuv2planeX_ ## bits ## BE_LE ## _c(const int16_t *filter, int filterSize, \
                              const int16_t **src, uint8_t *dest, int dstW, \
                              const uint8_t *dither, int offset)\
{ \
    yuv2planeX_## template_size ## _c_template(filter, \
                         filterSize, (const typeX_t **) src, \
                         (uint16_t *) dest, dstW, is_be, bits); \
}

Definition at line 217 of file output.c.

#define YUV2PACKED16WRAPPER ( name,
base,
ext,
fmt   ) 

Definition at line 773 of file output.c.

#define YUV2PACKEDWRAPPER ( name,
base,
ext,
fmt   ) 

Value:

static void name ## ext ## _X_c(SwsContext *c, const int16_t *lumFilter, \
                                const int16_t **lumSrc, int lumFilterSize, \
                                const int16_t *chrFilter, const int16_t **chrUSrc, \
                                const int16_t **chrVSrc, int chrFilterSize, \
                                const int16_t **alpSrc, uint8_t *dest, int dstW, \
                                int y) \
{ \
    name ## base ## _X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
                                  chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
                                  alpSrc, dest, dstW, y, fmt); \
} \
 \
static void name ## ext ## _2_c(SwsContext *c, const int16_t *buf[2], \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf[2], uint8_t *dest, int dstW, \
                                int yalpha, int uvalpha, int y) \
{ \
    name ## base ## _2_c_template(c, buf, ubuf, vbuf, abuf, \
                                  dest, dstW, yalpha, uvalpha, y, fmt); \
} \
 \
static void name ## ext ## _1_c(SwsContext *c, const int16_t *buf0, \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf0, uint8_t *dest, int dstW, \
                                int uvalpha, int y) \
{ \
    name ## base ## _1_c_template(c, buf0, ubuf, vbuf, \
                                  abuf0, dest, dstW, uvalpha, \
                                  y, fmt); \
}

Definition at line 414 of file output.c.

#define YUV2RGBWRAPPER ( name,
base,
ext,
fmt,
hasAlpha   ) 

Value:

YUV2RGBWRAPPERX(name, base, ext, fmt, hasAlpha) \
static void name ## ext ## _2_c(SwsContext *c, const int16_t *buf[2], \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf[2], uint8_t *dest, int dstW, \
                                int yalpha, int uvalpha, int y) \
{ \
    name ## base ## _2_c_template(c, buf, ubuf, vbuf, abuf, \
                                  dest, dstW, yalpha, uvalpha, y, fmt, hasAlpha); \
} \
 \
static void name ## ext ## _1_c(SwsContext *c, const int16_t *buf0, \
                                const int16_t *ubuf[2], const int16_t *vbuf[2], \
                                const int16_t *abuf0, uint8_t *dest, int dstW, \
                                int uvalpha, int y) \
{ \
    name ## base ## _1_c_template(c, buf0, ubuf, vbuf, abuf0, dest, \
                                  dstW, uvalpha, y, fmt, hasAlpha); \
}

Definition at line 1105 of file output.c.

#define YUV2RGBWRAPPERX ( name,
base,
ext,
fmt,
hasAlpha   ) 

Value:

static void name ## ext ## _X_c(SwsContext *c, const int16_t *lumFilter, \
                                const int16_t **lumSrc, int lumFilterSize, \
                                const int16_t *chrFilter, const int16_t **chrUSrc, \
                                const int16_t **chrVSrc, int chrFilterSize, \
                                const int16_t **alpSrc, uint8_t *dest, int dstW, \
                                int y) \
{ \
    name ## base ## _X_c_template(c, lumFilter, lumSrc, lumFilterSize, \
                                  chrFilter, chrUSrc, chrVSrc, chrFilterSize, \
                                  alpSrc, dest, dstW, y, fmt, hasAlpha); \
}

Definition at line 1093 of file output.c.


Function Documentation

void ff_sws_init_output_funcs ( SwsContext c,
yuv2planar1_fn yuv2plane1,
yuv2planarX_fn yuv2planeX,
yuv2interleavedX_fn yuv2nv12cX,
yuv2packed1_fn yuv2packed1,
yuv2packed2_fn yuv2packed2,
yuv2packedX_fn yuv2packedX 
)

Definition at line 1254 of file output.c.

Referenced by sws_init_swScale_c(), and swScale().

static av_always_inline void yuv2422_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 533 of file output.c.

static av_always_inline void yuv2422_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 502 of file output.c.

static av_always_inline void yuv2422_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int16_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
int  chrFilterSize,
const int16_t **  alpSrc,
uint8_t dest,
int  dstW,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 463 of file output.c.

static av_always_inline void yuv2mono_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 387 of file output.c.

static av_always_inline void yuv2mono_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 351 of file output.c.

static av_always_inline void yuv2mono_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int16_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
int  chrFilterSize,
const int16_t **  alpSrc,
uint8_t dest,
int  dstW,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 312 of file output.c.

yuv2NBPS ( yuv2NBPS(  9,
yuv2NBPS(  BE,
yuv2NBPS(  1,
yuv2NBPS(  10,
int16_t   
)

Definition at line 233 of file output.c.

static void yuv2nv12cX_c ( SwsContext c,
const int16_t chrFilter,
int  chrFilterSize,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
uint8_t dest,
int  chrDstW 
) [static]

Definition at line 265 of file output.c.

Referenced by ff_sws_init_output_funcs().

static av_always_inline void yuv2plane1_10_c_template ( const int16_t src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 184 of file output.c.

static av_always_inline void yuv2plane1_16_c_template ( const int32_t *  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 135 of file output.c.

static void yuv2plane1_8_c ( const int16_t src,
uint8_t dest,
int  dstW,
const uint8_t dither,
int  offset 
) [static]

Definition at line 255 of file output.c.

Referenced by ff_sws_init_output_funcs().

static av_always_inline void yuv2planeX_10_c_template ( const int16_t filter,
int  filterSize,
const int16_t **  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 197 of file output.c.

static av_always_inline void yuv2planeX_16_c_template ( const int16_t filter,
int  filterSize,
const int32_t **  src,
uint16_t *  dest,
int  dstW,
int  big_endian,
int  output_bits 
) [static]

Definition at line 149 of file output.c.

static av_always_inline void yuv2rgb48_1_c_template ( SwsContext c,
const int32_t *  buf0,
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf0,
uint16_t *  dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 703 of file output.c.

static av_always_inline void yuv2rgb48_2_c_template ( SwsContext c,
const int32_t *  buf[2],
const int32_t *  ubuf[2],
const int32_t *  vbuf[2],
const int32_t *  abuf[2],
uint16_t *  dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 661 of file output.c.

static av_always_inline void yuv2rgb48_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int32_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int32_t **  chrUSrc,
const int32_t **  chrVSrc,
int  chrFilterSize,
const int32_t **  alpSrc,
uint16_t *  dest,
int  dstW,
int  y,
enum PixelFormat  target 
) [static]

Definition at line 602 of file output.c.

static av_always_inline void yuv2rgb_1_c_template ( SwsContext c,
const int16_t buf0,
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf0,
uint8_t dest,
int  dstW,
int  uvalpha,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1038 of file output.c.

static av_always_inline void yuv2rgb_2_c_template ( SwsContext c,
const int16_t buf[2],
const int16_t ubuf[2],
const int16_t vbuf[2],
const int16_t abuf[2],
uint8_t dest,
int  dstW,
int  yalpha,
int  uvalpha,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1000 of file output.c.

static av_always_inline void yuv2rgb_full_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int16_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
int  chrFilterSize,
const int16_t **  alpSrc,
uint8_t dest,
int  dstW,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 1146 of file output.c.

static av_always_inline void yuv2rgb_write ( uint8_t _dest,
int  i,
int  Y1,
int  Y2,
unsigned  A1,
unsigned  A2,
const void *  _r,
const void *  _g,
const void *  _b,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 833 of file output.c.

Referenced by yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), and yuv2rgb_X_c_template().

static av_always_inline void yuv2rgb_X_c_template ( SwsContext c,
const int16_t lumFilter,
const int16_t **  lumSrc,
int  lumFilterSize,
const int16_t chrFilter,
const int16_t **  chrUSrc,
const int16_t **  chrVSrc,
int  chrFilterSize,
const int16_t **  alpSrc,
uint8_t dest,
int  dstW,
int  y,
enum PixelFormat  target,
int  hasAlpha 
) [static]

Definition at line 946 of file output.c.


Variable Documentation

const uint8_t dither_2x2_4[2][8] [static]

Initial value:

{
{  1,   3,   1,   3,   1,   3,   1,   3, },
{  2,   0,   2,   0,   2,   0,   2,   0, },
}

Definition at line 39 of file output.c.

Referenced by yuv2rgb_write().

const uint8_t dither_2x2_8[2][8] [static]

Initial value:

{
{  6,   2,   6,   2,   6,   2,   6,   2, },
{  0,   4,   0,   4,   0,   4,   0,   4, },
}

Definition at line 44 of file output.c.

Referenced by yuv2rgb_write().

const uint8_t dither_4x4_16[4][8]

Initial value:

{
{  8,   4,  11,   7,   8,   4,  11,   7, },
{  2,  14,   1,  13,   2,  14,   1,  13, },
{ 10,   6,   9,   5,  10,   6,   9,   5, },
{  0,  12,   3,  15,   0,  12,   3,  15, },
}

Definition at line 49 of file output.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_220[8][8]

Initial value:

{
{117,  62, 158, 103, 113,  58, 155, 100, },
{ 34, 199,  21, 186,  31, 196,  17, 182, },
{144,  89, 131,  76, 141,  86, 127,  72, },
{  0, 165,  41, 206,  10, 175,  52, 217, },
{110,  55, 151,  96, 120,  65, 162, 107, },
{ 28, 193,  14, 179,  38, 203,  24, 189, },
{138,  83, 124,  69, 148,  93, 134,  79, },
{  7, 172,  48, 213,   3, 168,  45, 210, },
}

Definition at line 79 of file output.c.

Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), and yuv2rgb_write().

const uint8_t dither_8x8_32[8][8]

Initial value:

{
{ 17,   9,  23,  15,  16,   8,  22,  14, },
{  5,  29,   3,  27,   4,  28,   2,  26, },
{ 21,  13,  19,  11,  20,  12,  18,  10, },
{  0,  24,   6,  30,   1,  25,   7,  31, },
{ 16,   8,  22,  14,  17,   9,  23,  15, },
{  4,  28,   2,  26,   5,  29,   3,  27, },
{ 20,  12,  18,  10,  21,  13,  19,  11, },
{  1,  25,   7,  31,   0,  24,   6,  30, },
}

Definition at line 56 of file output.c.

Referenced by yuv2rgb_write().

const uint8_t dither_8x8_73[8][8]

Initial value:

{
{  0,  55,  14,  68,   3,  58,  17,  72, },
{ 37,  18,  50,  32,  40,  22,  54,  35, },
{  9,  64,   5,  59,  13,  67,   8,  63, },
{ 46,  27,  41,  23,  49,  31,  44,  26, },
{  2,  57,  16,  71,   1,  56,  15,  70, },
{ 39,  21,  52,  34,  38,  19,  51,  33, },
{ 11,  66,   7,  62,  10,  65,   6,  60, },
{ 48,  30,  43,  25,  47,  29,  42,  24, },
}

Definition at line 67 of file output.c.

Referenced by yuv2rgb_write().


Generated on Fri Oct 26 02:48:03 2012 for FFmpeg by  doxygen 1.5.8