/*! ************************************************************************ * \file frame.h * * \brief * headers for frame format related information * * \author * ************************************************************************ */ #ifndef H264_FRAME_H_ #define H264_FRAME_H_ #pragma once typedef enum { CM_UNKNOWN = -1, CM_YUV = 0, CM_RGB = 1, CM_XYZ = 2 } ColorModel; typedef enum { CF_UNKNOWN = -1, //!< Unknown color format YUV400 = 0, //!< Monochrome YUV420 = 1, //!< 4:2:0 YUV422 = 2, //!< 4:2:2 YUV444 = 3 //!< 4:4:4 } ColorFormat; typedef struct frame_format { ColorFormat yuv_format; //!< YUV format (0=4:0:0, 1=4:2:0, 2=4:2:2, 3=4:4:4) int width; //!< luma component frame width int height; //!< luma component frame height int height_cr; //!< chroma component frame width int width_cr; //!< chroma component frame height int width_crop; //!< width after cropping consideration int height_crop; //!< height after cropping consideration int mb_width; //!< luma component frame width int mb_height; //!< luma component frame height int size_cmp[3]; //!< component sizes int size; //!< total image size int bit_depth[3]; //!< component bit depth int max_value[3]; //!< component max value int max_value_sq[3]; //!< component max value squared } FrameFormat; #endif