⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ippjp.h

📁 windows ce 6.0 camera driver
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
// (C) Copyright 2006 Marvell International Ltd.
// All Rights Reserved
// INTEL CONFIDENTIAL
// Copyright 2000 ~ 2006 Intel Corporation All Rights Reserved. 
// The source code contained or described herein and all documents related to 
// the source code (“Material”) are owned by Intel Corporation or its 
// suppliers or licensors. Title to the Material remains with Intel Corporation
// or its suppliers and licensors. The Material contains trade secrets and 
// proprietary and confidential information of Intel or its suppliers and 
// licensors. The Material is protected by worldwide copyright and trade secret 
// laws and treaty provisions. No part of the Material may be used, copied, 
// reproduced, modified, published, uploaded, posted, transmitted, distributed, 
// or disclosed in any way without Intel’s prior express written permission.
//
// No license under any patent, copyright, trade secret or other intellectual 
// property right is granted to or conferred upon you by disclosure or delivery 
// of the Materials, either expressly, by implication, inducement, estoppel or 
// otherwise. Any license under such intellectual property rights must be 
// express and approved by Intel in writing.
******************************************************************************/
#ifndef _IPPJP_H_
#define _IPPJP_H_

#include "ippdefs.h"

#ifdef __cplusplus
extern "C" {
#endif

/*================== Intel IPP JPEG structure definiation ======================*/

/* ippJPEGENHuffTable */
typedef void IppiEncodeHuffmanSpec;

/* ippJPEGDEHuffTable */
typedef void IppiDecodeHuffmanSpec;

/* EncodeHuffmanState */
typedef void IppiEncodeHuffmanState;

/* DecodeHuffmanState */
typedef void IppiDecodeHuffmanState;

/*====================== Intel IPP JPEG API definiation ========================*/

/* 
//
//  Helper function  group
//
*/

/* 
//  Copy and pading function set
*/

/* Pading pixels for MCU in the boundary */
IPPAPI(IppStatus, ippiCopyExpand_8u_C3, (const Ipp8u *pSrc, 
                                        int srcStep,
                                        IppiSize srcSize,
                                        Ipp8u *pDst,
                                        int dstStep,
                                        IppiSize dstSize))

/* 
//  Color conversion function set
*/

/* CC: Convert MCU BGR to YCbCr with Level-Shift, the output data is interleave */
IPPAPI(IppStatus, ippiBGRToYCbCr444LS_MCU_8u16s_C3P3R,  (const Ipp8u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGRToYCbCr422LS_MCU_8u16s_C3P3R,  (const Ipp8u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGRToYCbCr411LS_MCU_8u16s_C3P3R,  (const Ipp8u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))

/* CC Convert MCU BGR555 to YCbCr with Level-Shift, the output data is interleave */
IPPAPI(IppStatus, ippiBGR555ToYCbCr444LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGR555ToYCbCr422LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGR555ToYCbCr411LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))

/* CC Convert MCU BGR565 to YCbCr with Level-Shift, the output data is interleave */
IPPAPI(IppStatus, ippiBGR565ToYCbCr444LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGR565ToYCbCr422LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))
IPPAPI(IppStatus, ippiBGR565ToYCbCr411LS_MCU_16u16s_C3P3R,  (const Ipp16u * pSrcBGR, 
                                                        int srcStep, 
                                                        Ipp16s * pDstMCU[3]))

/* CC: Convert MCU YCbCr to BGR with Level-Shift, the input data is interleave */
IPPAPI(IppStatus, ippiYCbCr444ToBGRLS_MCU_16s8u_P3C3R,  (const Ipp16s * pSrcMCU[3],
                                                        Ipp8u * pDstBGR, 
                                                        int dstStep))
IPPAPI(IppStatus, ippiYCbCr422ToBGRLS_MCU_16s8u_P3C3R, (const Ipp16s * pSrcMCU[3],
                                                        Ipp8u * pDstBGR, 
                                                        int dstStep)) 
IPPAPI(IppStatus, ippiYCbCr411ToBGRLS_MCU_16s8u_P3C3R,(const Ipp16s * pSrcMCU[3],
                                                        Ipp8u * pDstBGR, 
                                                        int dstStep))


/* CC Convert MCU YCbCr to BGR555 with Level-Shift, the input data is interleave */
IPPAPI(IppStatus, ippiYCbCr444ToBGR555LS_MCU_16s16u_P3C3R,  (const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep))
IPPAPI(IppStatus, ippiYCbCr422ToBGR555LS_MCU_16s16u_P3C3R, (const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep)) 
IPPAPI(IppStatus, ippiYCbCr411ToBGR555LS_MCU_16s16u_P3C3R,(const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep))

/* CC Convert MCU YCbCr to BGR565 with Level-Shift, the input data is interleave */
IPPAPI(IppStatus, ippiYCbCr444ToBGR565LS_MCU_16s16u_P3C3R,  (const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep))
IPPAPI(IppStatus, ippiYCbCr422ToBGR565LS_MCU_16s16u_P3C3R, (const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep)) 
IPPAPI(IppStatus, ippiYCbCr411ToBGR565LS_MCU_16s16u_P3C3R,(const Ipp16s * pSrcMCU[3],
                                                        Ipp16u * pDstBGR, 
                                                        int dstStep))
/*
//
// JPEG codec function group
//
*/

/*
// DCT & Quantization function set
*/

/* Forward DCT with quantization */
IPPAPI(IppStatus, ippiDCTQuantFwdTableInit_JPEG_8u16u, (const Ipp8u *pQuantRawTable,
                                                        Ipp16u *pQuantFwdTable))

IPPAPI(IppStatus, ippiDCTQuantFwd_JPEG_16s, (const Ipp16s* pSrc, 
                                             Ipp16s *pDst, 
                                             const Ipp16u *pQuantFwdTable))

IPPAPI(IppStatus, ippiDCTQuantFwd_JPEG_16s_I, (Ipp16s* pSrcDst, 
                                               const Ipp16u *pQuantFwdTable))

/* Inverse DCT with dequantization */
IPPAPI(IppStatus, ippiDCTQuantInvTableInit_JPEG_8u16u, (const Ipp8u *pQuantRawTable,
                                                        Ipp16u *pQuantInvTable))

IPPAPI(IppStatus, ippiDCTQuantInv_JPEG_16s, (const Ipp16s* pSrc, 
                                             Ipp16s *pDst, 
                                             const Ipp16u *pQuantInvTable))

IPPAPI(IppStatus, ippiDCTQuantInv_JPEG_16s_I, (Ipp16s* pSrcDst, 
                                               const Ipp16u *pQuantInvTable))

/*
// Huffman coding function set
*/

/* Generate Huffman table for encoder */
IPPAPI(IppStatus, ippiEncodeHuffmanSpecGetBufSize_JPEG_8u, (int* pSize))

IPPAPI(IppStatus, ippiEncodeHuffmanSpecInit_JPEG_8u, (const Ipp8u *pHuffBits,
                                                    const Ipp8u *pHuffValue,
                                                    IppiEncodeHuffmanSpec *pHuffTable))

IPPAPI(IppStatus, ippiEncodeHuffmanStateGetBufSize_JPEG_8u, (int* pSize))

IPPAPI(IppStatus, ippiEncodeHuffmanStateInit_JPEG_8u,
                                 (IppiEncodeHuffmanState* pHuffState))

⌨️ 快捷键说明

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