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

📄 dma_b.c

📁 基于Linux的ffmepg decoder
💻 C
📖 第 1 页 / 共 5 页
字号:
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_IMG);
	dma_cmd_tgl1[CHNI_IMG_U + 1] = mDmaLocMemAddr14b(INTER_U_OFF_1);
	// dont care block width
	dma_cmd_tgl1[CHNI_IMG_U + 3] =
		mDmaLoc3dOff8b(DONT_CARE) |
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLen12b(SIZE_U / 4) |
		mDmaID4b(ID_CHN_IMG);
	dma_cmd_tgl1[CHNI_IMG_V + 1] = mDmaLocMemAddr14b(INTER_V_OFF_1);
	// dont care block width
	dma_cmd_tgl1[CHNI_IMG_V + 3] =
		mDmaLoc3dOff8b(DONT_CARE) |
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLen12b(SIZE_V / 4) |
		mDmaID4b(ID_CHN_IMG);
	///////////////////////////////////////////////////
	#if (OUTPUT_FMT == OUTPUT_FMT_YUV)
		dma_cmd_tgl1[CHNI_YUV_Y + 1] =
			mDmaLoc2dWidth4b(16) |				// 16 lines/MB
			mDmaLoc2dOff8b(DONT_CARE) |
			mDmaLoc3dWidth4b(DONT_CARE) |			// 2 block/row
			mDmaLocMemAddr14b(INTER_Y_OFF_1);
			mDmaLocInc2b(DMA_INCL_0);
		dma_cmd_tgl1[CHNI_YUV_Y + 2] =
			mDmaSysWidth6b(PIXEL_Y / 8) |
			mDmaSysOff14b((dec->output_stride / 4) + 1 - (PIXEL_Y / 4)) |
			mDmaLocWidth4b(DONT_CARE) |
			mDmaLocOff8b(DONT_CARE);
		dma_cmd_tgl1[CHNI_YUV_Y + 3] =
			mDmaLoc3dOff8b(DONT_CARE) |
			mDmaIntChainMask1b(TRUE) |
			mDmaEn1b(TRUE) |
			mDmaChainEn1b(TRUE) |
			mDmaDir1b(DMA_DIR_2SYS) |
			mDmaSType2b(DMA_DATA_2D) |
			mDmaLType2b(DMA_DATA_SEQUENTAIL) |
			mDmaLen12b(SIZE_Y / 4) |
			mDmaID4b(ID_CHN_YUV);
		dma_cmd_tgl1[CHNI_YUV_U + 1] = mDmaLocMemAddr14b(INTER_U_OFF_1);
		dma_cmd_tgl1[CHNI_YUV_U + 2] =
			mDmaSysWidth6b(PIXEL_U / 8) |
			mDmaSysOff14b(((dec->output_stride / 2) / 4) + 1 - (PIXEL_U / 4)) |
			mDmaLocWidth4b(DONT_CARE) |
			mDmaLocOff8b(DONT_CARE);
		dma_cmd_tgl1[CHNI_YUV_U + 3] =
			mDmaLoc3dOff8b(DONT_CARE) |
			mDmaIntChainMask1b(TRUE) |
			mDmaEn1b(TRUE) |
			mDmaChainEn1b(TRUE) |
			mDmaDir1b(DMA_DIR_2SYS) |
			mDmaSType2b(DMA_DATA_2D) |
			mDmaLType2b(DMA_DATA_SEQUENTAIL) |
			mDmaLen12b(SIZE_U / 4) |
			mDmaID4b(ID_CHN_YUV);
		dma_cmd_tgl1[CHNI_YUV_V + 1] = mDmaLocMemAddr14b(INTER_V_OFF_1);
		dma_cmd_tgl1[CHNI_YUV_V + 2] =
			mDmaSysWidth6b(PIXEL_V / 8) |
			mDmaSysOff14b(((dec->output_stride / 2) / 4) + 1 - (PIXEL_V / 4)) |
			mDmaLocWidth4b(DONT_CARE) |
			mDmaLocOff8b(DONT_CARE);
		dma_cmd_tgl1[CHNI_YUV_V + 3] =
			mDmaLoc3dOff8b(DONT_CARE) |
			mDmaIntChainMask1b(TRUE) |
			mDmaEn1b(TRUE) |
			mDmaChainEn1b(TRUE) |
			mDmaDir1b(DMA_DIR_2SYS) |
			mDmaSType2b(DMA_DATA_2D) |
			mDmaLType2b(DMA_DATA_SEQUENTAIL) |
			mDmaLen12b(SIZE_V / 4) |
			mDmaID4b(ID_CHN_YUV);
	#else
		dma_cmd_tgl1[CHNI_RGB + 1] = mDmaLocMemAddr14b(BUFFER_RGB_OFF_0);		// watch-out
		dma_cmd_tgl1[CHNI_RGB + 2] =
			mDmaSysWidth6b(RGB_PIXEL_SIZE * PIXEL_Y / 8) |
			mDmaSysOff14b((RGB_PIXEL_SIZE * dec->output_stride / 4) + 1 - (RGB_PIXEL_SIZE * PIXEL_Y / 4)) |
			mDmaLocWidth4b(DONT_CARE) |
			mDmaLocOff8b(DONT_CARE);
		dma_cmd_tgl1[CHNI_RGB + 3] =
			mDmaIntChainMask1b(TRUE) |
			mDmaEn1b(TRUE) |
			mDmaChainEn1b(TRUE) |
			mDmaDir1b(DMA_DIR_2SYS) |
			mDmaSType2b(DMA_DATA_2D) |
			mDmaLType2b(DMA_DATA_SEQUENTAIL) |
			mDmaLen12b(RGB_PIXEL_SIZE * SIZE_Y / 4) |
			mDmaID4b(ID_CHN_RGB);
	#endif
	///////////////////////////////////////////////////
	dma_cmd_tgl1[CHNI_LOAD_PREDITOR + 1] = mDmaLocMemAddr14b(PREDICTOR0_OFF);		// watch-out
	dma_cmd_tgl1[CHNI_LOAD_PREDITOR + 2] = 
		mDmaSysWidth6b(DONT_CARE) |
		mDmaSysOff14b(DONT_CARE) |
		mDmaLocWidth4b(4) |
		mDmaLocOff8b(8 + 1 - 4);
	dma_cmd_tgl1[CHNI_LOAD_PREDITOR + 3] = 
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |				// chain to store_preditor
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_2D) |
		mDmaLen12b(0x10) |
		mDmaID4b(ID_CHN_ACDC);
	////////////////////////////////////////////////////////////////
	dma_cmd_tgl1[CHNI_STORE_PREDITOR+ 1] = mDmaLocMemAddr14b(PREDICTOR8_OFF);
	dma_cmd_tgl1[CHNI_STORE_PREDITOR + 2] =
		mDmaSysWidth6b(DONT_CARE) |
		mDmaSysOff14b(DONT_CARE) |
		mDmaLocWidth4b(4) |
		mDmaLocOff8b(8 + 1 - 4);
	dma_cmd_tgl1[CHNI_STORE_PREDITOR + 3] =
		mDmaLoc3dOff8b(DONT_CARE) |
		mDmaIntChainMask1b(FALSE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(FALSE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_2D) |
		mDmaLen12b(0x10) |
		mDmaID4b(ID_CHN_ACDC);

	///////////////////////////////////////////////////
	// p-frame
	// vld->toggle			vld(load)	ref	dmc		img(yuv)	rgb
	//		0			1		1			1		0
	//		1			0		0			0		1
	//		...
	///////////////////////////////////////////////////
	// Toggle 0
	///////////////////////////////////////////////////
	dma_cmd_tgl0[CHNP_REF_1MV_Y + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(3) |								// 3 block/row
		mDmaLocMemAddr14b(REF_Y_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_1MV_Y + 2] =
		mDmaSysWidth6b(3 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (3 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b(((8 * PIXEL_U) / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_1MV_Y + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (3 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(9 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_1MV);
	dma_cmd_tgl0[CHNP_REF_1MV_U + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_U_OFF_1) | 
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_1MV_U + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b(((8 * PIXEL_U) / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_1MV_U + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_1MV);
	dma_cmd_tgl0[CHNP_REF_1MV_V + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_V - 1) * (8 * PIXEL_V) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_V_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_1MV_V + 2] =
		mDmaSysWidth6b(2 * SIZE_V / 8) |
		mDmaSysOff14b((dec->mb_width * SIZE_V / 4) + 1 - (2 * SIZE_V / 4)) |
		mDmaLocWidth4b(PIXEL_V / 4) |
		mDmaLocOff8b(((8 * PIXEL_V) / 4) + 1 - (PIXEL_V / 4));
	dma_cmd_tgl0[CHNP_REF_1MV_V + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_V / 4) + 1 - (2 * PIXEL_V / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_1MV);
	// 4mv
	dma_cmd_tgl0[CHNP_REF_4MV_Y0 + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_Y0_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_Y0 + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b((8 * PIXEL_U / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_Y0 + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b( 4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	dma_cmd_tgl0[CHNP_REF_4MV_Y1 + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_Y1_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_Y1 + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b((8 * PIXEL_U / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_Y1 + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b( 4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	dma_cmd_tgl0[CHNP_REF_4MV_Y2 + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_Y2_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_Y2 + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b((8 * PIXEL_U / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_Y2 + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b( 4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	dma_cmd_tgl0[CHNP_REF_4MV_Y3 + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_Y3_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_Y3 + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b((8 * PIXEL_U / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_Y3 + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b( 4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	dma_cmd_tgl0[CHNP_REF_4MV_U + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (8 * PIXEL_U) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_U_OFF_1) | 
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_U + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b(((8 * PIXEL_U) / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_U + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_U / 4) + 1 - (2 * PIXEL_U / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	dma_cmd_tgl0[CHNP_REF_4MV_V + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_V - 1) * (8 * PIXEL_V) / 4) |	// jump to new block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(REF_V_OFF_1) | 
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_REF_4MV_V + 2] =
		mDmaSysWidth6b(2 * SIZE_V / 8) |
		mDmaSysOff14b((dec->mb_width * SIZE_V / 4) + 1 - (2 * SIZE_V / 4)) |
		mDmaLocWidth4b(PIXEL_V / 4) |
		mDmaLocOff8b(((8 * PIXEL_V) / 4) + 1 - (PIXEL_V / 4));
	dma_cmd_tgl0[CHNP_REF_4MV_V + 3] = 
		mDmaLoc3dOff8b((8 * PIXEL_V / 4) + 1 - (2 * PIXEL_V / 4)) |// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2LOCAL) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_4MV);
	///////////////////////////////////////////////////
	dma_cmd_tgl0[CHNP_IMG_Y + 1] =
		mDmaLoc2dWidth4b(8) |								// 8 lines/block
		mDmaLoc2dOff8b(1 - (PIXEL_U - 1) * (2 * PIXEL_U) / 4) |	// jump to next block
		mDmaLoc3dWidth4b(2) |								// 2 block/row
		mDmaLocMemAddr14b(INTER_Y_OFF_1) |
		mDmaLocInc2b(DMA_INCL_0);
	dma_cmd_tgl0[CHNP_IMG_Y + 2] =
		mDmaSysWidth6b(2 * SIZE_U / 8) |
		mDmaSysOff14b((dec->mb_width * 2 * SIZE_U / 4) + 1 - (2 * SIZE_U / 4)) |
		mDmaLocWidth4b(PIXEL_U / 4) |
		mDmaLocOff8b((2 * PIXEL_U / 4) + 1 - (PIXEL_U / 4));
	dma_cmd_tgl0[CHNP_IMG_Y + 3] =
		mDmaLoc3dOff8b(1) |						// jump to next row
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_2D) |
		mDmaLType2b(DMA_DATA_4D) |
		mDmaLen12b(4 * SIZE_U / 4) |
		mDmaID4b(ID_CHN_IMG);
	dma_cmd_tgl0[CHNP_IMG_U	+ 1] = mDmaLocMemAddr14b(INTER_U_OFF_1);
	// dont care block width
	dma_cmd_tgl0[CHNP_IMG_U + 3] =
		mDmaLoc3dOff8b(DONT_CARE) |
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLen12b(SIZE_U / 4) |
		mDmaID4b(ID_CHN_IMG);
	dma_cmd_tgl0[CHNP_IMG_V + 1] = mDmaLocMemAddr14b(INTER_V_OFF_1);
	// dont care block width
	dma_cmd_tgl0[CHNP_IMG_V + 3] =
		mDmaLoc3dOff8b(DONT_CARE) |
		mDmaIntChainMask1b(TRUE) |
		mDmaEn1b(TRUE) |
		mDmaChainEn1b(TRUE) |
		mDmaDir1b(DMA_DIR_2SYS) |
		mDmaSType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLType2b(DMA_DATA_SEQUENTAIL) |
		mDmaLen12b(SIZE_V / 4) |
		mDmaID4b(ID_CHN_IMG);
	///////////////////////////////////////////////////
	#if (OUTPUT_FMT == OUTPUT_FMT_YUV)
		dma_cmd_tgl0[CHNP_YUV_Y + 1] =
			mDmaLoc2dWidth4b(16) |				// 16 lines/MB
			mDmaLoc2dOff8b(DONT_CARE) |
			mDmaLoc3dWidth4b(DONT_CARE) |			

⌨️ 快捷键说明

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