rgb2rgb.c

来自「symbian 下的helix player源代码」· C语言 代码 · 共 1,768 行 · 第 1/5 页

C
1,768
字号
            ROW_FN(RGB565,RGB32 ,STRETCH2X),
            ROW_FN(RGB565,RGB32 ,STRETCH2XPLUS)
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB565,BGR32 ,SHRINK),
            ROW_FN(RGB565,BGR32 ,COPY),
            ROW_FN(RGB565,BGR32 ,STRETCH),
            ROW_FN(RGB565,BGR32 ,STRETCH2X),
            ROW_FN(RGB565,BGR32 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
	    0,
	    0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB565,RGB24 ,SHRINK),
            ROW_FN(RGB565,RGB24 ,COPY),
            ROW_FN(RGB565,RGB24 ,STRETCH),
            ROW_FN(RGB565,RGB24 ,STRETCH2X),
            ROW_FN(RGB565,RGB24 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
	    0,
	    0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB565,RGB565,SHRINK),
            ROW_FN(RGB565,RGB565,COPY),
            ROW_FN(RGB565,RGB565,STRETCH),
            ROW_FN(RGB565,RGB565,STRETCH2X),
            ROW_FN(RGB565,RGB565,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
	    0,
	    0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB565,RGB555,SHRINK),
            ROW_FN(RGB565,RGB555,COPY),
            ROW_FN(RGB565,RGB555,STRETCH),
            ROW_FN(RGB565,RGB555,STRETCH2X),
            ROW_FN(RGB565,RGB555,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
	    0,
	    0
#endif
        },{ /* rgb444 stub */
            0,
            0,
            0,
            0,
            0
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB565,RGB8  ,SHRINK),
            ROW_FN(RGB565,RGB8  ,COPY),
            ROW_FN(RGB565,RGB8  ,STRETCH),
            ROW_FN(RGB565,RGB8  ,STRETCH2X),
            ROW_FN(RGB565,RGB8  ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        }
    },{ {
            ROW_FN(RGB555,RGB32 ,SHRINK),
            ROW_FN(RGB555,RGB32 ,COPY),
            ROW_FN(RGB555,RGB32 ,STRETCH),
            ROW_FN(RGB555,RGB32 ,STRETCH2X),
            ROW_FN(RGB555,RGB32 ,STRETCH2XPLUS)
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB555,BGR32 ,SHRINK),
            ROW_FN(RGB555,BGR32 ,COPY),
            ROW_FN(RGB555,BGR32 ,STRETCH),
            ROW_FN(RGB555,BGR32 ,STRETCH2X),
            ROW_FN(RGB555,BGR32 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB555,RGB24 ,SHRINK),
            ROW_FN(RGB555,RGB24 ,COPY),
            ROW_FN(RGB555,RGB24 ,STRETCH),
            ROW_FN(RGB555,RGB24 ,STRETCH2X),
            ROW_FN(RGB555,RGB24 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB555,RGB565,SHRINK),
            ROW_FN(RGB555,RGB565,COPY),
            ROW_FN(RGB555,RGB565,STRETCH),
            ROW_FN(RGB555,RGB565,STRETCH2X),
            ROW_FN(RGB555,RGB565,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW_FN(RGB555,RGB555,SHRINK),
            ROW_FN(RGB555,RGB555,COPY),
            ROW_FN(RGB555,RGB555,STRETCH),
            ROW_FN(RGB555,RGB555,STRETCH2X),
            ROW_FN(RGB555,RGB555,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{ /* rgb444 stub */
            0,
            0,
            0,
            0,
            0
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB555,RGB8  ,SHRINK),
            ROW_FN(RGB555,RGB8  ,COPY),
            ROW_FN(RGB555,RGB8  ,STRETCH),
            ROW_FN(RGB555,RGB8  ,STRETCH2X),
            ROW_FN(RGB555,RGB8  ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        }
    },{ {
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,RGB32 ,SHRINK),
            ROW_FN(RGB8  ,RGB32 ,COPY),
            ROW_FN(RGB8  ,RGB32 ,STRETCH),
            ROW_FN(RGB8  ,RGB32 ,STRETCH2X),
            ROW_FN(RGB8  ,RGB32 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,BGR32 ,SHRINK),
            ROW_FN(RGB8  ,BGR32 ,COPY),
            ROW_FN(RGB8  ,BGR32 ,STRETCH),
            ROW_FN(RGB8  ,BGR32 ,STRETCH2X),
            ROW_FN(RGB8  ,BGR32 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,RGB24 ,SHRINK),
            ROW_FN(RGB8  ,RGB24 ,COPY),
            ROW_FN(RGB8  ,RGB24 ,STRETCH),
            ROW_FN(RGB8  ,RGB24 ,STRETCH2X),
            ROW_FN(RGB8  ,RGB24 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,RGB565,SHRINK),
            ROW_FN(RGB8  ,RGB565,COPY),
            ROW_FN(RGB8  ,RGB565,STRETCH),
            ROW_FN(RGB8  ,RGB565,STRETCH2X),
            ROW_FN(RGB8  ,RGB565,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,RGB555,SHRINK),
            ROW_FN(RGB8  ,RGB555,COPY),
            ROW_FN(RGB8  ,RGB555,STRETCH),
            ROW_FN(RGB8  ,RGB555,STRETCH2X),
            ROW_FN(RGB8  ,RGB555,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{ /* rgb444 stub */
            0,
            0,
            0,
            0,
            0
        },{
#ifdef _8_BIT_SUPPORT
            ROW_FN(RGB8  ,RGB8  ,SHRINK),
            ROW_FN(RGB8  ,RGB8  ,COPY),
            ROW_FN(RGB8  ,RGB8  ,STRETCH),
            ROW_FN(RGB8  ,RGB8  ,STRETCH2X),
            ROW_FN(RGB8  ,RGB8  ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        }
    }
};

/*
 * 1.5-row scale function selection tables:
 *  [destination format][source format][row scale type]
 */
void (* Row2xFuncs [RGB_FORMATS][RGB_FORMATS][SCALE_FUNCS]) (
    unsigned char *dest_ptr_1, unsigned char *dest_ptr_12,
    unsigned char *dest_ptr_2, int dest_dx, unsigned char *src_ptr, int src_dx) =
{
    {   {
            ROW2X_FN(RGB32 ,RGB32 ,SHRINK),
            ROW2X_FN(RGB32 ,RGB32 ,COPY),
            ROW2X_FN(RGB32 ,RGB32 ,STRETCH),
            ROW2X_FN(RGB32 ,RGB32 ,STRETCH2X),
            ROW2X_FN(RGB32 ,RGB32 ,STRETCH2XPLUS)
        },{
#ifdef _FAT_HXCOLOR
            ROW2X_FN(RGB32 ,BGR32 ,SHRINK),
            ROW2X_FN(RGB32 ,BGR32 ,COPY),
            ROW2X_FN(RGB32 ,BGR32 ,STRETCH),
            ROW2X_FN(RGB32 ,BGR32 ,STRETCH2X),
            ROW2X_FN(RGB32 ,BGR32 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW2X_FN(RGB32 ,RGB24 ,SHRINK),
            ROW2X_FN(RGB32 ,RGB24 ,COPY),
            ROW2X_FN(RGB32 ,RGB24 ,STRETCH),
            ROW2X_FN(RGB32 ,RGB24 ,STRETCH2X),
            ROW2X_FN(RGB32 ,RGB24 ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW2X_FN(RGB32 ,RGB565,SHRINK),
            ROW2X_FN(RGB32 ,RGB565,COPY),
            ROW2X_FN(RGB32 ,RGB565,STRETCH),
            ROW2X_FN(RGB32 ,RGB565,STRETCH2X),
            ROW2X_FN(RGB32 ,RGB565,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{
#ifdef _FAT_HXCOLOR
            ROW2X_FN(RGB32 ,RGB555,SHRINK),
            ROW2X_FN(RGB32 ,RGB555,COPY),
            ROW2X_FN(RGB32 ,RGB555,STRETCH),
            ROW2X_FN(RGB32 ,RGB555,STRETCH2X),
            ROW2X_FN(RGB32 ,RGB555,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        },{ /* rgb444 stub */
            0,
            0,
            0,
            0,
            0
        },{
#ifdef _8_BIT_SUPPORT

            ROW2X_FN(RGB32 ,RGB8  ,SHRINK),
            ROW2X_FN(RGB32 ,RGB8  ,COPY),
            ROW2X_FN(RGB32 ,RGB8  ,STRETCH),
            ROW2X_FN(RGB32 ,RGB8  ,STRETCH2X),
            ROW2X_FN(RGB32 ,RGB8  ,STRETCH2XPLUS)
#else
	    0,
	    0,
	    0,
            0,
            0
#endif
        }
    },{ {
            ROW2X_FN(BGR32 ,RGB32 ,SHRINK),
            ROW2X_FN(BGR32 ,RGB32 ,COPY),
            ROW2X_FN(BGR

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?