winamp/Src/h264dec/lcommon/inc/frame.h

51 lines
1.8 KiB
C

/*!
************************************************************************
* \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