Video and Image Processing Suite User Guide

ID 683416
Date 4/04/2022
Public
Document Table of Contents

20.3.1. Double-Buffering

Using multiple coefficient banks allows double-buffering, fast swapping, or direct writing to the scaler’s coefficient memories. The IP core specifies the coefficient bank to be read during video data processing and the bank to be written by the Avalon-MM interface separately at run time.

Choosing to have more memory banks allows for each bank to contain coefficients for a specific scaling ratio and for coefficient changes to be accomplished very quickly by changing the read bank. Alternatively, for memory-sensitive applications, use a single bank and coefficient writes have an immediate effect on data processing.

To accomplish double-buffering:

  1. Select two memory banks at compile time.
  2. At start-up run time, select a bank to write into (for example, 0) and write the coefficients.
  3. Set the chosen bank (0) to be the read bank for the Scaler II IP core, and start processing.
  4. For subsequent changes, write to the unused bank (1) and swap the read and write banks between frames.