/**************************************************************************//** * @file jpeg.h * @brief N9H30 JPEG driver header file * * @note * SPDX-License-Identifier: Apache-2.0 * Copyright (C) 2018 Nuvoton Technology Corp. All rights reserved. *****************************************************************************/ #ifndef __NU_JPEG_H__ #define __NU_JPEG_H__ #include "nu_jpegcodec.h" /** @addtogroup N9H30_Device_Driver N9H30 Device Driver @{ */ /** @addtogroup N9H30_JPEG_Driver JPEG Driver @{ */ /** @addtogroup N9H30_JPEG_EXPORTED_CONSTANTS JPEG Exported Constants @{ */ /// @cond HIDDEN_SYMBOLS // Define bits mask #define NVTBIT(start,end) ((0xFFFFFFFFUL >> (31 - start)) & (0xFFFFFFFFUL >>end << end)) /// @endcond HIDDEN_SYMBOLS //JMCR #define RESUMEI BIT9 /*!< Resume JPEG Operation for Input On-the-Fly Mode */ #define RESUMEO BIT8 /*!< Resume JPEG Operation for Output On-the-Fly Mode */ #define ENC_DEC BIT7 /*!< JPEG Encode/Decode Mode */ #define WIN_DEC BIT6 /*!< JPEG Window Decode Mode */ #define PRI BIT5 /*!< Encode Primary Image */ #define THB BIT4 /*!< Encode Thumbnail Image */ #define EY422 BIT3 /*!< Encode Image Format */ #define QT_BUSY BIT2 /*!< Quantization-Table Busy Status (Read-Only) */ #define ENG_RST BIT1 /*!< Soft Reset JPEG Engine (Except JPEG Control Registers) */ #define JPG_EN BIT0 /*!< JPEG Engine Operation Control */ //JHEADER #define P_JFIF BIT7 /*!< Primary JPEG Bit-stream Include JFIF Header */ #define P_HTAB BIT6 /*!< Primary JPEG Bit-stream Include Huffman-Table */ #define P_QTAB BIT5 /*!< Primary JPEG Bit-stream Include Quantization-Table */ #define P_DRI BIT4 /*!< Primary JPEG Bit-stream Include Restart Interval */ #define T_JFIF BIT3 /*!< Thumbnail JPEG Bit-stream Include JFIF Header */ #define T_HTAB BIT2 /*!< Thumbnail JPEG Bit-stream Include Huffman-Table */ #define T_QTAB BIT1 /*!< Thumbnail JPEG Bit-stream Include Quantization-Table */ #define T_DRI BIT0 /*!< Thumbnail JPEG Bit-stream Include Restart Interval */ //JITCR #define Dec_Scatter_Gather BIT18 #define DEC_OTF BIT17 /*!< Decoder on the fly with VPE */ #define ARGB8888 BIT16 /*!< ARGB8888 */ #define PLANAR_ON BIT15 /*!< Packet On */ #define ORDER BIT14 /*!< Decode Packet Data Order */ #define RGB_555_565 BIT13 /*!< RGB555 & RGB565 */ #define ROTATE NVTBIT(12,11) /*!< Encode Image Rotate */ #define DYUV_MODE NVTBIT(10,8) /*!< Decoded Image YUV Color Format (Read-Only) */ #define EXIF BIT7 /*!< Encode Quantization-Table & Huffman-Table Header Format Selection */ #define EY_ONLY BIT6 /*!< Encode Gray-level (Y-component Only) Image */ #define DHEND BIT5 /*!< Header Decode Complete Stop Enable */ #define DTHB BIT4 /*!< Decode Thumbnail Image Only */ #define E3QTAB BIT3 /*!< Numbers of Quantization-Table are Used For Encode */ #define D3QTAB BIT2 /*!< Numbers of Quantization-Table are Used For Decode (Read-Only) */ #define ERR_DIS BIT1 /*!< Decode Error Engine Abort */ #define PDHTAB BIT0 /*!< Programmable Huffman-Table Function For Decode */ //JPRIQC #define P_QADJUST NVTBIT(7,4) /*!< Primary Quantization-Table Adjustment */ #define P_QVS NVTBIT(3,0) /*!< Primary Quantization-Table Scaling Control */ //JTHBQC #define T_QADJUST NVTBIT(7,4) /*!< Thumbnail Quantization-Table Adjustment */ #define T_QVS NVTBIT(3,0) /*!< Thumbnail Quantization-Table Scaling Control */ //JPRIWH #define P_HEIGHT NVTBIT(27,16) /*!< Primary Encode Image Height */ #define P_WIDTH NVTBIT(11,0) /*!< Primary Encode Image Width */ //JTHBWH #define T_HEIGHT NVTBIT(27,16) /*!< Thumbnail Encode Image Height */ #define T_WIDTH NVTBIT(11,0) /*!< Thumbnail Encode Image Width */ //JPRST #define P_RST NVTBIT(7,0) /*!< Primary Encode Restart Interval Value */ //JTRST #define T_RST NVTBIT(7,0) /*!< Thumbnail Encode Restart Interval Value */ //JDECWH #define DEC_HEIGHT NVTBIT(31,16) /*!< 13-bit Bit Stream Buffer threshold */ #define DEC_WIDTH NVTBIT(15,0) /*!< 13-bit Header Offset Address */ //JINTCR #define JPG_DOW_INTE BIT28 /*!< Decoding Output Wait Interrupt Enable */ #define JPG_DOW_INTS BIT24 /*!< Status of Decoding Output Wait */ #define JPG_WAITI BIT23 /*!< JPEG Input Wait Status (Read-Only) */ #define JPG_WAITO BIT22 /*!< JPEG Output Wait Status (Read-Only) */ #define BAbort BIT16 /*!< JPEG Memory Access Error Status (Read-Only) */ #define CER_INTE BIT15 /*!< Un-complete Capture On-The-Fly Frame Occur Interrupt Enable */ #define DHE_INTE BIT14 /*!< JPEG Header Decode End Wait Interrupt Enable */ #define IPW_INTE BIT13 /*!< Input Wait Interrupt Enable */ #define OPW_INTE BIT12 /*!< Output Wait Interrupt Enable */ #define ENC_INTE BIT11 /*!< Encode Complete Interrupt Enable */ #define DEC_INTE BIT10 /*!< Decode Complete Interrupt Enable */ #define DER_INTE BIT9 /*!< Decode Error Interrupt Enable */ #define EER_INTE BIT8 /*!< Encode (On-The-Fly) Error Interrupt Enable */ #define CER_INTS BIT7 /*!< Un-complete Capture On-The-Fly Frame Occur Interrupt Status */ #define DHE_INTS BIT6 /*!< JPEG Header Decode End Wait Interrupt Status */ #define IPW_INTS BIT5 /*!< Input Wait Interrupt Status */ #define OPW_INTS BIT4 /*!< Output Wait Interrupt Status */ #define ENC_INTS BIT3 /*!< Encode Complete Interrupt Status */ #define DEC_INTS BIT2 /*!< Decode Complete Interrupt Status */ #define DER_INTS BIT1 /*!< Decode Error Interrupt Status */ #define EER_INTS BIT0 /*!< Encode (On-The-Fly) Error Interrupt Status */ //JPEG_BSBAD #define BIST_ST NVTBIT(23,16) /*!< Internal SRAM BIST Status (Read-Only) */ #define TEST_DOUT NVTBIT(15,8) /*!< Test Data Output (Read-Only) */ #define TEST_ON BIT7 /*!< Test Enable */ #define BIST_ON BIT6 /*!< Internal SRAM BIST Mode Enable */ #define BIST_FINI BIT5 /*!< Internal SRAM BIST Mode Finish (Read-Only) */ #define BSBAD_BIST_FAIL BIT4 /*!< Internal SRAM BIST Mode Fail (Read-Only) */ #define TEST_SEL NVTBIT(3,0) /*!< Test Data Selection */ //JWINDEC0 #define MCU_S_Y NVTBIT(24,16) /*!< MCU Start Position Y For Window Decode Mode */ #define MCU_S_X NVTBIT(8,0) /*!< MCU Start Position X For Window Decode Mode */ //JWINDEC1 #define MCU_E_Y NVTBIT(24,16) /*!< MCU End Position Y For Window Decode Mode */ #define MCU_E_X NVTBIT(8,0) /*!< MCU End Position X For Window Decode Mode */ //JWINDEC2 #define WD_WIDTH NVTBIT(11,0)) /*!< Image Width (Y-Stride) For Window Decode Mode */ //JMACR #define FLY_SEL NVTBIT(29,24) /*!< Hardware Memory On-the-Fly Access Image Buffer-Size Selection for Encode */ #define FLY_TYPE NVTBIT(23,22) /*!< Dual/Single buffer on-the fly */ #define BSF_SEL NVTBIT(17,8) /*!< Memory On-the-Fly Access Bitstream Buffer-Size Selection */ #define FLY_ON BIT7 /*!< Hardware Memory On-the-Fly Access Mode */ #define IP_SF_ON BIT3 /*!< Software Memory On-the-Fly Access Mode for Data Input */ #define OP_SF_ON BIT2 /*!< Software Memory On-the-Fly Access Mode for Data Output */ #define ENC_MODE NVTBIT(1,0) /*!< JPEG Memory Address Mode Control */ //JPSCALU #define JPSCALU_8X BIT6 /*!< Primary Image Up-Scaling For Encode */ #define A_JUMP BIT2 /*!< Reserve Buffer Size In JPEG Bit-stream For Software Application */ //JPSCALD #define PSX_ON BIT15 /*!< Primary Image Horizontal Down-Scaling For Encode/Decode */ #define PS_LPF_ON BIT14 /*!< Primary Image Down-Scaling Low Pass Filter For Decode */ #define PSCALX_F NVTBIT(12,8) /*!< Primary Image Horizontal Down-Scaling Factor */ #define PSCALY_F NVTBIT(5,0) /*!< Primary Image Vertical Down-Scaling Factor */ //JTSCALD #define TSX_ON BIT15 /*!< Thumbnail Image Horizontal Down-Scaling For Encode/Decode */ #define TSCALX_F NVTBIT(14,8) /*!< Thumbnail Image Horizontal Down-Scaling Factor */ #define TSCALY_F NVTBIT(7,0) /*!< Thumbnail Image Vertical Down-Scaling Factor */ //JDBCR #define DBF_EN BIT7 /*!< Dual Buffering Control */ #define IP_BUF BIT4 /*!< Input Dual Buffer Control */ //JRESERVE #define RES_SIZE NVTBIT(15,0) /*!< Primary Encode Bit-stream Reserved Size */ //JOFFSET #define OFFSET_SIZE NVTBIT(23,0) /*!< Primary/Thumbnail Starting Address Offset Size */ //JFSTRIDE #define F_STRIDE NVTBIT(23,0) /*!< JPEG Encode Bit-stream Frame Stride */ //JYADDR0 #define Y_IADDR0 NVTBIT(31,0) /*!< JPEG Y Component Frame Buffer-0 Starting Address */ //JUADDR0 #define U_IADDR0 NVTBIT(31,0) /*!< JPEG U Component Frame Buffer-0 Starting Address */ //JVADDR0 #define V_IADDR0 NVTBIT(31,0) /*!< JPEG V Component Frame Buffer-0 Starting Address */ //JYADDR1 #define Y_IADDR1 NVTBIT(31,0) /*!< JPEG Y Component Frame Buffer-1 Starting Address */ //JUADDR1 #define U_IADDR1 NVTBIT(31,0) /*!< JPEG U Component Frame Buffer-1 Starting Address */ //JVADDR1 #define V_IADDR1 NVTBIT(31,0) /*!< JPEG V Component Frame Buffer-1 Starting Address */ //JYSTRIDE #define Y_STRIDE NVTBIT(11,0) /*!< JPEG Y Component Frame Buffer Stride */ //JUSTRIDE #define U_STRIDE NVTBIT(11,0) /*!< JPEG U Component Frame Buffer Stride */ //JVSTRIDE #define V_STRIDE NVTBIT(11,0) /*!< JPEG V Component Frame Buffer Stride */ //JIOADDR0 #define IO_IADDR0 NVTBIT(31,0) /*!< JPEG Bit-stream Frame Buffer-0 Starting Address */ //JIOADDR1 #define IO_IADDR1 NVTBIT(31,0) /*!< JPEG Bit-stream Frame Buffer-1 Starting Address */ //JPRI_SIZE #define PRI_SIZE NVTBIT(23,0) /*!< JPEG Primary Image Encode Bit-stream Size */ //JTHB_SIZE #define THB_SIZE NVTBIT(15,0) /*!< JPEG Thumbnail Image Encode Bit-stream Size */ //JUPRAT #define S_HEIGHT NVTBIT(29,16) /*!< JPEG Image Height Up-Scale Ratio */ #define S_WIDTH NVTBIT(13,0) /*!< JPEG Image Width Up-Scale Ratio */ //JBSFIFO #define BSFIFO_HT NVTBIT(6,4) /*!< Bit-stream FIFO High-Threshold Control */ #define BSFIFO_LT NVTBIT(2,0) /*!< Bit-stream FIFO Low-Threshold Control */ //JSRCH #define JSRCH_JSRCH NVTBIT(11,0) /*!< JPEG Encode Source Image Height */ /*@}*/ /* end of group N9H30_JPEG_EXPORTED_CONSTANTS */ /// @cond HIDDEN_SYMBOLS //Define for Interrupt Status #define JPEG_EER_INTS EER_INTS #define JPEG_DER_INTS DER_INTS #define JPEG_DEC_INTS DEC_INTS #define JPEG_ENC_INTS ENC_INTS #define JPEG_DHE_INTS DHE_INTS #define JPEG_IPW_INTS IPW_INTS //Define for Scaling #define JPEG_ENC_UPSCALE_MODE 0 #define JPEG_DEC_PACKET_DOWNSCALE_MODE 1 #define JPEG_DEC_PLANAR_DOWNSCALE_MODE 2 #define JPEG_ENC_PLANAR_PRIMARY_DOWNSCALE_MODE 3 #define JPEG_ENC_PLANAR_THUMBNAIL_DOWNSCALE_MODE 4 //Define for Interrupt Enable #define JPEG_EER_INTE ERR_INTE #define JPEG_DER_INTE DER_INTE #define JPEG_DEC_INTE DEC_INTE #define JPEG_ENC_INTE ENC_INTE #define JPEG_DHE_INTE DHE_INTE #define JPEG_IPW_INTE IPW_INTE //Register #define REG_JMCR JMCR /*!< JPEG Mode Control Register */ #define REG_JHEADER JHEADER /*!< JPEG Encode Header Control Register */ #define REG_JITCR JITCR /*!< JPEG Image Type Control Register */ #define REG_JPRIQC JPRIQC /*!< JPEG Primary Q-Table Control Register */ #define REG_JTHBQC JTHBQC /*!< JPEG Thumbnail Q-Table Control Register */ #define REG_JPRIWH JPRIWH /*!< JPEG Encode Primary Width/Height Register */ #define REG_JTHBWH JTHBWH /*!< JPEG Encode Thumbnail Width/Height Register */ #define REG_JPRST JPRST /*!< JPEG Encode Primary Restart Interval Register */ #define REG_JTRST JTRST /*!< JPEG Encode Thumbnail Restart Interval */ #define REG_JDECWH JDECWH /*!< JPEG Decode Image Width/Height Register */ #define REG_JINTCR JINTCR /*!< JPEG Interrupt Control and Status Register */ #define REG_JTEST JTEST /*!< JPEG Test Control Register */ #define REG_JWINDEC0 JWINDEC0 /*!< JPEG Window Decode Mode Control Register 0 */ #define REG_JWINDEC1 JWINDEC1 /*!< JPEG Window Decode Mode Control Register 1 */ #define REG_JWINDEC2 JWINDEC2 /*!< JPEG Window Decode Mode Control Register 2 */ #define REG_JMACR JMACR /*!< JPEG Memory Address Mode Control Register */ #define REG_JPSCALU JPSCALU /*!< JPEG Primary Scaling-Up Control Register */ #define REG_JPSCALD JPSCALD /*!< JPEG Primary Scaling-Down Control Register */ #define REG_JTSCALD JTSCALD /*!< JPEG Thumbnail Scaling-Down Control Register */ #define REG_JDBCR JDBCR /*!< JPEG Dual-Buffer Control Register */ #define REG_JRESERVE JRESERVE /*!< JPEG Encode Primary Bit-stream Reserved Size Register */ #define REG_JOFFSET JOFFSET /*!< JPEG Offset Between Primary & Thumbnail Register */ #define REG_JFSTRIDE JFSTRIDE /*!< JPEG Encode Bit-stream Frame Stride Register */ #define REG_JYADDR0 JYADDR0 /*!< JPEG Y Component Frame Buffer-0 Starting Address Register */ #define REG_JUADDR0 JUADDR0 /*!< JPEG U Component Frame Buffer-0 Starting Address Register */ #define REG_JVADDR0 JVADDR0 /*!< JPEG V Component Frame Buffer-0 Starting Address Register */ #define REG_JYADDR1 JYADDR1 /*!< JPEG Y Component Frame Buffer-1 Starting Address Register */ #define REG_JUADDR1 JUADDR1 /*!< JPEG U Component Frame Buffer-1 Starting Address Register */ #define REG_JVADDR1 JVADDR1 /*!< JPEG V Component Frame Buffer-1 Starting Address Register */ #define REG_JYSTRIDE JYSTRIDE /*!< JPEG Y Component Frame Buffer Stride Register */ #define REG_JUSTRIDE JUSTRIDE /*!< JPEG U Component Frame Buffer Stride Register */ #define REG_JVSTRIDE JVSTRIDE /*!< JPEG V Component Frame Buffer Stride Register */ #define REG_JIOADDR0 JIOADDR0 /*!< JPEG Bit-stream Frame Buffer-0 Starting Address Register */ #define REG_JIOADDR1 JIOADDR1 /*!< JPEG Bit-stream Frame Buffer-1 Starting Address Register */ #define REG_JPRI_SIZE JPRI_SIZE /*!< JPEG Encode Primary Image Bit-stream Size Register */ #define REG_JTHB_SIZE JTHB_SIZE /*!< JPEG Encode Thumbnail Image Bit-stream Size Register */ #define REG_JUPRAT JUPRAT /*!< JPEG Encode Up-Scale Ratio Register */ #define REG_JBSFIFO JBSFIFO /*!< JPEG Bit-stream FIFO Control Register */ #define REG_JSRCH JSRCH /*!< JPEG Encode Source Image Height */ #define REG_JQTAB0 JQTAB0 /*!< JPEG Quantization-Table 0 Register */ #define REG_JQTAB1 JQTAB1 /*!< JPEG Quantization-Table 1 Register */ #define REG_JQTAB2 JQTAB2 /*!< JPEG Quantization-Table 2 Register */ //Export functions #define JPEG_SET_YADDR(u32Address) outp32(REG_JYADDR0, u32Address) #define JPEG_SET_UADDR(u32Address) outp32(REG_JUADDR0, u32Address) #define JPEG_SET_VADDR(u32Address) outp32(REG_JVADDR0, u32Address) #define JPEG_GET_YADDR() inp32(REG_JYADDR0) #define JPEG_GET_UADDR() inp32(REG_JUADDR0) #define JPEG_GET_VADDR() inp32(REG_JVADDR0) #define JPEG_SET_YSTRIDE(u32Stride) outp32(REG_JYSTRIDE, u32Stride) #define JPEG_SET_USTRIDE(u32Stride) outp32(REG_JUSTRIDE, u32Stride) #define JPEG_SET_VSTRIDE(u32Stride) outp32(REG_JVSTRIDE, u32Stride) #define JPEG_GET_YSTRIDE() inp32(REG_JYSTRIDE) #define JPEG_GET_USTRIDE() inp32(REG_JUSTRIDE) #define JPEG_GET_VSTRIDE() inp32(REG_JVSTRIDE) #define JPEG_SET_BITSTREAM_ADDR(u32Address) outp32(REG_JIOADDR0,u32Address) #define JPEG_GET_BITSTREAM_ADDR() inp32(REG_JIOADDR0) #define JPEG_SET_ENC_DEC(u8Mode) outp32(REG_JMCR, (inp32(REG_JMCR) & ~ENC_DEC) | (u8Mode << 7)); //Encode #define JPEG_GET_ENC_PRIMARY_BITSTREAM_SIZE() inp32(REG_JPRI_SIZE) #define JPEG_GET_ENC_THUMBNAIL_BITSTREAM_SIZE() inp32(REG_JTHB_SIZE) #define JPEG_SET_SOURCE_IMAGE_HEIGHT(u16Size) outp32(REG_JSRCH,u16Size) #define JPEG_GET_SOURCE_IMAGE_HEIGHT() inp32(REG_JSRCH) #define JPEG_ENC_ENABLE_UPSCALING() outp32(REG_JPSCALU,inp32(REG_JPSCALU) | JPSCALU_8X) #define JPEG_ENC_DISABLE_UPSCALING() outp32(REG_JPSCALU,inp32(REG_JPSCALU) & ~JPSCALU_8X) #define JPEG_ENC_ISENABLE_UPSCALING() ((inp32(REG_JPSCALU) & JPSCALU_8X) >> 6) #define JPEG_ENC_SET_HEADER_CONTROL(u8Control) outp32(REG_JHEADER, u8Control) #define JPEG_ENC_GET_HEADER_CONTROL() inp32(REG_JHEADER) #define JPEG_ENC_SET_RDI_VALUE(u8Value) outp32(REG_JPRST,u8Value) #define JPEG_ENC_GET_RDI_VALUE() inp32(REG_JPRST) //Decode #define JPEG_DEC_ENABLE_DOWNSCALING() outp32(REG_JPSCALD, PSX_ON) #define JPEG_DEC_ISENABLE_DOWNSCALING() ((inp32(REG_JPSCALD) & PSX_ON) >> 15) #define JPEG_DEC_DISABLE_DOWNSCALING() outp32(REG_JPSCALD,~PSX_ON) #define JPEG_DEC_GET_DECODED_IMAGE_FORMAT() (inp32(REG_JITCR) & DYUV_MODE) #define JPEG_DEC_ENABLE_LOW_PASS_FILTER() outp32(REG_JPSCALD,inp32(REG_JPSCALD) | PS_LPF_ON) #define JPEG_DEC_DISABLE_LOW_PASS_FILTER() outp32(REG_JPSCALD,inp32(REG_JPSCALD) & ~PS_LPF_ON) #define JPEG_DEC_ISENABLE_LOW_PASS_FILTER() ((inp32(REG_JPSCALD) & PS_LPF_ON) >> 14) #define JPEG_DEC_SET_INPUT_WAIT(u16Size) outp32(REG_JMACR, 0x00400008 | ((u16Size & 0x3FF)<< 8) ); #define JPEG_DEC_RESUME_INPUT_WAIT() outp32(REG_JMCR,inp32(REG_JMCR) | RESUMEI); #define JPEG_DEC_DISABLE_WINDOWDECODE() outp32(REG_JMCR, inp32(REG_JMCR) & ~(WIN_DEC)); //Interrupt #define JPEG_INT_ENABLE(u32Intflag) outp32(REG_JINTCR, u32Intflag) #define JPEG_INT_DISABLE(u32Intflag) outp32(REG_JINTCR, inp32 (REG_JINTCR) & ~(u32Intflag)) #define JPEG_GET_INT_STATUS() (inp32(REG_JINTCR) & 0x010000FF) #define JPEG_CLEAR_INT(u32Intflag) outp32(REG_JINTCR, (inp32 (REG_JINTCR) & ~0xFF) | u32Intflag) static INT jpegSetEncodeMode(UINT8 u8SourceFormat, UINT16 u16JpegFormat); static INT jpegSetDecodeMode(UINT32 u8OutputFormat); static BOOL jpegPollInt(UINT32 u32Intflag); static VOID jpegEncodeTrigger(void); static VOID jpegDecodeTrigger(void); static VOID jpegGetDecodedDimension( PUINT16 pu16Height, //Decode/Encode Height PUINT16 pu16Width //Decode/Encode Width ); static VOID jpegSetDimension( UINT16 u16Height, //Decode/Encode Height UINT16 u16Width //Decode/Encode Width ); static VOID jpegGetDimension( PUINT16 pu16Height, //Decoded Height from bit stream PUINT16 pu16Width //Decoded Width from bit stream ); static INT jpegSetWindowDecode( UINT16 u16StartMCUX, //Start X MCU UINT16 u16StartMCUY, //Horizontal Scaling Factor UINT16 u16EndMCUX, //Vertical Scaling Factor UINT16 u16EndMCUY, //Horizontal Scaling Factor UINT32 u32Stride //Decode Output Stride ); static INT jpegCalScalingFactor( UINT8 u8Mode, //Up / Down Scaling UINT16 u16Height, //Original Height UINT16 u16Width, //Original Width UINT16 u16ScalingHeight, //Scaled Height UINT16 u16ScalingWidth, //Scaled Width PUINT16 pu16RatioH, //Horizontal Ratio PUINT16 pu16RatioW //Vertical Ratio ); static INT jpegSetScalingFactor( UINT8 u8Mode, //Up / Down Scaling UINT16 u16FactorH, //Vertical Scaling Factor UINT16 u16FactorW //Horizontal Scaling Factor ); static VOID jpegGetScalingFactor( UINT8 u8Mode, //Up / Down Scaling PUINT16 pu16FactorH, //Vertical Scaling Factor PUINT16 pu16FactorW //Horizontal Scaling Factor ); /// @endcond HIDDEN_SYMBOLS /*@}*/ /* end of group N9H30_JPEG_Driver */ /*@}*/ /* end of group N9H30_Device_Driver */ #endif