00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef MYTH_YUV2RGB_H
00025 #define MYTH_YUV2RGB_H
00026
00027 #include <inttypes.h>
00028
00029 #define MODE_RGB 0x1
00030 #define MODE_BGR 0x2
00031
00032 typedef void (* yuv2rgb_fun) (uint8_t * image, uint8_t * py,
00033 uint8_t * pu, uint8_t * pv,
00034 int h_size, int v_size,
00035 int rgb_stride, int y_stride, int uv_stride,
00036 int alphaones);
00037
00038 extern yuv2rgb_fun yuv2rgb;
00039
00040 void yuv2rgb_init (int bpp, int mode);
00041 yuv2rgb_fun yuv2rgb_init_mmxext (int bpp, int mode);
00042 yuv2rgb_fun yuv2rgb_init_mmx (int bpp, int mode);
00043
00044
00045
00046 void rgb32_to_yuv420p(unsigned char *lum, unsigned char *cb, unsigned char *cr,
00047 unsigned char *alpha, unsigned char *src,
00048 int width, int height, int srcwidth);
00049
00050
00051
00052
00053 typedef void (*conv_i420_2vuy_fun) (
00054 uint8_t *image, int vuy_stride,
00055 const uint8_t *py, const uint8_t *pu, const uint8_t *pv,
00056 int y_stride, int u_stride, int v_stride,
00057 int h_size, int v_size);
00058
00059
00060 conv_i420_2vuy_fun get_i420_2vuy_conv(void);
00061
00062 typedef void (*conv_2vuy_i420_fun) (
00063 uint8_t *py, uint8_t *pu, uint8_t *pv,
00064 int y_stride, int u_stride, int v_stride,
00065 const uint8_t *image, int vuy_stride,
00066 int h_size, int v_size);
00067
00068 conv_2vuy_i420_fun get_2vuy_i420_conv(void);
00069
00070 #endif