|
HVD_memfb_raster * | memfb_raster_create (RasterDescription *pRD, HqBool fSysAlloc, size_t rasterSize, size_t userSize, HqnResult *perr) |
| Function to create raster handles for passing to HVD_monitor_add_raster() when using local memory rasters. More...
|
|
uint8 * | memfb_raster_buffer (HVD_memfb_raster *raster, size_t start, size_t length) |
| Get the data address from a local memory raster handle. More...
|
|
void * | memfb_raster_userdata (HVD_memfb_raster *raster) |
| Get the user data address from a local memory raster handle. More...
|
|
const RasterDescription * | memfb_raster_description (void *handle) |
| Function to use as hvd_output_page_params::raster_description_fn when using local memory elements. More...
|
|
void | memfb_raster_error (HVD_memfb_raster **ppraster) |
| The RIP failed to construct a raster. Mark it with error, and release the raster handle. More...
|
|
void | memfb_raster_release (HVD_element *pElement, void *hraster) |
| Function to use as HVD_raster_release_fn callback when using local memory elements. More...
|
|
HqBool | memfb_recovery_filter (HVD_element *pElement, HVD_recovery_reason_t reason) |
| Function to use as HVD_recovery_filter_fn callback when using local memory elements. More...
|
|
void * | memfb_acquire (size_t size, uint32 id, void *data, HqnResult *perr) |
| Function to use as frame_acquire_fn when using framebuffer support to manage local memory rasters. More...
|
|
void | memfb_release (void *hraster, size_t size, void *data) |
| Function to use as frame_release_fn when using framebuffer support to manage local memory rasters. More...
|
|
uint8 * | memfb_raster (void *hraster, size_t offset, size_t size) |
| Function to use as frame_raster_fn when using framebuffer support to manage local memory rasters. More...
|
|
void * | memfb_element_raster_open (void *hraster, RASTER_PLANE *plane, HqnResult *perr) |
| Function to use as hvd_output_page_params::element_raster_open when using local memory elements. More...
|
|
const uint8 * | memfb_element_raster_map (void *context, void *hraster, unsigned int *pstartline, unsigned int *pnlines, HqnResult *perr) |
|
void | memfb_element_raster_close (void *context, void *hraster) |
|
Support for local memory framebuffers for eHVD elements.
Data needed for reading memfb element planes. These assume a contiguous layout in memory for all frames of a sheet. When using the framebuffer support, it checks that all sheets have the same rendered_sheet_size, all frames have the same rendered_size_per_band, the same rendered_frame_size, and all planes have the same linesize.
We can calculate the offset of this plane knowing the frame's omitted index, the plane's omitted index, and the rendered size of frames and planes. We can calculate the band number from the line and band height to calculate the offset of the start of the band from the frame, add the plane offset to get the start of the plane in the band, and use the plane's linesize to find the start of the line in the plane. If there is more than one plane per frame, then we also need to limit the number of lines read to the end of the band to avoid encroaching onto another channel.