xine-lib 1.2.13-20230125hg15249
|
Data Structures | |
struct | rgb2yuy2_s |
Macros | |
#define | ALIGN4(ptr) ((uintptr_t)(ptr) & ~(uintptr_t)3) |
#define | C_YUV420_YUYV_PROGRESSIVE(p_y1, p_y2, p_u, p_ut, p_ub, p_v, p_vt, p_vb, p_line1, p_line2) |
#define | C_YUV420_YUYV_INTERLACED(p_y1, p_y2, p_u, p_ut, p_ub, p_v, p_vt, p_vb, p_line1, p_line2) |
#define | C_YUYV_YUV420() |
#define | KB 0.114 |
#define | KR 0.299 |
#define | YR (219.0/255.0)*KR*SCALEFACTOR |
#define | YG (219.0/255.0)*(1.0-KB-KR)*SCALEFACTOR |
#define | YB (219.0/255.0)*KB*SCALEFACTOR |
#define | UR (112.0/255.0)*(KR/(KB-1.0))*SCALEFACTOR |
#define | UG (112.0/255.0)*((1.0-KB-KR)/(KB-1.0))*SCALEFACTOR |
#define | UB (112.0/255.0)*SCALEFACTOR |
#define | VR (112.0/255.0)*SCALEFACTOR |
#define | VG (112.0/255.0)*((1.0-KB-KR)/(KR-1.0))*SCALEFACTOR |
#define | VB (112.0/255.0)*(KB/(KR-1.0))*SCALEFACTOR |
#define | GET_Y(v) ((v) >> 13) |
#define | GET_U(v) ((v) >> 55) |
#define | GET_V(v) ((v) >> 34) |
Enumerations | |
enum | rgb_fmt_t { rgb_bgr = 0 , rgb_rgb , rgb_bgra , rgb_argb , rgb_rgba , rgb_rgb555le , rgb_rgb555be , rgb_rgb565le , rgb_rgb565be , rgb_bgra_clut , rgb_rgba_clut , rgb_pal8 , rgb_pal4 , rgb_pal2 , rgb_pal1 } |
Functions | |
void | init_yuv_planes (yuv_planes_t *yuv_planes, int width, int height) |
void | free_yuv_planes (yuv_planes_t *yuv_planes) |
static void | yuv444_to_yuy2_c (const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch) |
static void | hscale_chroma_line (uint8_t *restrict dst, const uint8_t *restrict src, int src_width) |
static void | vscale_chroma_line (uint8_t *restrict dst, int pitch, const uint8_t *restrict src1, const uint8_t *restrict src2, int width) |
static void | upsample_c_plane_c (const uint8_t *src, int src_width, int src_height, uint8_t *dest, unsigned int src_pitch, unsigned int dest_pitch) |
static void | yuv9_to_yv12_c (const uint8_t *restrict y_src, int y_src_pitch, uint8_t *restrict y_dest, int y_dest_pitch, const uint8_t *restrict u_src, int u_src_pitch, uint8_t *restrict u_dest, int u_dest_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict v_dest, int v_dest_pitch, int width, int height) |
static void | yuv411_to_yv12_c (const uint8_t *restrict y_src, int y_src_pitch, uint8_t *restrict y_dest, int y_dest_pitch, const uint8_t *restrict u_src, int u_src_pitch, uint8_t *restrict u_dest, int u_dest_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict v_dest, int v_dest_pitch, int width, int height) |
static void | yv12_to_yuy2_c (const uint8_t *restrict y_src, int y_src_pitch, const uint8_t *restrict u_src, int u_src_pitch, const uint8_t *restrict v_src, int v_src_pitch, uint8_t *restrict yuy2_map, int yuy2_pitch, int width, int height, int progressive) |
static void | yuy2_to_yv12_c (const uint8_t *restrict yuy2_map, int yuy2_pitch, uint8_t *restrict y_dst, int y_dst_pitch, uint8_t *restrict u_dst, int u_dst_pitch, uint8_t *restrict v_dst, int v_dst_pitch, int width, int height) |
void | init_yuv_conversion (void) |
rgb2yuy2_t * | rgb2yuy2_alloc (int color_matrix, const char *format) |
void | rgb2yuy2_free (rgb2yuy2_t *rgb2yuy2) |
void | rgb2yuy2_palette (rgb2yuy2_t *rgb2yuy2, const uint8_t *pal, int num_colors, int bits_per_pixel) |
void | rgb2yuy2_slice (rgb2yuy2_t *rgb2yuy2, const uint8_t *restrict in, int ipitch, uint8_t *restrict out, int opitch, int width, int height) |
void | rgb2yv12_slice (rgb2yuy2_t *rgb2yuy2, const uint8_t *src, int src_stride, uint8_t *y_dst, int y_pitch, uint8_t *u_dst, int u_pitch, uint8_t *v_dst, int v_pitch, int width, int height) |
Variables | |
int | y_r_table [256] |
int | y_g_table [256] |
int | y_b_table [256] |
int | uv_br_table [256] |
int | u_r_table [256] |
int | u_g_table [256] |
int | v_b_table [256] |
int | v_g_table [256] |
int | u_b_table [256] |
int | v_r_table [256] |
void(* | yuv444_to_yuy2 )(const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch) |
void(* | yuv9_to_yv12 )(const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height) |
void(* | yuv411_to_yv12 )(const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height) |
void(* | yv12_to_yuy2 )(const unsigned char *y_src, int y_src_pitch, const unsigned char *u_src, int u_src_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *yuy2_map, int yuy2_pitch, int width, int height, int progressive) |
void(* | yuy2_to_yv12 )(const unsigned char *yuy2_map, int yuy2_pitch, unsigned char *y_dst, int y_dst_pitch, unsigned char *u_dst, int u_dst_pitch, unsigned char *v_dst, int v_dst_pitch, int width, int height) |
#define ALIGN4 | ( | ptr | ) | ((uintptr_t)(ptr) & ~(uintptr_t)3) |
Referenced by rgb2yuy2_slice(), and vscale_chroma_line().
#define C_YUV420_YUYV_INTERLACED | ( | p_y1, | |
p_y2, | |||
p_u, | |||
p_ut, | |||
p_ub, | |||
p_v, | |||
p_vt, | |||
p_vb, | |||
p_line1, | |||
p_line2 ) |
Referenced by yv12_to_yuy2_c().
#define C_YUV420_YUYV_PROGRESSIVE | ( | p_y1, | |
p_y2, | |||
p_u, | |||
p_ut, | |||
p_ub, | |||
p_v, | |||
p_vt, | |||
p_vb, | |||
p_line1, | |||
p_line2 ) |
Referenced by yv12_to_yuy2_c().
#define C_YUYV_YUV420 | ( | ) |
Referenced by yuy2_to_yv12_c().
Referenced by rgb2yuy2_slice().
Referenced by rgb2yuy2_slice().
Referenced by rgb2yuy2_slice().
#define KB 0.114 |
#define KR 0.299 |
#define UB (112.0/255.0)*SCALEFACTOR |
#define UG (112.0/255.0)*((1.0-KB-KR)/(KB-1.0))*SCALEFACTOR |
#define UR (112.0/255.0)*(KR/(KB-1.0))*SCALEFACTOR |
#define VB (112.0/255.0)*(KB/(KR-1.0))*SCALEFACTOR |
#define VG (112.0/255.0)*((1.0-KB-KR)/(KR-1.0))*SCALEFACTOR |
#define VR (112.0/255.0)*SCALEFACTOR |
#define YB (219.0/255.0)*KB*SCALEFACTOR |
#define YG (219.0/255.0)*(1.0-KB-KR)*SCALEFACTOR |
#define YR (219.0/255.0)*KR*SCALEFACTOR |
enum rgb_fmt_t |
void free_yuv_planes | ( | yuv_planes_t * | yuv_planes | ) |
References yuv_planes_s::u, yuv_planes_s::v, xine_freep_aligned, and yuv_planes_s::y.
Referenced by goom_port_close(), and goom_port_put_buffer().
|
static |
References v.
Referenced by upsample_c_plane_c().
void init_yuv_conversion | ( | void | ) |
References CENTERSAMPLE, MM_ACCEL_X86_MMX, MM_ACCEL_X86_MMXEXT, MM_ACCEL_X86_SSE2, SCALEFACTOR, u_b_table, u_g_table, u_r_table, UB, UG, UR, uv_br_table, v_b_table, v_g_table, v_r_table, VB, VG, VR, xine_mm_accel(), y_b_table, y_g_table, y_r_table, YB, YG, YR, yuv411_to_yv12, yuv411_to_yv12_c(), yuv444_to_yuy2, yuv444_to_yuy2_c(), yuv9_to_yv12, yuv9_to_yv12_c(), yuy2_to_yv12, yuy2_to_yv12_c(), yv12_to_yuy2, and yv12_to_yuy2_c().
Referenced by XineOpenGLView::acceptsFirstResponder, xine_init(), and yuv2frame().
void init_yuv_planes | ( | yuv_planes_t * | yuv_planes, |
int | width, | ||
int | height ) |
References height, yuv_planes_s::row_count, yuv_planes_s::row_width, yuv_planes_s::u, yuv_planes_s::v, width, xine_mallocz_aligned(), and yuv_planes_s::y.
Referenced by bitplane_decode_data(), goom_port_open(), goom_port_put_buffer(), and oscope_port_open().
rgb2yuy2_t * rgb2yuy2_alloc | ( | int | color_matrix, |
const char * | format ) |
References rgb2yuy2_s::cm, rgb2yuy2_s::fmt, NULL, rgb2yuy2_s::pfmt, rgb_argb, rgb_bgr, rgb_bgra, rgb_bgra_clut, rgb_rgb, rgb_rgb555be, rgb_rgb555le, rgb_rgb565be, rgb_rgb565le, rgb_rgba, rgb_rgba_clut, rr, rgb2yuy2_s::t0, rgb2yuy2_s::t1, and rgb2yuy2_s::t2.
Referenced by _image_decode_data(), _png_decode_data(), ff_setup_rgb2yuy2(), goom_open_plugin(), image_decode_data(), and rgb_decode_data().
void rgb2yuy2_free | ( | rgb2yuy2_t * | rgb2yuy2 | ) |
Referenced by _image_decode_data(), _png_decode_data(), ff_dispose(), ff_setup_rgb2yuy2(), goom_dispose(), image_decode_data(), rgb_decode_data(), and rgb_dispose().
void rgb2yuy2_palette | ( | rgb2yuy2_t * | rgb2yuy2, |
const uint8_t * | pal, | ||
int | num_colors, | ||
int | bits_per_pixel ) |
References rgb2yuy2_s::fmt, mode(), rgb2yuy2_s::p, rgb2yuy2_s::pfmt, rgb_argb, rgb_bgr, rgb_bgra, rgb_pal1, rgb_pal2, rgb_pal4, rgb_pal8, rgb_rgb, rgb_rgba, rgb2yuy2_s::t0, rgb2yuy2_s::t1, rgb2yuy2_s::t2, and v.
Referenced by ff_convert_frame(), and rgb_decode_data().
void rgb2yuy2_slice | ( | rgb2yuy2_t * | rgb2yuy2, |
const uint8_t *restrict | in, | ||
int | ipitch, | ||
uint8_t *restrict | out, | ||
int | opitch, | ||
int | width, | ||
int | height ) |
References ALIGN4, rgb2yuy2_s::fmt, GET_U, GET_V, GET_Y, height, rgb2yuy2_s::p, rgb_argb, rgb_bgr, rgb_bgra, rgb_bgra_clut, rgb_pal1, rgb_pal2, rgb_pal4, rgb_pal8, rgb_rgb, rgb_rgb555be, rgb_rgb555le, rgb_rgb565be, rgb_rgb565le, rgb_rgba, rgb_rgba_clut, rgb2yuy2_s::t0, rgb2yuy2_s::t1, rgb2yuy2_s::t2, v, and width.
Referenced by _image_decode_data(), _png_decode_data(), ff_convert_frame(), goom_port_put_buffer(), image_decode_data(), rgb2yv12_slice(), and rgb_decode_data().
void rgb2yv12_slice | ( | rgb2yuy2_t * | rgb2yuy2, |
const uint8_t * | src, | ||
int | src_stride, | ||
uint8_t * | y_dst, | ||
int | y_pitch, | ||
uint8_t * | u_dst, | ||
int | u_pitch, | ||
uint8_t * | v_dst, | ||
int | v_pitch, | ||
int | width, | ||
int | height ) |
References height, rgb2yuy2_slice(), width, xine_free_aligned(), xine_malloc_aligned(), and yuy2_to_yv12.
Referenced by _image_decode_data(), _png_decode_data(), and image_decode_data().
|
static |
References hscale_chroma_line(), and vscale_chroma_line().
Referenced by yuv9_to_yv12_c().
|
static |
Referenced by upsample_c_plane_c().
|
static |
References height, width, and xine_fast_memcpy.
Referenced by init_yuv_conversion().
|
static |
References restrict, yuv_planes_s::row_count, yuv_planes_s::row_width, yuv_planes_s::u, yuv_planes_s::v, v, and yuv_planes_s::y.
Referenced by init_yuv_conversion().
|
static |
References height, upsample_c_plane_c(), width, and xine_fast_memcpy.
Referenced by init_yuv_conversion().
|
static |
References C_YUYV_YUV420, height, restrict, and width.
Referenced by init_yuv_conversion().
|
static |
References C_YUV420_YUYV_INTERLACED, C_YUV420_YUYV_PROGRESSIVE, height, and width.
Referenced by init_yuv_conversion().
int u_b_table[256] |
Referenced by init_yuv_conversion().
int u_g_table[256] |
Referenced by init_yuv_conversion().
int u_r_table[256] |
Referenced by init_yuv_conversion().
int uv_br_table[256] |
Referenced by init_yuv_conversion().
int v_b_table[256] |
Referenced by init_yuv_conversion().
int v_g_table[256] |
Referenced by init_yuv_conversion().
int v_r_table[256] |
Referenced by init_yuv_conversion().
int y_b_table[256] |
Referenced by init_yuv_conversion().
int y_g_table[256] |
Referenced by init_yuv_conversion().
int y_r_table[256] |
Referenced by init_yuv_conversion().
void(* yuv411_to_yv12) (const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height) | ( | const unsigned char * | y_src, |
int | y_src_pitch, | ||
unsigned char * | y_dest, | ||
int | y_dest_pitch, | ||
const unsigned char * | u_src, | ||
int | u_src_pitch, | ||
unsigned char * | u_dest, | ||
int | u_dest_pitch, | ||
const unsigned char * | v_src, | ||
int | v_src_pitch, | ||
unsigned char * | v_dest, | ||
int | v_dest_pitch, | ||
int | width, | ||
int | height ) |
Referenced by ff_convert_frame(), and init_yuv_conversion().
void(* yuv444_to_yuy2) (const yuv_planes_t *yuv_planes, unsigned char *yuy2_map, int pitch) | ( | const yuv_planes_t * | yuv_planes, |
unsigned char * | yuy2_map, | ||
int | pitch ) |
Referenced by bitplane_decode_data(), goom_port_put_buffer(), init_yuv_conversion(), oscope_port_put_buffer(), and yuv2frame().
void(* yuv9_to_yv12) (const unsigned char *y_src, int y_src_pitch, unsigned char *y_dest, int y_dest_pitch, const unsigned char *u_src, int u_src_pitch, unsigned char *u_dest, int u_dest_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *v_dest, int v_dest_pitch, int width, int height) | ( | const unsigned char * | y_src, |
int | y_src_pitch, | ||
unsigned char * | y_dest, | ||
int | y_dest_pitch, | ||
const unsigned char * | u_src, | ||
int | u_src_pitch, | ||
unsigned char * | u_dest, | ||
int | u_dest_pitch, | ||
const unsigned char * | v_src, | ||
int | v_src_pitch, | ||
unsigned char * | v_dest, | ||
int | v_dest_pitch, | ||
int | width, | ||
int | height ) |
Referenced by ff_convert_frame(), init_yuv_conversion(), and yuv_decode_data().
void(* yuy2_to_yv12) (const unsigned char *yuy2_map, int yuy2_pitch, unsigned char *y_dst, int y_dst_pitch, unsigned char *u_dst, int u_dst_pitch, unsigned char *v_dst, int v_dst_pitch, int width, int height) | ( | const unsigned char * | yuy2_map, |
int | yuy2_pitch, | ||
unsigned char * | y_dst, | ||
int | y_dst_pitch, | ||
unsigned char * | u_dst, | ||
int | u_dst_pitch, | ||
unsigned char * | v_dst, | ||
int | v_dst_pitch, | ||
int | width, | ||
int | height ) |
void(* yv12_to_yuy2) (const unsigned char *y_src, int y_src_pitch, const unsigned char *u_src, int u_src_pitch, const unsigned char *v_src, int v_src_pitch, unsigned char *yuy2_map, int yuy2_pitch, int width, int height, int progressive) | ( | const unsigned char * | y_src, |
int | y_src_pitch, | ||
const unsigned char * | u_src, | ||
int | u_src_pitch, | ||
const unsigned char * | v_src, | ||
int | v_src_pitch, | ||
unsigned char * | yuy2_map, | ||
int | yuy2_pitch, | ||
int | width, | ||
int | height, | ||
int | progressive ) |
Referenced by deinterlace_draw(), init_yuv_conversion(), macosx_display_frame(), and write_frame_sfb().