xine-lib 1.2.11
|
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include "yuv2rgb_private.h"
#include <xine/xineutils.h>
Macros | |
#define | LOG_MODULE "yuv2rgb" |
#define | LOG_VERBOSE |
#define | X_RGB(i) |
#define | DST1(i) |
#define | DST2(i) |
#define | DST1RGB(i) |
#define | DST2RGB(i) |
#define | DST1BGR(i) |
#define | DST2BGR(i) |
#define | DST1CMAP(i) |
#define | DST2CMAP(i) |
Functions | |
static scale_line_func_t | find_scale_line_func (int step) |
static int | yuv2rgb_next_slice (yuv2rgb_impl_t *this, uint8_t *restrict *dest) |
static int | yuv2rgb_next_slice_intf (yuv2rgb_t *this_gen, uint8_t **dest) |
static void | yuv2rgb_dispose (yuv2rgb_t *this_gen) |
static int | yuv2rgb_configure (yuv2rgb_t *this_gen, int source_width, int source_height, int y_stride, int uv_stride, int dest_width, int dest_height, int rgb_stride) |
static void | scale_line_gen (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_15_16 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_45_53 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_45_64 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_9_16 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_11_12 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_11_24 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_5_8 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_3_4 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_1_2 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_5_4 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_2_3 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_1_1 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_2 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | scale_line_4 (const uint8_t *restrict source, uint8_t *restrict dest, int width, int step) |
static void | yuv2rgb_c_32 (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_24_rgb (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_24_bgr (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_16 (yuv2rgb_t *this_gen, uint8_t *_dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_8 (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_gray (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static void | yuv2rgb_c_palette (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _py, const uint8_t *restrict _pu, const uint8_t *restrict _pv) |
static int | div_round (int dividend, int divisor) |
static int | _yuv2rgb_set_csc_levels (yuv2rgb_factory_t *this_gen, int brightness, int contrast, int saturation, int colormatrix) |
static void | yuv2rgb_set_csc_levels (yuv2rgb_factory_t *this_gen, int brightness, int contrast, int saturation, int colormatrix) |
static uint32_t | yuv2rgb_single_pixel_32 (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_24_rgb (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_24_bgr (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_16 (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_8 (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_gray (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static uint32_t | yuv2rgb_single_pixel_palette (yuv2rgb_t *this_gen, uint8_t y, uint8_t u, uint8_t v) |
static int | yuv2rgb_c_init (yuv2rgb_factory_impl_t *this) |
static int | yuv2rgb_single_pixel_init (yuv2rgb_factory_impl_t *this) |
static void | yuy22rgb_c_32 (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_24_rgb (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_24_bgr (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_16 (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_8 (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_gray (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static void | yuy22rgb_c_palette (yuv2rgb_t *this_gen, uint8_t *restrict _dst, const uint8_t *restrict _p) |
static int | yuy22rgb_c_init (yuv2rgb_factory_impl_t *this) |
static yuv2rgb_t * | yuv2rgb_create_converter (yuv2rgb_factory_t *this_gen) |
static void | yuv2rgb_factory_dispose (yuv2rgb_factory_t *this_gen) |
yuv2rgb_factory_t * | yuv2rgb_factory_init (int mode, int swapped, const uint8_t *cmap) |
Variables | |
static int | prof_scale_line = -1 |
const int32_t | Inverse_Table_6_9 [8][4] |
#define DST1 | ( | i | ) |
#define DST1BGR | ( | i | ) |
#define DST1CMAP | ( | i | ) |
#define DST1RGB | ( | i | ) |
#define DST2 | ( | i | ) |
#define DST2BGR | ( | i | ) |
#define DST2CMAP | ( | i | ) |
#define DST2RGB | ( | i | ) |
#define LOG_MODULE "yuv2rgb" |
#define LOG_VERBOSE |
#define X_RGB | ( | i | ) |
|
static |
References contrast, div_round(), Inverse_Table_6_9, lprintf, mmx_yuv2rgb_set_csc_levels(), mode(), MODE_15_BGR, MODE_15_RGB, MODE_16_BGR, MODE_16_RGB, MODE_24_BGR, MODE_24_RGB, MODE_32_BGR, MODE_32_RGB, MODE_8_BGR, MODE_8_GRAY, MODE_8_RGB, MODE_PALETTE, and NULL.
Referenced by yuv2rgb_factory_init(), and yuv2rgb_set_csc_levels().
|
static |
Referenced by _yuv2rgb_set_csc_levels().
|
static |
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_fast_memcpy, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References width.
Referenced by yuy22rgb_c_16(), yuy22rgb_c_24_bgr(), yuy22rgb_c_24_rgb(), yuy22rgb_c_32(), yuy22rgb_c_8(), yuy22rgb_c_gray(), and yuy22rgb_c_palette().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References width.
Referenced by yuy22rgb_c_16(), yuy22rgb_c_24_bgr(), yuy22rgb_c_24_rgb(), yuy22rgb_c_32(), yuy22rgb_c_8(), and yuy22rgb_c_palette().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References prof_scale_line, width, xine_profiler_start_count(), and xine_profiler_stop_count().
Referenced by find_scale_line_func().
|
static |
References DST1, DST2, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References DST1BGR, DST2BGR, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References DST1RGB, DST2RGB, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References DST1, DST2, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References DST1, DST2, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References height, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References lprintf, mode(), MODE_15_BGR, MODE_15_RGB, MODE_16_BGR, MODE_16_RGB, MODE_24_BGR, MODE_24_RGB, MODE_32_BGR, MODE_32_RGB, MODE_8_BGR, MODE_8_GRAY, MODE_8_RGB, MODE_PALETTE, yuv2rgb_c_16(), yuv2rgb_c_24_bgr(), yuv2rgb_c_24_rgb(), yuv2rgb_c_32(), yuv2rgb_c_8(), yuv2rgb_c_gray(), and yuv2rgb_c_palette().
Referenced by yuv2rgb_factory_init().
|
static |
References DST1CMAP, DST2CMAP, height, width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuv2rgb_c_init().
|
static |
References find_scale_line_func(), prof_scale_line, xine_freep_aligned, xine_malloc_aligned(), and xine_profiler_allocate_slot().
Referenced by yuv2rgb_create_converter().
|
static |
References yuv2rgb_factory_impl_s::cmap, yuv2rgb_s::configure, yuv2rgb_s::dispose, yuv2rgb_s::next_slice, NULL, yuv2rgb_factory_impl_s::swapped, yuv2rgb_factory_impl_s::table_bU, yuv2rgb_factory_impl_s::table_gU, yuv2rgb_factory_impl_s::table_gV, yuv2rgb_factory_impl_s::table_mmx, yuv2rgb_factory_impl_s::table_rV, yuv2rgb_configure(), yuv2rgb_dispose(), yuv2rgb_s::yuv2rgb_fun, yuv2rgb_factory_impl_s::yuv2rgb_fun, yuv2rgb_next_slice_intf(), yuv2rgb_s::yuv2rgb_single_pixel_fun, yuv2rgb_factory_impl_s::yuv2rgb_single_pixel_fun, yuv2rgb_s::yuy22rgb_fun, and yuv2rgb_factory_impl_s::yuy22rgb_fun.
Referenced by yuv2rgb_factory_init().
|
static |
References xine_free_aligned().
Referenced by yuv2rgb_create_converter().
|
static |
References _x_freep(), and xine_freep_aligned.
Referenced by yuv2rgb_factory_init().
yuv2rgb_factory_t * yuv2rgb_factory_init | ( | int | mode, |
int | swapped, | ||
const uint8_t * | cmap | ||
) |
References _yuv2rgb_set_csc_levels(), CM_DEFAULT, yuv2rgb_factory_s::create_converter, yuv2rgb_factory_s::dispose, lprintf, MM_ACCEL_MLIB, MM_ACCEL_X86_MMX, MM_ACCEL_X86_MMXEXT, mode(), NULL, yuv2rgb_factory_s::set_csc_levels, xine_mm_accel(), yuv2rgb_c_init(), yuv2rgb_create_converter(), yuv2rgb_factory_dispose(), yuv2rgb_init_mlib(), yuv2rgb_init_mmx(), yuv2rgb_init_mmxext(), yuv2rgb_set_csc_levels(), yuv2rgb_single_pixel_init(), and yuy22rgb_c_init().
Referenced by open_plugin(), opengl_open_plugin(), raw_open_plugin(), setup_yuv2rgb(), vo_grab_grab_video_frame(), xshm_open_plugin(), and xshm_open_plugin_2().
|
static |
References NULL.
Referenced by yuv2rgb_c_16(), yuv2rgb_c_24_bgr(), yuv2rgb_c_24_rgb(), yuv2rgb_c_32(), yuv2rgb_c_8(), yuv2rgb_c_gray(), yuv2rgb_c_palette(), yuv2rgb_next_slice_intf(), yuy22rgb_c_16(), yuy22rgb_c_24_bgr(), yuy22rgb_c_24_rgb(), yuy22rgb_c_32(), yuy22rgb_c_8(), yuy22rgb_c_gray(), and yuy22rgb_c_palette().
|
static |
References yuv2rgb_next_slice().
Referenced by yuv2rgb_create_converter().
|
static |
References _yuv2rgb_set_csc_levels(), and contrast.
Referenced by yuv2rgb_factory_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
References lprintf, mode(), MODE_15_BGR, MODE_15_RGB, MODE_16_BGR, MODE_16_RGB, MODE_24_BGR, MODE_24_RGB, MODE_32_BGR, MODE_32_RGB, MODE_8_BGR, MODE_8_GRAY, MODE_8_RGB, MODE_PALETTE, yuv2rgb_single_pixel_16(), yuv2rgb_single_pixel_24_bgr(), yuv2rgb_single_pixel_24_rgb(), yuv2rgb_single_pixel_32(), yuv2rgb_single_pixel_8(), yuv2rgb_single_pixel_gray(), and yuv2rgb_single_pixel_palette().
Referenced by yuv2rgb_factory_init().
|
static |
Referenced by yuv2rgb_single_pixel_init().
|
static |
References DST1, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References DST1BGR, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References DST1RGB, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References DST1, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References DST1, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References height, scale_line_2(), width, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
|
static |
References lprintf, mode(), MODE_15_BGR, MODE_15_RGB, MODE_16_BGR, MODE_16_RGB, MODE_24_BGR, MODE_24_RGB, MODE_32_BGR, MODE_32_RGB, MODE_8_BGR, MODE_8_GRAY, MODE_8_RGB, MODE_PALETTE, yuy22rgb_c_16(), yuy22rgb_c_24_bgr(), yuy22rgb_c_24_rgb(), yuy22rgb_c_32(), yuy22rgb_c_8(), yuy22rgb_c_gray(), and yuy22rgb_c_palette().
Referenced by yuv2rgb_factory_init().
|
static |
References DST1CMAP, height, scale_line_2(), scale_line_4(), width, X_RGB, xine_fast_memcpy, and yuv2rgb_next_slice().
Referenced by yuy22rgb_c_init().
const int32_t Inverse_Table_6_9[8][4] |
Referenced by _yuv2rgb_set_csc_levels().
|
static |