XilinxProcessorIPLib/drivers/dpdma/src/xdpdma.c
void  XDpDma_DisplayVideoFrameBuffer(XDpDma *InstancePtr,
				     XDpDma_FrameBuffer *Plane0,
				     XDpDma_FrameBuffer *Plane1,
				     XDpDma_FrameBuffer *Plane2)
{
	int NumPlanes;
	Xil_AssertVoid(InstancePtr != NULL);
	Xil_AssertVoid(InstancePtr->Video.VideoInfo != NULL);

	NumPlanes = (int)InstancePtr->Video.VideoInfo->Mode;

	while(NumPlanes >= 0) {
		switch ((u8)NumPlanes) {
			case XDPDMA_VIDEO_CHANNEL2:
			Xil_AssertVoid(Plane2 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL2] =
				Plane2;
			NumPlanes--;
			break;
			case XDPDMA_VIDEO_CHANNEL1:
			Xil_AssertVoid(Plane1 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL1] =
					Plane1;
			NumPlanes--;
			break;
			case XDPDMA_VIDEO_CHANNEL0:
			Xil_AssertVoid(Plane0 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL0] =
			Plane0;
			NumPlanes--;
			break;
			default:
			/* This will never occur */
			break;
		}
	}

	if(InstancePtr->Video.Channel[XDPDMA_VIDEO_CHANNEL0].Current == NULL) {
		InstancePtr->Video.TriggerStatus = XDPDMA_TRIGGER_EN;
	}
	else {
		InstancePtr->Video.TriggerStatus = XDPDMA_RETRIGGER_EN;
	}
}
/*************************************************************************/
/**
 *
 * This function sets the next Frame Buffers to be displayed on the Video
 * Channel.
 *
 * @param    InstancePtr is pointer to the instance of DPDMA.
 * @param    Plane0 is a pointer to the Frame Buffer structure.
 * @param    Plane1 is a pointer to the Frame Buffer structure.
 * @param    Plane2 is a pointer to the Frame Buffer structure.
 *
 * @return   None.
 *
 * @note     For interleaved mode use Plane0.
 *	     For semi-planar mode use Plane0 and Plane1.
 *	     For planar mode use Plane0, Plane1 and Plane2
 *
 * **************************************************************************/
This function sets the next Frame Buffers to be displayed on the Video
Channel.

@param    InstancePtr is pointer to the instance of DPDMA.
@param    Plane0 is a pointer to the Frame Buffer structure.
@param    Plane1 is a pointer to the Frame Buffer structure.
@param    Plane2 is a pointer to the Frame Buffer structure.

@return   None.

@note     For interleaved mode use Plane0.
For semi-planar mode use Plane0 and Plane1.
For planar mode use Plane0, Plane1 and Plane2
This function sets the next Frame Buffers to be displayed on the Video Channel . @param InstancePtr is pointer to the instance of DPDMA . @param Plane0 is a pointer to the Frame Buffer structure . @param Plane1 is a pointer to the Frame Buffer structure . @param Plane2 is a pointer to the Frame Buffer structure . @return None . @note For interleaved mode use Plane0 . For semi - planar mode use Plane0 and Plane1 . For planar mode use Plane0 Plane1 and Plane2
void  XDpDma_DisplayVideoFrameBuffer(XDpDma *InstancePtr,
				     XDpDma_FrameBuffer *Plane0,
				     XDpDma_FrameBuffer *Plane1,
				     XDpDma_FrameBuffer *Plane2)
{
	int NumPlanes;
	Xil_AssertVoid(InstancePtr != NULL);
	Xil_AssertVoid(InstancePtr->Video.VideoInfo != NULL);
	NumPlanes = (int)InstancePtr->Video.VideoInfo->Mode;
	while(NumPlanes >= 0) {
		switch ((u8)NumPlanes) {
			case XDPDMA_VIDEO_CHANNEL2:
			Xil_AssertVoid(Plane2 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL2] =
				Plane2;
			NumPlanes--;
			break;
			case XDPDMA_VIDEO_CHANNEL1:
			Xil_AssertVoid(Plane1 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL1] =
					Plane1;
			NumPlanes--;
			break;
			case XDPDMA_VIDEO_CHANNEL0:
			Xil_AssertVoid(Plane0 != NULL);
			InstancePtr->Video.FrameBuffer[XDPDMA_VIDEO_CHANNEL0] =
			Plane0;
			NumPlanes--;
			break;
			default:
			break;
		}
	}
	if(InstancePtr->Video.Channel[XDPDMA_VIDEO_CHANNEL0].Current == NULL) {
		InstancePtr->Video.TriggerStatus = XDPDMA_TRIGGER_EN;
	}
	else {
		InstancePtr->Video.TriggerStatus = XDPDMA_RETRIGGER_EN;
	}
}
void XDpDma_DisplayVideoFrameBuffer ( XDpDma * InstancePtr , XDpDma_FrameBuffer * Plane0 , XDpDma_FrameBuffer * Plane1 , XDpDma_FrameBuffer * Plane2 ) { int NumPlanes ; Xil_AssertVoid ( InstancePtr != NULL ) ; Xil_AssertVoid ( InstancePtr -> Video . VideoInfo != NULL ) ; NumPlanes = ( int ) InstancePtr -> Video . VideoInfo -> Mode ; while ( NumPlanes >= 0 ) { switch ( ( u8 ) NumPlanes ) { case XDPDMA_VIDEO_CHANNEL2 : Xil_AssertVoid ( Plane2 != NULL ) ; InstancePtr -> Video . FrameBuffer [ XDPDMA_VIDEO_CHANNEL2 ] = Plane2 ; NumPlanes -- ; break ; case XDPDMA_VIDEO_CHANNEL1 : Xil_AssertVoid ( Plane1 != NULL ) ; InstancePtr -> Video . FrameBuffer [ XDPDMA_VIDEO_CHANNEL1 ] = Plane1 ; NumPlanes -- ; break ; case XDPDMA_VIDEO_CHANNEL0 : Xil_AssertVoid ( Plane0 != NULL ) ; InstancePtr -> Video . FrameBuffer [ XDPDMA_VIDEO_CHANNEL0 ] = Plane0 ; NumPlanes -- ; break ; default : break ; } } if ( InstancePtr -> Video . Channel [ XDPDMA_VIDEO_CHANNEL0 ] . Current == NULL ) { InstancePtr -> Video . TriggerStatus = XDPDMA_TRIGGER_EN ; } else { InstancePtr -> Video . TriggerStatus = XDPDMA_RETRIGGER_EN ; } }
This function sets the next Frame Buffers to be displayed on the Video
 Channel.
This function sets the next Frame Buffers to be displayed on the Video Channel .
/* This will never occur */