From 8227dc75b8e236f7f9629d1bc49fae0addee3def Mon Sep 17 00:00:00 2001 From: Tom Schouten Date: Fri, 28 Feb 2003 09:48:54 +0000 Subject: pdp config svn path=/trunk/externals/pdp/; revision=440 --- include/pdp.h | 40 +++++++++++++++++++++++++++------------- include/pdp_imageproc.h | 11 +++++++++++ include/pdp_resample.h | 6 ++++++ 3 files changed, 44 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/pdp.h b/include/pdp.h index 2695402..b19e7dc 100644 --- a/include/pdp.h +++ b/include/pdp.h @@ -63,10 +63,17 @@ typedef int bool; /* image data packet */ typedef struct { - unsigned int encoding; /* image encoding (data format ) */ - unsigned int width; /* image width in pixels */ - unsigned int height; /* image height in pixels */ - unsigned int channels; /* number of colour planes if PDP_IMAGE_MCHP */ + /* standard images */ + unsigned int encoding; /* image encoding (data format ) */ + unsigned int width; /* image width in pixels */ + unsigned int height; /* image height in pixels */ + unsigned int channels; /* number of colour planes if PDP_IMAGE_MCHP */ + + /* sliced image extensions */ /* THIS IS EXPERIMENTAL, DON'T DEPEND ON IT STATYING HERE */ + unsigned int slice_sync; /* slice synchro information */ + unsigned int slice_yoff; /* y offset of the slice in original image */ + unsigned int orig_height; /* height of original image (this is zero for ordinary images) */ + } t_image; @@ -76,6 +83,12 @@ typedef struct #define PDP_IMAGE_RGBP 3 /* 48bpp: 16 bit planar RGB */ #define PDP_IMAGE_MCHP 4 /* generic 16bit multi channel planar */ +/* slice synchro information */ +#define PDP_IMAGE_SLICE_FIRST (1<<0) +#define PDP_IMAGE_SLICE_LAST (1<<1) +#define PDP_IMAGE_SLICE_BODY (1<<2) + + /* ascii data packet */ typedef struct { @@ -106,16 +119,17 @@ typedef unsigned int t_raw; /* general pdp header struct */ typedef struct { - unsigned int type; /* datatype of this object */ - unsigned int size; /* datasize including header */ - unsigned int users; /* nb users of this object, readonly if > 1 */ - unsigned int __pad__; /* pad to quad word size */ - union + unsigned int type; /* datatype of this object */ + unsigned int size; /* datasize including header */ + unsigned int users; /* nb users of this object, readonly if > 1 */ + unsigned int reserved[1]; /* reserved to provide binary compatibility for future extensions */ + + union /* each packet type has a unique subheader */ { - t_raw raw; /* raw subheader (for extensions unkown to pdp core system) */ - t_image image; /* bitmap image */ - //t_ca ca; /* cellular automaton state data */ - t_ascii ascii; /* ascii packet */ + t_raw raw; /* raw subheader (for extensions unkown to pdp core system) */ + t_image image; /* bitmap image */ + //t_ca ca; /* cellular automaton state data */ + t_ascii ascii; /* ascii packet */ } info; } t_pdp; diff --git a/include/pdp_imageproc.h b/include/pdp_imageproc.h index 09825dc..26bcdc6 100644 --- a/include/pdp_imageproc.h +++ b/include/pdp_imageproc.h @@ -21,6 +21,7 @@ /* this is a c wrapper around platform specific (mmx) code */ +#include "pdp_types.h" #ifndef PDP_IMAGEPROC_H #define PDP_IMAGEPROC_H @@ -32,6 +33,16 @@ extern "C" #endif */ +/* get legal image dimensions */ +/* this is a fix for the dimension problem */ +/* some imageproc implementations require the dims to be a multiple of some square */ +u32 pdp_imageproc_legalwidth(int i); +u32 pdp_imageproc_legalheight(int i); +u32 pdp_imageproc_legalwidth_round_down(int i); +u32 pdp_imageproc_legalheight_round_down(int i); + + + /****************************** 16 bit signed (pixel) routines ***************************************/ #include "pdp_types.h" diff --git a/include/pdp_resample.h b/include/pdp_resample.h index cc77d04..2865cac 100644 --- a/include/pdp_resample.h +++ b/include/pdp_resample.h @@ -37,6 +37,12 @@ void pdp_resample_zoom_tiled_bilin(s16 *src_image, s16 *dst_image, s32 w, s32 h, +/* power of 2 resamplers */ +void pdp_resample_halve(s16 *src_image, s16 *dst_image, s32 src_w, s32 src_h); + + + + /* core routines */ //s32 pdp_resample_bilin(s16 *image, s32 width, s32 height, s32 virt_x, s32 virt_y); -- cgit v1.2.1