亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ej_bbs.h.bak

?? ADI blackfin DSP的基于device friver的jpeg壓縮算法
?? BAK
字號:

#ifndef EJ_BBS_H
#define EJ_BBS_H

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

Include files

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

#include <services\services.h>				// system services
#include <drivers\adi_dev.h>				// device manager includes
#include <drivers\ppi\adi_ppi.h>			// PPI driver includes

#include "adi_itu656.h"		                // ITU656 utilities
#include "error_def.h"
#include "basic_type.h"

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

ADSP-BF533/537 have only 1 PPI called PPI0
ADSP-BF561 has 2, PPI0 connected to video decoder, PPI1 to video encoder

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

#if defined(__ADSPBF561__)
#define ENCODER_PPI (1)
#define DECODER_PPI (0)
#else
#define ENCODER_PPI (0)
#define DECODER_PPI (0)
#endif

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

Processor Specifics

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

/********************
	Edinburgh  531-533
********************/

#if defined(__ADSP_EDINBURGH__)		// Edinburgh class devices

typedef enum {                    
    DEV_PPI,                           		
    DEV_SPORT0,                           
    DEV_SPORT1,
    DEV_SPI,                         
    DEV_UART,
}DEV_TYPE_ID;

typedef enum {                          // DMA Channel ID
    DMA_PPI,                           // DMA 0 - default channel for PPI.
    DMA_SPORT0_RX,                           // DMA 1 - default channel for SPORT0 receive.
    DMA_SPORT0_TX,                           // DMA 2 - default channel for SPORT0 transmit.
    DMA_SPORT1_RX,                           // DMA 3 - default channel for SPORT1 receive.
    DMA_SPORT1_TX,                           // DMA 4 - default channel for SPORT1 transmit
    DMA_SPI,                           // DMA 5 - default channel for SPI.
    DMA_UART_RX,                           // DMA 6 - default channel for UART receive.
    DMA_UART_TX,                           // DMA 7 - default channel for UART transmit.
    DMA_MDMA_D0,                        // Memory DMA Stream 0 Destination.
    DMA_MDMA_S0,                        // Memory DMA Stream 0 Source.
    DMA_MDMA_D1,                        // Memory DMA Stream 1 Destination.
    DMA_MDMA_S1,                        // Memory DMA Stream 1 Source.
    DMA_CHANNEL_COUNT,                  // number of DMA channels
} DMA_TYPE_ID;

typedef enum {                          // Stream IDs for memory DMA
    DMA_MDMA_0,                         // memory DMA stream 0
    DMA_MDMA_1,                         // memory DMA stream 1

    DMA_MEMORY_STREAM_COUNT,            // number of memory DMA streams
} DMA_STREAM_ID;


#endif


/********************
	Braemar  534-537
********************/

#if defined(__ADSP_BRAEMAR__)		// Braemar class devices

typedef enum {                    
    DEV_PPI,
    DEV_ETHERNET,
    DEV_SPORT0,                           
    DEV_SPORT1,
    DEV_SPI,                         
    DEV_UART0,
    DEV_UART1,
}DEV_TYPE_ID;

typedef enum {                          // DMA Channel ID
    DMA_PPI,                           // DMA 0   - default channel for PPI.
    DMA_ETHERNET_RX,                           // DMA 1   - default channel for Ethernet MAC receive.
    DMA_ETHERNET_TX,                           // DMA 2   - default channel for Ethernet MAC transmit.
    DMA_SPORT0_RX,                           // DMA 3   - default channel for SPORT0 receive.
    DMA_SPORT0_TX,                           // DMA 4   - default channel for SPORT0 transmit.
    DMA_SPORT1_RX,                           // DMA 5   - default channel for SPORT1 receive.
    DMA_SPORT1_TX,                           // DMA 6   - default channel for SPORT1 transmit
    DMA_SPI,                           // DMA 7   - default channel for SPI.
    DMA_UART0_RX,                           // DMA 8   - default channel for UART0 receive.
    DMA_UART0_TX,                           // DMA 9   - default channel for UART0 transmit.
    DMA_UART1_RX,                          // DMA 10  - default channel for UART1 receive.
    DMA_UART1_TX,                          // DMA 11  - default channel for UART1 transmit.
    DMA_MDMA_D0,                        // Memory DMA Stream 0 Destination.
    DMA_MDMA_S0,                        // Memory DMA Stream 0 Source.
    DMA_MDMA_D1,                        // Memory DMA Stream 1 Destination.
    DMA_MDMA_S1,                        // Memory DMA Stream 1 Source.
    DMA_CHANNEL_COUNT,                  // number of DMA channels
} DMA_TYPE_ID;

typedef enum {                          // Stream IDs for memory DMA
    DMA_MDMA_0,                         // memory DMA stream 0
    DMA_MDMA_1,                         // memory DMA stream 1

    DMA_MEMORY_STREAM_COUNT,            // number of memory DMA streams
} DMA_STREAM_ID;

#endif


/********************
	Teton-Lite  534-537
********************/

#if defined(__ADSP_TETON__)			// Teton class devices

typedef enum {                    
    DEV_PPI1,
    DEV_PPI2,
    DEV_SPORT0,                           
    DEV_SPORT1,
    DEV_SPI,                         
    DEV_UART,
}DEV_TYPE_ID;


typedef enum {                          // DMA Channel ID
    DMA_PPI1,                         // DMA1 Channel 0 - default channel for PPI1
    DMA_PPI2,                         // DMA1 Channel 1 - default channel for PPI2
    DMA_DMA1_2,                         // DMA1 Channel 2
    DMA_DMA1_3,                         // DMA1 Channel 3
    DMA_DMA1_4,                         // DMA1 Channel 4
    DMA_DMA1_5,                         // DMA1 Channel 5
    DMA_DMA1_6,                         // DMA1 Channel 6
    DMA_DMA1_7,                         // DMA1 Channel 7
    DMA_DMA1_8,                         // DMA1 Channel 8
    DMA_DMA1_9,                         // DMA1 Channel 9
    DMA_DMA1_10,                        // DMA1 Channel 10
    DMA_DMA1_11,                        // DMA1 Channel 11
    DMA_MDMA1_D0,                       // DMA1 Memory DMA Stream 0 Destination.
    DMA_MDMA1_S0,                       // DMA1 Memory DMA Stream 0 Source.
    DMA_MDMA1_D1,                       // DMA1 Memory DMA Stream 1 Destination.
    DMA_MDMA1_S1,                       // DMA1 Memory DMA Stream 1 Source.

    DMA_DMA2_SPORT0_RX,                         // DMA2 Channel 0 - default channel for SPORT0 RX
    DMA_DMA2_SPORT0_TX,                         // DMA2 Channel 1 - default channel for SPORT0 TX
    DMA_DMA2_SPORT1_RX,                         // DMA2 Channel 2 - default channel for SPORT1 RX
    DMA_DMA2_SPORT1_TX,                         // DMA2 Channel 3 - default channel for SPORT1 TX
    DMA_DMA2_SPI,                         // DMA2 Channel 4 - default channel for SPI
    DMA_DMA2_UART_RX,                         // DMA2 Channel 5 - default channel for UART RX
    DMA_DMA2_UART_TX,                         // DMA2 Channel 6 - default channel for UART TX
    DMA_DMA2_7,                         // DMA2 Channel 7
    DMA_DMA2_8,                         // DMA2 Channel 8
    DMA_DMA2_9,                         // DMA2 Channel 9
    DMA_DMA2_10,                        // DMA2 Channel 10
    DMA_DMA2_11,                        // DMA2 Channel 11
    DMA_MDMA2_D0,                       // DMA2 Memory DMA Stream 0 Destination.
    DMA_MDMA2_S0,                       // DMA2 Memory DMA Stream 0 Source.
    DMA_MDMA2_D1,                       // DMA2 Memory DMA Stream 1 Destination.
    DMA_MDMA2_S1,                       // DMA2 Memory DMA Stream 1 Source.

    DMA_IMDMA_D0,                       // IMDMA Stream 0 Destination.
    DMA_IMDMA_S0,                       // IMDMA Stream 0 Source.
    DMA_IMDMA_D1,                       // IMDMA Stream 1 Destination.
    DMA_IMDMA_S1,                       // IMDMA Stream 1 Source.

    DMA_CHANNEL_COUNT,                  // number of DMA channels
} DMA_TYPE_ID;

typedef enum {                          // Stream IDs for memory DMA
    DMA_MDMA1_0,                        // memory DMA, controller 1, stream 0
    DMA_MDMA1_1,                        // memory DMA, controller 1, stream 1
    DMA_MDMA2_0,                        // memory DMA, controller 2, stream 0
    DMA_MDMA2_1,                        // memory DMA, controller 2, stream 1
    DMA_IMDMA_0,                        // internal memory DMA, stream 0
    DMA_IMDMA_1,                        // internal memory DMA, stream 1

    DMA_MEMORY_STREAM_COUNT,            // number of memory DMA streams
} DMA_STREAM_ID;
#endif


typedef enum {						// Buffer types
	DEV_BUFFER_UNDEFINED,			// undefined
	DEV_1D,							// 1 dimensional buffer
	DEV_2D,							// 2 dimensional buffer
	DEV_CIRC, 						// circular buffer
	DEV_SEQ_1D,						// sequential 1 dimensional buffer
} DEV_BUFFER_TYPE;




class EJ_BBS
{
public:
	EJ_BBS();
	virtual ~EJ_BBS();

	/*	init_core 
	 * 
	 *	Description: 
	 *		init the core system,including pll,sdram,timer, interrupt ...
	 *      but network setting is leave to user, may be add in later
	 *
	 *
	 */
	void init_core(void);

	/*	init_system_service 
	 * 
	 *	Description: 
	 *		init the system service provided by adi system service lib
	 *    u8 *pMemoryForSysService:
	 *                     point to the memory block that system service need,      
	 *    size_t *MemorySizeUsed:
	 *                     memory size used by system service,  MemorySizeUsed = 
	 *																	(ADI_DMA_BASE_MEMORY + ADI_DMA_CHANNEL_MEMORY*DmaChannelNum)
	 * 																+ (ADI_INT_SECONDARY_MEMORY * SecHandlerNum)
	 *																+ (ADI_DCB_QUEUE_SIZE + (ADI_DCB_ENTRY_SIZE)*DcbCallbackNum);
	 *
	 *    note, if use mem DMA, always need 2 channels for a memory copy
	 *
	 *	Return:
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	
	RESULT init_system_service(u8 *pMemoryForSysService, size_t *MemorySizeUsed , 
									const size_t DmaChannelNum, const size_t IntSecHandlerNum, const size_t DcbCallbackNum);

	/*	init_device_driver 
	 * 
	 *	Description: 
	 *		init the device driver provided by adi device driver lib
	 *    u8 *pMemoryForSysService:
	 *                     point to the memory block that device driver need,      
	 *   size_t *MemorySizeUsed
	 *                     memory size used by ddr, MemorySizeUsed = ADI_DEV_BASE_MEMORY + (ADI_DEV_DEVICE_MEMORY * DevNum)
	 *
	 *	Return:
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	RESULT init_device_driver(u8 *pMemoryForDDR, size_t *MemorySizeUsed , const size_t DevNum);

	/*	config_device 
	 * 
	 *	Description: 
	 *		config the device indicated by devType, using the ADI_DEV_CMD_VALUE_PAIR structure.
	 *    u16 devType:
	 *                     device type, all the candicate list in enum: DEV_TYPE_ID,      
	 *    ADI_DEV_CMD_VALUE_PAIR *configurationTable:
	 *                     ADI_DEV_CMD_VALUE_PAIR structure used to configure device.
	 *
	 *	Return:
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	RESULT config_device(u16 devType, ADI_DEV_CMD_VALUE_PAIR *configurationTable, ADI_DCB_CALLBACK_FN ClientCallback);
	
	void set_dma_callback(u16 dma_type, ADI_DCB_CALLBACK_FN ClientCallback);

	/*	set_dev_buffer 
	 * 
	 *	Description: 
	 *		when use a device to inbound/outbound data, caller must tell the device which kind buffer type he used, and provide the buffer structure.
	 *    u16 devType:
	 *                     device type, all the candicate list in enum: DEV_TYPE_ID,      
	 *    ADI_DEV_BUFFER * devBuffer:
	 *                     ADI device driver provide 3 kind of data flow method( 3 buffer type), circular, chained and chained with loopback.
	 *    ADI_DEV_BUFFER_TYPE BufferType:
	 *   			   the buffer type used.
	 *
	 *	Return:
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	RESULT set_dev_buffer(u16 devType, ADI_DEV_BUFFER * devBuffer, ADI_DEV_BUFFER_TYPE BufferType);

	/*	set_dev_start 
	 * 
	 *	Description: 
	 *		call this interface to start the data flow with the device specific
	 *    u16 devType:
	 *                     device type, all the candicate list in enum: DEV_TYPE_ID,      
	 *
	 *	Return: none
	 */
	void set_dev_start(u16 devType);

	/*	set_dev_stop 
	 * 
	 *	Description: 
	 *		call this interface to stop the data flow with the device specific
	 *    u16 devType:
	 *                     device type, all the candicate list in enum: DEV_TYPE_ID,      
	 *
	 *	Return: none
	 */
	void set_dev_stop(u16 devType );

	/*	config_memdma 
	 * 
	 *	Description: 
	 *		config the memory dma stream, this call will open 2 dma channel.
	 *  ADI_DMA_STREAM_ID StreamID:
	 *		stream id
	 *                           
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	RESULT config_memdma(ADI_DMA_STREAM_ID StreamID);
	
	/*	start_memdma 
	 * 
	 *	Description: 
	 *		start the memory dma transfer on stream, with the specific 2 ADI_DMA_2D_TRANSFER struct.
	 *  and the ElementWidth and callback.
	 * 
	 *  NOTE:
	 *		if the element strid (Xmodify) is different between pDest and pSrc, the ElementWidth should be 1.
	 *  the memory dma is set to stop mode, when the current work unit completes, the DMA channel 
	 *  stops automatically, after signaling an interrupt(if selected)
	 *  return:                          
	 *		EJ_ERR_NONE			success
	 *		!EJ_ERR_NONE			fail
	 */
	 
	RESULT start_memdma(ADI_DMA_STREAM_ID StreamID, ADI_DMA_2D_TRANSFER *pDest, ADI_DMA_2D_TRANSFER *pSrc, 
		u32 ElementWidth , ADI_DCB_CALLBACK_FN	ClientCallback);
		
	int creat_alternate_heap(void* heap_base_addr, u32 heap_size);
	
	void set_data_cache(void);
	void set_instruction_cache(void);

private:

private:
	// DMA Manager data (base memory + memory for 1 DMA channel)
	void *m_pDMAMgrData;
	// Deferred Callback Manager data (memory for 1 service plus 4 posted callbacks)
	void *m_pDCBMgrData;
	// Device Manager data (base memory + memory for 1 device)
	void *m_pDevMgrData;
	// storage for interrupt manager data
	void *m_pIntMgrData;

	//handles
	ADI_DCB_HANDLE				m_DCBManagerHandle;
	ADI_DMA_MANAGER_HANDLE 		m_DMAManagerHandle;		// handle to the DMA Manager
	ADI_DEV_MANAGER_HANDLE 		m_DeviceManagerHandle;	// handle to the Device Manager
	ADI_DEV_DEVICE_HANDLE 		m_ppiDeviceHandle;	// handle to the device driver
//	ADI_DEV_BUFFER * m_devBuffer;

	ADI_DMA_STREAM_HANDLE 	 	m_mdmaHandle0;
	ADI_DMA_STREAM_HANDLE 	 	m_mdmaHandle1;
	
// heap userid
	u16 m_userid;
};

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品麻豆| 色猫猫国产区一区二在线视频| 成人一区在线观看| 91.成人天堂一区| 亚洲欧美怡红院| 国产精品一区二区在线观看不卡| 欧美日韩国产综合一区二区三区| 国产日韩视频一区二区三区| 久色婷婷小香蕉久久| 欧美亚洲国产一区二区三区va| 久久亚洲私人国产精品va媚药| 亚洲国产美女搞黄色| 91亚洲国产成人精品一区二三| 精品成a人在线观看| 老司机精品视频导航| 欧美日本在线播放| 亚洲第一激情av| 色婷婷亚洲精品| 亚洲精品视频一区| 91丝袜美女网| 综合激情网...| aaa国产一区| 国产精品二三区| 成人教育av在线| 国产精品国产自产拍高清av | 成人动漫在线一区| 久久久天堂av| 国产乱一区二区| 久久精品视频一区| 国产精品1024| 亚洲国产精品t66y| 国产v综合v亚洲欧| 中文字幕一区二区三区在线不卡 | 国内一区二区在线| 久久亚区不卡日本| 国产精品一级在线| 国产精品福利一区| 91蜜桃网址入口| 亚洲综合成人在线| 91精品国产综合久久香蕉的特点 | 色婷婷国产精品| 一区二区三区视频在线观看| 色婷婷久久综合| 偷拍日韩校园综合在线| 在线成人高清不卡| 国精产品一区一区三区mba视频| 久久久久久亚洲综合| 波波电影院一区二区三区| 亚洲欧美另类小说视频| 欧美亚洲动漫精品| 看片网站欧美日韩| 国产精品热久久久久夜色精品三区 | 欧美日韩国产一级二级| 亚洲第一福利一区| 欧美成人免费网站| www.欧美色图| 五月综合激情日本mⅴ| 日韩女优av电影在线观看| 国产成人小视频| 一区二区三区四区av| 欧美成人精品1314www| 国产suv精品一区二区三区| 怡红院av一区二区三区| 日韩一卡二卡三卡四卡| 不卡的av电影在线观看| 午夜伊人狠狠久久| 中文乱码免费一区二区| 欧美吞精做爰啪啪高潮| 国产一区二区影院| 亚洲成a人片在线不卡一二三区| 久久网站热最新地址| 91精彩视频在线| 国产精品自产自拍| 舔着乳尖日韩一区| 国产精品久久夜| 欧美成人一区二区三区| 一本久道中文字幕精品亚洲嫩| 久久精品国产免费| 亚洲精品第1页| 久久精子c满五个校花| 欧美精品自拍偷拍| 色婷婷综合中文久久一本| 国内不卡的二区三区中文字幕| 亚洲影视在线播放| 国产色产综合产在线视频| 欧美一区二区三区免费大片| 色欲综合视频天天天| 国产91精品露脸国语对白| 日韩成人一区二区三区在线观看| 自拍偷拍欧美激情| 国产日韩一级二级三级| 日韩午夜精品视频| 欧美日本乱大交xxxxx| 一本色道久久综合精品竹菊| 成人中文字幕电影| 黄色资源网久久资源365| 日本不卡免费在线视频| 亚洲成人黄色小说| 亚洲精品高清在线| 亚洲男同性视频| 中文字幕中文字幕中文字幕亚洲无线| 精品毛片乱码1区2区3区| 51精品国自产在线| 91.麻豆视频| 欧美精品在线视频| 欧美日韩国产高清一区二区三区| 色狠狠一区二区| 99久久亚洲一区二区三区青草| 国产成人亚洲精品青草天美| 国产精品一卡二卡| 国产精品影视天天线| 国产一区欧美一区| 国产曰批免费观看久久久| 韩国三级电影一区二区| 国产在线精品免费av| 久久精工是国产品牌吗| 极品美女销魂一区二区三区 | 一区二区三区在线免费播放| 亚洲女与黑人做爰| 亚洲黄色性网站| 亚洲一二三区不卡| 亚洲成av人片在线观看| 天天影视网天天综合色在线播放 | 国产成人啪免费观看软件| 国产精品一卡二| aaa国产一区| 日本乱人伦aⅴ精品| 欧美日高清视频| 日韩一区二区三区电影在线观看| 欧美成人精精品一区二区频| 国产日韩欧美在线一区| 亚洲欧美在线视频观看| 午夜激情一区二区三区| 久久99久久久欧美国产| 国产91高潮流白浆在线麻豆| 成人免费毛片片v| 欧美日韩一区二区电影| 精品区一区二区| 国产精品国产三级国产aⅴ入口| 亚洲免费在线电影| 奇米色一区二区| 国产精品一区二区黑丝| 欧美精品一二三四| www精品美女久久久tv| 国产性做久久久久久| 一区二区三区影院| 狠狠色丁香九九婷婷综合五月| 成人免费观看视频| 制服丝袜中文字幕一区| 国产精品另类一区| 日韩成人午夜电影| 99精品视频中文字幕| 欧美一区二区三区四区五区 | 成人一区二区三区视频| 91激情五月电影| 国产亚洲欧美一级| 五月婷婷综合网| 成人福利在线看| 精品伦理精品一区| 亚洲在线观看免费| 国产99精品视频| 欧美一区二区三区日韩| 亚洲男人的天堂网| 激情伊人五月天久久综合| 在线观看亚洲精品| 亚洲国产精华液网站w| 久久成人免费网站| 欧美日韩另类一区| 亚洲日本一区二区三区| 国产在线一区观看| 91精品欧美久久久久久动漫| 国产精品青草综合久久久久99| 日本最新不卡在线| 欧洲视频一区二区| 综合精品久久久| 国产jizzjizz一区二区| 欧美电影免费观看高清完整版 | 欧美一级理论性理论a| 亚洲乱码国产乱码精品精小说| 国产黄人亚洲片| 精品久久久久一区| 三级久久三级久久久| 欧美色综合影院| 亚洲一二三区不卡| 91精品福利在线| 亚洲精品欧美专区| 91网站最新网址| 亚洲人亚洲人成电影网站色| 成人性生交大片免费看中文| 欧美精品一区二区精品网| 日韩精品三区四区| 91精品在线观看入口| 日韩和欧美一区二区| 欧美精品成人一区二区三区四区| 一二三区精品视频| 欧美在线观看视频一区二区| 一区二区三区四区高清精品免费观看 | 777午夜精品视频在线播放| 一区二区三区免费网站| 91久久精品一区二区三区|