MythTV  master
Macros | Functions | Variables
util-opengl.cpp File Reference
#include <cstring>
#include <cstdint>
#include <QSize>
#include "compat.h"
#include "util-opengl.h"
#include "ffmpeg-mmx.h"
Include dependency graph for util-opengl.cpp:

Go to the source code of this file.

Macros

#define MYTH_PACKED
 

Functions

static void mmx_pack_alpha1s_high (const uint8_t *y1, const uint8_t *y2)
 
static void mmx_pack_alpha1s_low (const uint8_t *y1, const uint8_t *y2)
 
static void mmx_pack_middle (uint8_t *dest1, uint8_t *dest2)
 
static void mmx_pack_end (uint8_t *dest1, uint8_t *dest2)
 
static void mmx_pack_easy (uint8_t *dest, const uint8_t *y)
 
static void mmx_interp_start (const uint8_t *left, const uint8_t *right)
 
static void mmx_interp_endu (void)
 
static void mmx_interp_endv (void)
 
static void mmx_pack_chroma (const uint8_t *u, const uint8_t *v)
 
static void c_interp (unsigned dest[4], unsigned a, unsigned b, unsigned c, unsigned d)
 
static unsigned c_pack2 (uint8_t dest[], uint8_t v, uint8_t u, uint8_t y1, uint8_t y2)
 
void pack_yv12progressive (const unsigned char *source, const unsigned char *dest, const int *offsets, const int *pitches, const QSize &size)
 
void pack_yv12interlaced (const unsigned char *source, unsigned char *dest, const int offsets[3], const int pitches[3], const QSize &size)
 

Variables

static const mmx_t mmx_1s = {0xffffffffffffffffULL}
 
static const mmx_t mmx_0s = {0x0000000000000000LL}
 
static const mmx_t mmx_round = {0x0002000200020002LL}
 

Macro Definition Documentation

◆ MYTH_PACKED

#define MYTH_PACKED

Definition at line 179 of file util-opengl.cpp.

Function Documentation

◆ mmx_pack_alpha1s_high()

static void mmx_pack_alpha1s_high ( const uint8_t *  y1,
const uint8_t *  y2 
)
inlinestatic

Definition at line 18 of file util-opengl.cpp.

Referenced by pack_yv12progressive().

◆ mmx_pack_alpha1s_low()

static void mmx_pack_alpha1s_low ( const uint8_t *  y1,
const uint8_t *  y2 
)
inlinestatic

Definition at line 26 of file util-opengl.cpp.

Referenced by pack_yv12progressive().

◆ mmx_pack_middle()

static void mmx_pack_middle ( uint8_t *  dest1,
uint8_t *  dest2 
)
inlinestatic

Definition at line 34 of file util-opengl.cpp.

Referenced by pack_yv12progressive().

◆ mmx_pack_end()

static void mmx_pack_end ( uint8_t *  dest1,
uint8_t *  dest2 
)
inlinestatic

Definition at line 56 of file util-opengl.cpp.

Referenced by pack_yv12progressive().

◆ mmx_pack_easy()

static void mmx_pack_easy ( uint8_t *  dest,
const uint8_t *  y 
)
inlinestatic

Definition at line 76 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ mmx_interp_start()

static void mmx_interp_start ( const uint8_t *  left,
const uint8_t *  right 
)
inlinestatic

Definition at line 108 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ mmx_interp_endu()

static void mmx_interp_endu ( void  )
inlinestatic

Definition at line 125 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ mmx_interp_endv()

static void mmx_interp_endv ( void  )
inlinestatic

Definition at line 132 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ mmx_pack_chroma()

static void mmx_pack_chroma ( const uint8_t *  u,
const uint8_t *  v 
)
inlinestatic

Definition at line 139 of file util-opengl.cpp.

Referenced by pack_yv12interlaced(), and pack_yv12progressive().

◆ c_interp()

static void c_interp ( unsigned  dest[4],
unsigned  a,
unsigned  b,
unsigned  c,
unsigned  d 
)
inlinestatic

Definition at line 148 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ c_pack2()

static unsigned c_pack2 ( uint8_t  dest[],
uint8_t  v,
uint8_t  u,
uint8_t  y1,
uint8_t  y2 
)
inlinestatic

Definition at line 181 of file util-opengl.cpp.

Referenced by pack_yv12interlaced().

◆ pack_yv12progressive()

void pack_yv12progressive ( const unsigned char *  source,
const unsigned char *  dest,
const int *  offsets,
const int *  pitches,
const QSize &  size 
)

Definition at line 195 of file util-opengl.cpp.

Referenced by OpenGLVideo::UpdateInputFrame().

◆ pack_yv12interlaced()

void pack_yv12interlaced ( const unsigned char *  source,
unsigned char *  dest,
const int  offsets[3],
const int  pitches[3],
const QSize &  size 
)

Definition at line 295 of file util-opengl.cpp.

Referenced by OpenGLVideo::UpdateInputFrame().

Variable Documentation

◆ mmx_1s

const mmx_t mmx_1s = {0xffffffffffffffffULL}
static

Definition at line 16 of file util-opengl.cpp.

Referenced by mmx_pack_alpha1s_high(), mmx_pack_alpha1s_low(), and mmx_pack_easy().

◆ mmx_0s

const mmx_t mmx_0s = {0x0000000000000000LL}
static

Definition at line 105 of file util-opengl.cpp.

Referenced by mmx_interp_start().

◆ mmx_round

const mmx_t mmx_round = {0x0002000200020002LL}
static

Definition at line 106 of file util-opengl.cpp.

Referenced by mmx_interp_start().