00001 /*! 00002 ************************************************************************ 00003 * \file io_image.h 00004 * 00005 * \brief 00006 * Image I/O 00007 * 00008 * \author 00009 * - Alexis Michael Tourapis <alexismt@ieee.org> 00010 * 00011 ************************************************************************ 00012 */ 00013 00014 #ifndef _IO_IMAGE_H_ 00015 #define _IO_IMAGE_H_ 00016 00017 #include "defines.h" 00018 #include "frame.h" 00019 00020 typedef struct image_data 00021 { 00022 FrameFormat format; //!< image format 00023 // Standard data 00024 imgpel **frm_data[MAX_PLANE]; //!< Frame Data 00025 imgpel **top_data[MAX_PLANE]; //!< pointers to top field data 00026 imgpel **bot_data[MAX_PLANE]; //!< pointers to bottom field data 00027 00028 //! Optional data (could also add uint8 data in case imgpel is of type uint16) 00029 //! These can be useful for enabling input/conversion of content of different types 00030 //! while keeping optimal processing size. 00031 uint16 **frm_uint16[MAX_PLANE]; //!< optional frame Data for uint16 00032 uint16 **top_uint16[MAX_PLANE]; //!< optional pointers to top field data 00033 uint16 **bot_uint16[MAX_PLANE]; //!< optional pointers to bottom field data 00034 } ImageData; 00035 00036 #endif 00037