aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Schouten <doelie@users.sourceforge.net>2003-02-28 09:48:54 +0000
committerTom Schouten <doelie@users.sourceforge.net>2003-02-28 09:48:54 +0000
commit8227dc75b8e236f7f9629d1bc49fae0addee3def (patch)
tree13f2aec426201ee87dd0cbda0860082315dfa1ae /include
parenta0aef64af84622e8d6d02c7714fb82178dea0286 (diff)
pdp config
svn path=/trunk/externals/pdp/; revision=440
Diffstat (limited to 'include')
-rw-r--r--include/pdp.h40
-rw-r--r--include/pdp_imageproc.h11
-rw-r--r--include/pdp_resample.h6
3 files changed, 44 insertions, 13 deletions
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);