|
|
|
|
/******************************************************************************
|
|
|
|
|
*
|
|
|
|
|
* Copyright (C) 2014 Hisilicon Technologies Co., Ltd. All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* This program is confidential and proprietary to Hisilicon Technologies Co., Ltd. (Hisilicon),
|
|
|
|
|
* and may not be copied, reproduced, modified, disclosed to others, published or used, in
|
|
|
|
|
* whole or in part, without the express prior written permission of Hisilicon.
|
|
|
|
|
*
|
|
|
|
|
******************************************************************************
|
|
|
|
|
File Name : hi_jpeg_api.h
|
|
|
|
|
Version : Initial Draft
|
|
|
|
|
Author :
|
|
|
|
|
Created : 2014/06/20
|
|
|
|
|
Description : The user will use this api to realize some function
|
|
|
|
|
Function List :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
History :
|
|
|
|
|
Date Author Modification
|
|
|
|
|
2014/06/20 y00181162 Created file
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef __HI_JPEG_API_H__
|
|
|
|
|
#define __HI_JPEG_API_H__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************add include here******************************/
|
|
|
|
|
|
|
|
|
|
#include "jpeglib.h"
|
|
|
|
|
#include "hi_type.h"
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
#if __cplusplus
|
|
|
|
|
extern "C"
|
|
|
|
|
{
|
|
|
|
|
#endif
|
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***************************** Macro Definition ******************************/
|
|
|
|
|
/** \addtogroup JPEG */
|
|
|
|
|
/** @{ */ /** <!--[JPEG]*/
|
|
|
|
|
|
|
|
|
|
/** Maximum number of data components */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
#define MAX_PIXEL_COMPONENT_NUM 3
|
|
|
|
|
/** Maximum column number of hor coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_HORCOEF_COL 8
|
|
|
|
|
/** Maximum row number of hor coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_HORCOEF_ROW 4
|
|
|
|
|
/** Maximum column number of ver coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_VERCOEF_COL 4
|
|
|
|
|
/** Maximum row number of ver coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_VERCOEF_ROW 4
|
|
|
|
|
/** Maximum column number of csc coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD>csc<73><63>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_CSCCOEF_COL 3
|
|
|
|
|
/** Maximum row number of csc coef */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD>csc<73><63>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
#define MAX_CSCCOEF_ROW 3
|
|
|
|
|
|
|
|
|
|
/** @} */ /** <!-- ==== Macro Definition end ==== */
|
|
|
|
|
|
|
|
|
|
/*************************** Enum Definition ****************************/
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
/* jpeg enum */
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
|
|
|
|
|
/** \addtogroup JPEG */
|
|
|
|
|
/** @{ */ /** <!--[JPEG]*/
|
|
|
|
|
|
|
|
|
|
/** enum of the input jpeg color space */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jpegͼƬ<CDBC><C6AC>ʽ CNend */
|
|
|
|
|
typedef enum hiHI_JPEG_FMT_E
|
|
|
|
|
{
|
|
|
|
|
JPEG_FMT_YUV400 = 0, /**< yuv400 */
|
|
|
|
|
JPEG_FMT_YUV420 = 1, /**< yuv420 */
|
|
|
|
|
JPEG_FMT_YUV422_21 = 2, /**< yuv422_21 */
|
|
|
|
|
JPEG_FMT_YUV422_12 = 3, /**< yuv422_12 */
|
|
|
|
|
JPEG_FMT_YUV444 = 4, /**< yuv444 */
|
|
|
|
|
JPEG_FMT_YCCK = 5, /**< YCCK */
|
|
|
|
|
JPEG_FMT_CMYK = 6, /**< CMYK */
|
|
|
|
|
JPEG_FMT_BUTT
|
|
|
|
|
}HI_JPEG_FMT_E;
|
|
|
|
|
|
|
|
|
|
/** enum of mem check type */
|
|
|
|
|
/** CNcomment:<3A>ڴ<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
typedef enum hiHI_JPEG_MEMCHECK_E
|
|
|
|
|
{
|
|
|
|
|
JPEG_MEMCHECK_MEMSIZE = 0, /**< <20>ڴ<EFBFBD><DAB4><EFBFBD>С */
|
|
|
|
|
JPEG_MEMCHECK_RESOLUTION = 1, /**< <20>ֱ<EFBFBD><D6B1><EFBFBD> */
|
|
|
|
|
JPEG_MEMCHECK_BUTT
|
|
|
|
|
}HI_JPEG_MEMCHECK_E;
|
|
|
|
|
|
|
|
|
|
/** @} */ /** <!-- ==== enum Definition end ==== */
|
|
|
|
|
|
|
|
|
|
/*************************** Structure Definition ****************************/
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
/* jpeg api structure */
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
|
|
|
|
|
/** \addtogroup JPEG */
|
|
|
|
|
/** @{ */ /** <!--[JPEG]*/
|
|
|
|
|
|
|
|
|
|
/** Structure of Rectangle */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
typedef struct hiJPEG_RECT_S
|
|
|
|
|
{
|
|
|
|
|
HI_S32 x, y;
|
|
|
|
|
HI_S32 w, h;
|
|
|
|
|
}HI_JPEG_RECT_S;
|
|
|
|
|
|
|
|
|
|
/** Structure of the output yuvsp/rgb/yuv package message, only support 1/2/4/8/ scale */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yuvsp/rgb/yuv pacekage <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ֻ֧<D6BB><D6A7>1/2/4/8<><38><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
typedef struct hiJPEG_SURFACE_S
|
|
|
|
|
{
|
|
|
|
|
HI_CHAR* pOutPhy[MAX_PIXEL_COMPONENT_NUM]; /**< output physic address,0 is luminance or rgb buf, 1 is chroma buf *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>rgb<67><62>ַ<EFBFBD><D6B7>1<EFBFBD><31><EFBFBD><EFBFBD>Ϊɫ<CEAA>ȵ<EFBFBD>ַ CNend */
|
|
|
|
|
HI_CHAR* pOutVir[MAX_PIXEL_COMPONENT_NUM]; /**< output virtual address,0 is luminance or rgb buf, 1 is chroma buf *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>rgb<67><62>ַ<EFBFBD><D6B7>1<EFBFBD><31><EFBFBD><EFBFBD>Ϊɫ<CEAA>ȵ<EFBFBD>ַ CNend */
|
|
|
|
|
HI_U32 u32OutStride[MAX_PIXEL_COMPONENT_NUM]; /**< output stride *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bUserPhyMem; /**< if use user physic memeory *//**<CNcomment:<3A>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD> CNend */
|
|
|
|
|
|
|
|
|
|
}HI_JPEG_SURFACE_S;
|
|
|
|
|
|
|
|
|
|
/** Structure of the output message */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend */
|
|
|
|
|
typedef struct hiJPEG_SURFACE_DESCRIPTION_S
|
|
|
|
|
{
|
|
|
|
|
HI_JPEG_SURFACE_S stOutSurface; /**< output surface *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend */
|
|
|
|
|
HI_JPEG_RECT_S stCropRect; /**< output crop size *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bCrop; /**< if crop *//**<CNcomment:<3A>Ƿ<EFBFBD><C7B7>ü<EFBFBD> CNend */
|
|
|
|
|
}HI_JPEG_SURFACE_DESCRIPTION_S;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Structure of output argb sampler and filte message */
|
|
|
|
|
/** CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>argb<67><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend */
|
|
|
|
|
typedef struct hiJPEG_DEC_COEF_S
|
|
|
|
|
{
|
|
|
|
|
HI_BOOL bEnHorMedian; /**< if set hor median filter *//**<CNcomment:<3A>Ƿ<EFBFBD>ˮƽ<CBAE><C6BD>ֵ<EFBFBD>˲<EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bEnVerMedian; /**< if set ver median filter *//**<CNcomment:<3A>Ƿ<EFBFBD><C7B7><EFBFBD>ֱ<EFBFBD><D6B1>ֵ<EFBFBD>˲<EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bSetHorSampleCoef; /**< if set hor sample coef *//**<CNcomment:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bSetVerSampleCoef; /**< if set ver sample coef *//**<CNcomment:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ô<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
HI_BOOL bSetCSCCoef; /**< if set csc coef *//**<CNcomment:<3A>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>CSC<53><43><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
HI_S16 s16HorCoef[MAX_HORCOEF_ROW][MAX_HORCOEF_COL]; /**< set chrome hor sampler coefficient *//**<CNcomment:ɫ<><C9AB><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>ˮƽ<CBAE>˲<EFBFBD>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
HI_S16 s16VerCoef[MAX_VERCOEF_ROW][MAX_VERCOEF_COL]; /**< set chrome ver sampler coefficient *//**<CNcomment:ɫ<><C9AB><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>˲<EFBFBD>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
HI_S16 s16CSCCoef[MAX_CSCCOEF_ROW][MAX_CSCCOEF_COL]; /**< set csc coefficient *//**<CNcomment:<3A><>ɫ<EFBFBD>ռ<EFBFBD>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5> CNend */
|
|
|
|
|
}HI_JPEG_DEC_COEF_S;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Structure of the input and output jpeg width and height,input jpeg format */
|
|
|
|
|
/** CNcomment:jpeg<65>ļ<EFBFBD><C4BC><EFBFBD>ԭʼ<D4AD><CABC>С<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ԭʼͼƬ<CDBC><C6AC>ʽ CNend */
|
|
|
|
|
typedef struct hiJPEG_INFO_S
|
|
|
|
|
{
|
|
|
|
|
HI_U32 u32Width[MAX_PIXEL_COMPONENT_NUM]; /**< 0 input and output rgb width and lu width,1 is ch width *//**<CNcomment:0<><30><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rgbͼƬ<CDBC><C6AC><EFBFBD>Ȼ<EFBFBD><C8BB>߽<EFBFBD><DFBD><EFBFBD>yuvsp<73><70><EFBFBD>ȿ<EFBFBD><C8BF>ȣ<EFBFBD>1Ϊɫ<CEAA>ȿ<EFBFBD><C8BF><EFBFBD> CNend */
|
|
|
|
|
HI_U32 u32Height[MAX_PIXEL_COMPONENT_NUM]; /**< 0 input and output rgb height and lu width,1 is ch height *//**<CNcomment:0<><30><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rgbͼƬ<CDBC>߶Ȼ<DFB6><C8BB>߽<EFBFBD><DFBD><EFBFBD>yuvsp<73><70><EFBFBD>ȸ߶ȣ<DFB6>1Ϊɫ<CEAA>ȸ߶<C8B8> CNend */
|
|
|
|
|
HI_U32 u32OutStride[MAX_PIXEL_COMPONENT_NUM]; /**< 0 output rgb stride and lu stride,1 is ch stride *//**<CNcomment:0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rgb<67><62>yubsp<73><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>࣬1Ϊɫ<CEAA><C9AB><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
HI_U32 u32OutSize[MAX_PIXEL_COMPONENT_NUM]; /**< 0 output rgb size and lu size,1 is ch size *//**<CNcomment:0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rgb<67><62>yubsp<73>Ĵ<EFBFBD>С<EFBFBD><D0A1>1Ϊɫ<CEAA>ȴ<EFBFBD>С CNend */
|
|
|
|
|
HI_JPEG_FMT_E enFmt; /**< the input format *//**<CNcomment:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ CNend */
|
|
|
|
|
HI_BOOL bOutInfo; /**< false is get input information and the other get output information *//**<CNcomment:FALSE<53><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>TRUE<55><45>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend */
|
|
|
|
|
}HI_JPEG_INFO_S;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** Structure of the leave memsize that jpeg decode can used */
|
|
|
|
|
/** CNcomment:jpeg<65><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><C3B5>ڴ<EFBFBD><DAB4><EFBFBD>С<EFBFBD><D0A1>Ϣ CNend */
|
|
|
|
|
typedef struct hiJPEG_MEMSIZE_INFO_S
|
|
|
|
|
{
|
|
|
|
|
HI_U32 u32MemSize; /**< the memsize *//**<CNcomment:ʣ<><CAA3><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>С CNend */
|
|
|
|
|
HI_U32 u32Width; /**< limit width *//**<CNcomment:<3A><><EFBFBD>ƿ<EFBFBD> CNend */
|
|
|
|
|
HI_U32 u32Height; /**< limit height *//**<CNcomment:<3A><><EFBFBD>Ƹ<EFBFBD> CNend */
|
|
|
|
|
HI_JPEG_MEMCHECK_E eCheckType; /**< limit type *//**<CNcomment:ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend */
|
|
|
|
|
}HI_JPEG_MEMSIZE_INFO_S;
|
|
|
|
|
|
|
|
|
|
/** @} */ /** <!-- ==== Structure Definition End ==== */
|
|
|
|
|
|
|
|
|
|
/********************** Global Variable declaration **************************/
|
|
|
|
|
|
|
|
|
|
/******************************* API declaration *****************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** \addtogroup JPEG */
|
|
|
|
|
/** @{ */ /** <!--[JPEG]*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Sets dec output message. CNcomment:<EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetOutDesc should have called create jpeg decoder.set the output address \n
|
|
|
|
|
and output stride,set whether crop, set crop rect \n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD>øýӿڣ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n
|
|
|
|
|
<EFBFBD>м<EFBFBD><EFBFBD>࣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>IJü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] *pstSurfaceDesc. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetOutDesc
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetOutDesc(const struct jpeg_decompress_struct *cinfo, const HI_JPEG_SURFACE_DESCRIPTION_S *pstSurfaceDesc);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief Get Jpeg information. CNcomment:<EFBFBD><EFBFBD>ȡjpegͼƬ<EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
if you want to get input format and input width and input height,you should set bOutInfo false.\n
|
|
|
|
|
others you can get the information as follows: output rgb widht/height/stride/size or output \n
|
|
|
|
|
yuvsp lu width/height/stride/size and ch width/height/stride/size.\n
|
|
|
|
|
you call this function should after read header and set the ouput parameter.\n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD>bOutInfo<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>FALSE<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>Ⱥ߶<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>TRUE<EFBFBD><EFBFBD> \n
|
|
|
|
|
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD>RGB<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>߶<EFBFBD>/<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>С,Ҫ<EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yuvsp<EFBFBD><EFBFBD>\n
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD>ɫ<EFBFBD>ȵĿ<EFBFBD><EFBFBD><EFBFBD>/<EFBFBD>߶<EFBFBD>/<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[out] pJpegInfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>jpeg<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_GetJpegInfo
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_GetJpegInfo(j_decompress_ptr cinfo, HI_JPEG_INFO_S *pJpegInfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set jpeg dec inflexion. CNcomment:<EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>Ĺյ<EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetInflexion should have called jpeg_create_decompress.if no call this \n
|
|
|
|
|
function,use the default flexion \n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ùյ㣬ʹ<EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵĹյ<EFBFBD><EFBFBD><EFBFBD>С CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] u32flexionSize. CNcomment:Ҫ<EFBFBD><EFBFBD><EFBFBD>õĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>С CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetInflexion
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetInflexion(const struct jpeg_decompress_struct *cinfo, const HI_U32 u32flexionSize);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief get jpeg dec inflexion. CNcomment:<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺյ<EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_GetInflexion should have called jpeg_create_decompress.\n
|
|
|
|
|
CNcomment:<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>HI_JPEG_GetInflexion֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[out] pu32flexionSize. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>С CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetInflexion
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_GetInflexion(const struct jpeg_decompress_struct *cinfo, HI_U32 *pu32flexionSize);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set jpeg dec coef when output argb. CNcomment:<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ARGB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetDecCoef should have called jpeg_create_decompress.set whether horizontal \n
|
|
|
|
|
and vertical fliter,whether set horizontal and ver sample, whether set csc coefficient, \n
|
|
|
|
|
and set there coefficient.if no call this function, use the default parameter. \n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ˮƽ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ֱ<EFBFBD><EFBFBD>ˮƽ \n
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CSSϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] *pstDecCoef. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetDecCoef
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetDecCoef(const struct jpeg_decompress_struct *cinfo, const HI_JPEG_DEC_COEF_S *pstDecCoef);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief get jpeg dec coef when output argb. CNcomment:<EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ARGB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_GetDecCoef should have called HI_JPEG_SetDecCoef.\n
|
|
|
|
|
CNcomment:<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>HI_JPEG_GetDecCoef֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>HI_JPEG_SetDecCoef CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[out] pstOutDecCoef. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_GetDecCoef
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_GetDecCoef(const struct jpeg_decompress_struct *cinfo, HI_JPEG_DEC_COEF_S *pstOutDecCoef);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set alpha value. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>alpha<EFBFBD><EFBFBD>ֵ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetAlpha should have called jpeg_create_decompress.when decode output \n
|
|
|
|
|
argb8888 and argb8888,we can call this function,if no call it,use the default value. \n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪARGB8888<EFBFBD><EFBFBD>ABGR8888<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \n
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵ<EFBFBD>ֵ CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] s32Alpha. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>alphaֵ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetAlpha
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetAlpha(const struct jpeg_decompress_struct *cinfo, const HI_U32 u32Alpha);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set stream from flag of use phy mem or virtual mem. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
if want to use this function,should call between create decompress and
|
|
|
|
|
jpeg_stdio_src or jpeg_mem_src.if not call this we should check\n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>е<EFBFBD><EFBFBD>øýӿ<EFBFBD>Ҳ<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] pStreamPhyAddr. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetStreamPhyMem
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetStreamPhyMem(const struct jpeg_decompress_struct *cinfo, HI_CHAR* pStreamPhyAddr);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set stream mem information. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
if want to use this function,should call before call
|
|
|
|
|
jpeg_stdio_src or jpeg_mem_src.if not call this we should check\n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jpeg_mem_src֮ǰ CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] pPhyStremBuf. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>buffer<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ CNend
|
|
|
|
|
\param[in] u32StremBufLen. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>buffer<EFBFBD><EFBFBD>С CNend
|
|
|
|
|
\param[in] pVirSaveReturnBuf. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>buffer<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ַ CNend
|
|
|
|
|
\param[in] s32StrmReturnSize. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С CNend
|
|
|
|
|
\param[in] bStreamBufNeedReturn. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>buffer<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetBufInfo
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetBufInfo(const struct jpeg_decompress_struct *cinfo,HI_CHAR* pPhyStremBuf,HI_U32 u32StremBufLen, HI_CHAR* pVirSaveReturnBuf,HI_S32 s32StrmReturnSize,HI_BOOL bStreamBufNeedReturn);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set if dec output yuv420sp. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ͳһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>yuv420sp<EFBFBD><EFBFBD>ʶ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetYCbCr420spFlag should have called jpeg_create_decompress.\n
|
|
|
|
|
CNcomment:<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>HI_JPEG_SetYCbCr420spFlag֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] bOutYCbCr420sp. CNcomment:<EFBFBD>Ƿ<EFBFBD>ͳһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yuv420sp<EFBFBD><EFBFBD>ʽ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetYCbCr420spFlag
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetYCbCr420spFlag(const struct jpeg_decompress_struct *cinfo,const HI_BOOL bOutYCbCr420sp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set if output lu pixle sum value. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʶ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
HI_JPEG_SetLuPixSumFlag should have called jpeg_create_decompress.\n
|
|
|
|
|
CNcomment:<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>HI_JPEG_SetLuPixSumFlag֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[in] bLuPixSum. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʶ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetLuPixSumFlag
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetLuPixSumFlag(const struct jpeg_decompress_struct *cinfo,const HI_BOOL bLuPixSum);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief get lu pixle sum value. CNcomment:<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
If you want to get the luminance value, you can call this function, \n
|
|
|
|
|
but you should call it after jpeg_start_decompress and have call HI_JPEG_SetLuPixSumFlag.\n
|
|
|
|
|
CNcomment:Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jpeg_start_decompress֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD><EFBFBD> \n
|
|
|
|
|
֮ǰҪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>HI_JPEG_SetLuPixSumFlag CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[out] u64LuPixSum. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_GetLuPixSum
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_GetLuPixSum(const struct jpeg_decompress_struct *cinfo,HI_U64 *u64LuPixSum);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief get jpeg dec time. CNcomment:<EFBFBD><EFBFBD>ȡjpeg<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
If you want to know how much the decode cost time ,you can call HI_JPEG_GetDecTime, \n
|
|
|
|
|
but should have called it after jpeg_finish_decompress.\n
|
|
|
|
|
CNcomment:Ҫ<EFBFBD><EFBFBD><EFBFBD>뿴<EFBFBD><EFBFBD><EFBFBD>뻨<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[out] pu32DecTime. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_GetDecTime
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_GetDecTime(const struct jpeg_decompress_struct *cinfo, HI_U32 *pu32DecTime);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
\brief set the leave memory size. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> CNend
|
|
|
|
|
\attention \n
|
|
|
|
|
should have called it after create jpeg decoder.\n
|
|
|
|
|
CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend\n
|
|
|
|
|
|
|
|
|
|
\param[in] cinfo. CNcomment:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CNend
|
|
|
|
|
\param[int] sMemSizeInfo. CNcomment:<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>Ϣ CNend
|
|
|
|
|
|
|
|
|
|
\retval ::HI_SUCCESS
|
|
|
|
|
\retval ::HI_FAILURE
|
|
|
|
|
|
|
|
|
|
\see \n
|
|
|
|
|
::HI_JPEG_SetLeaveMemSize
|
|
|
|
|
*/
|
|
|
|
|
HI_S32 HI_JPEG_SetLeaveMemSize(const struct jpeg_decompress_struct *cinfo, HI_JPEG_MEMSIZE_INFO_S sMemSizeInfo);
|
|
|
|
|
|
|
|
|
|
/** @} */ /** <!-- ==== API Declaration End ==== */
|
|
|
|
|
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
|
|
|
|
#if __cplusplus
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
#endif /* __HI_JPEG_API_H__*/
|