usr_routines.h

来自「快速开发基于Blackfin处理器的视频应用」· C头文件 代码 · 共 109 行

H
109
字号
/*****************************************************************************
Copyright(c) 2005 Analog Devices, Inc.  All Rights Reserved. This software is 
proprietary and confidential to Analog Devices, Inc. and its licensors.
******************************************************************************

$RCSfile: usr_routines.h,v $
$Revision: 1.2 $
$Date: 2005/10/28 02:49:13 $

Project:	Developer Kit
Title:		User defined routines to be called by service/utility modules
Author(s):	dwu
Revised by: 

Description:
			User defined ISRs for the PPI and MDMA.

References:
			None

******************************************************************************
Tab Setting:			4

Target Processor:		ADSP-BF533
Target Tools Revision:	ADSP VisualDSP++ v4.0.1.0 (Mar 18 2005 Update)
******************************************************************************

Modification History:
====================
$Log: usr_routines.h,v $
Revision 1.2  2005/10/28 02:49:13  dwu
Added error checking code for JPEG/MJPEG routines, and added ADI
legal headers.

Revision 1.1.1.1  2005/10/13 02:50:16  dwu
no message

Revision 1.2  2005/09/16 02:30:39  dwu
Added multiple input and output buffers to absorb encodinig/decoding MIPS
spikes. Need to update to the newer JPEG_MCUBuffer.c to have these
files link.

Revision 1.1  2005/07/29 06:28:03  dwu
Newly added files to contain project specific routines/data


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

#ifndef USR_ROUTINES__H
#define USR_ROUTINES__H

#include "IMG_common.h"
#include "semaphores.h"
#include <services/services.h>
#include <drivers/adi_dev.h>
#include <drivers/adi_ppi.h>			// PPI driver includes
#include "ezkitutilities.h"
#include "system.h"
#include "video_656.h"


/*****************************************************************************
 *          #DEFINES                                                         *
 *****************************************************************************/
// For MJPEG, the maximum resolution to be decoded is the NTSC resolution, so
// divide the YUV420 buffer into a number of buffers of NTSC resolution
#define NUM_OF_YUV_BUFS (MAX_DECODED_WIDTH*MAX_DECODED_HEIGTH/\
						 (CCIR656_ACTIVEWIDTH*CCIR656_ACTIVEHEIGHT))
#define UPDATETYPE_READ 1
#define	UPDATETYPE_WRITE 2

/*****************************************************************************
 *			TYPEDEFS / ENUMERATIONS											 *
 *****************************************************************************/

 
/*****************************************************************************
 *			Variable declaratioins											 *
 *****************************************************************************/
extern char YUV420Buffer[MAX_DECODED_WIDTH * MAX_DECODED_HEIGTH *3/2];
extern unsigned int display_Width;
extern unsigned int	display_Height;
extern unsigned int	Frame_Offset;
extern unsigned int	width;
extern unsigned int	height;
extern unsigned int	Input_Width;
extern unsigned int	Input_Height;
extern volatile char* YUV_Buffer_Address[NUM_OF_YUV_BUFS];
extern volatile int BufferLevel;
extern volatile int YUVBufferReadIndex;
extern volatile int YUVBufferWriteIndex;



/****************************************************************************
 *      	API FUNCTION PROTOTYPES                                         *
 ****************************************************************************/
void PPI_In_User_Callback(void *AppHandle,u32 Event,void *pArg);
void MDMA1_User_Callback(void *AppHandle,u32 Event,void *pArg);
void PPI_Out_User_Callback(void *AppHandle,u32 Event,void *pArg);
void UpdateYUVIndex(int UpdateType);
void InitBufferQueue();
void InitDescriptorChains_Output();
void InitDescriptorChains_Input();


#endif  // #ifndef USR_ROUTINES__H

⌨️ 快捷键说明

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