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

📄 jpeg_bitsbuffer.h

📁 ADI blackfin DSP的基于device friver的jpeg压缩算法
💻 H
字号:
/*****************************************************************************
Copyright(c) 2005 Analog Devices, Inc.  All Rights Reserved. This software is 
proprietary and confidential to Analog Devices, Inc. and its licensors.
******************************************************************************

$RCSfile: JPEG_bitsbuffer.h,v $
$Revision: 1.1 $
$Date: 2006/07/17 07:18:18 $

Project:	JPEG IMAGE CODEC
Title:		User-Defined Typedefs
Author(s):	D.G, A.S, P.G
Revised by:	

Description:
Header for all user-defined modules.
This header file is only for use with the user-defined data buffer module.
It must NOT be included by any JPEG Library module.

The data structures defined here are ONLY referenced in the user-defined 
modules: McuBuffer.c, BitsBuffer.c and MemAlloc.c.

References:
	
******************************************************************************
Tab Setting:			4
Target Processor:		Blackfin
Target Tools Revision:	ccblkfn		C/C++ compiler					6.3.0.0
						easmblkfn	BlackFin assembler				2.2.4.1
						elfar		ELF Librarian/Archive Utility	4.4.1.2
						linker		Linker							2.8.8.2
******************************************************************************

Modification History:
====================
$Log: JPEG_bitsbuffer.h,v $
Revision 1.1  2006/07/17 07:18:18  bmk
JPEG-MJPEG User access files


******************************************************************************/

#ifndef MY_TYPEDEFS_H
#define MY_TYPEDEFS_H

#include <stdio.h>
#include "IMG_common.h"				// for int32 and other typedefs
#include "JPEG_memalloc.h"




/****************************************************************************
 * 		Typedefs/Enumerations												*
 ****************************************************************************/

/* For passing buffers */
typedef struct {
    int     Length;
    uint8   *Pointer;
} tIMG_BufferInfo; 
 
/* Structure for Bits Buffer (Encoder tPutBitsBuffer, renamed) */
typedef struct
{
    // Encoder-only members:
	uint8		*externalBuffer;        // Pointer to output buffer (ENCODER only)
	
	uint8		*desBuffer1;			// aligned to 4
	uint8		*desBuffer2;			// aligned to 4
	int32		externalBufferIndex;    // Pointer to unused part of externalBuffer
	int32		firstOrsecondBuffer;	// A bitsBufferIndex
	int32		nextBuffer;				// Flag to state that Request should use the next buffer.
	int32		numberOfBuffers;		// Number of bits buffers available
	int32		numberOfEmptyBuffers;	// Number of empty bits buffers
	int32		writeBufferCount;		// Buffer count (for dma check)
	int32		numBytes;               // Total number of bytes written TO buffer
	int32		dmaInitiateThreshold;

    // Decoder-only members:
    tIMG_BufferInfo	*ptrFile;			// Pointer to input file
    int         	numBytesBuf_1;		// No of bytes read into buffer 1
    int         	numBytesBuf_2;		// No of bytes read into buffer 2
    int         	end_of_file;		// Set to 1 when end of input file reached

    // Encoder and Decoder Mem Alloc members:
	MemObjHandle	*ThisMemObj;		// memory allocated for tPutBitsBuffer itself
	MemObjHandle	*BufferMemObjs[2];	// for array of buffer memory allocations
	
	int         is_encoder;             // Set to 1 for encoder; 0 for decoder

	MemObjHandle	*DecodeBitStreamMemObj;		// memory allocated for entire Bit Stream Buffer
    uint8       *InputBitstreamFile;
    int         BitStreamFileSize;
    int         InputFilePosition;
} tBitsBuffer;



#endif // MY_TYPEDEFS_H

⌨️ 快捷键说明

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