VISetNextFrameBuffer

Syntax

#include <revolution/vi.h>

void VISetNextFrameBuffer(void *fb);

Arguments

fb 32-byte-aligned pointer to the display frame buffer.

Return Values

None.

Description

This function sets a pointer to the display frame buffer in the system DRAM. The frame buffer size is set by the VIInit function to an initial value of 640 x 480 x VI_DISP_PIX_SZ (NTSC or EURGB60) or 640 x 574 x VI_DISP_PIX_SZ (PAL). The pointer, fb, must be 32-byte aligned.

The video controller reads the display frame buffer and outputs pixels to the display with video timing. The embedded frame buffer will be copied to the display frame buffer during the vertical retrace interval. This allows single buffering of the display buffer in system DRAM. The display buffer is converted from 24-bit RGB to 4:2:2 YUV (2 bytes/pixel) during the copy. This reduces by a third the amount of system DRAM needed for the display frame buffer, without reducing image quality for NTSC and PAL displays.

The change does not take effect until VIFlush is called. At that point, the contents of the frame buffer will begin being shown from the next vertical retrace after VIFlush is called. See the VIFlush function reference for more details about when the change takes effect.

See Also

VIWaitForRetrace, VIFlush, VIGetNextFrameBuffer, VIGetCurrentFrameBuffer

Revision History

2007/12/04 Deleted the MPAL description.
2006/03/01 Initial version.


CONFIDENTIAL