]> Pileus Git - ~andy/linux/blobdiff - drivers/staging/crystalhd/bc_dts_defs.h
Merge branch 'for-linus' of git://selinuxproject.org/~jmorris/linux-security
[~andy/linux] / drivers / staging / crystalhd / bc_dts_defs.h
index fde5b0627f6bb6e9d6a776bb179a39a38b3620a6..8cd51a7aad8ec7e0f6e8c4693fc846e7d7f37ab8 100644 (file)
@@ -296,43 +296,79 @@ enum {
        vdecColourPrimariesSMPTE240M,
        vdecColourPrimariesGenericFilm,
 };
-
+/**
+ * @vdecRESOLUTION_CUSTOM: custom
+ * @vdecRESOLUTION_480i: 480i
+ * @vdecRESOLUTION_1080i: 1080i (1920x1080, 60i)
+ * @vdecRESOLUTION_NTSC: NTSC (720x483, 60i)
+ * @vdecRESOLUTION_480p: 480p (720x480, 60p)
+ * @vdecRESOLUTION_720p: 720p (1280x720, 60p)
+ * @vdecRESOLUTION_PAL1: PAL_1 (720x576, 50i)
+ * @vdecRESOLUTION_1080i25: 1080i25 (1920x1080, 50i)
+ * @vdecRESOLUTION_720p50: 720p50 (1280x720, 50p)
+ * @vdecRESOLUTION_576p: 576p (720x576, 50p)
+ * @vdecRESOLUTION_1080i29_97: 1080i (1920x1080, 59.94i)
+ * @vdecRESOLUTION_720p59_94: 720p (1280x720, 59.94p)
+ * @vdecRESOLUTION_SD_DVD: SD DVD (720x483, 60i)
+ * @vdecRESOLUTION_480p656: 480p (720x480, 60p),
+ *     output bus width 8 bit, clock 74.25MHz
+ * @vdecRESOLUTION_1080p23_976: 1080p23_976 (1920x1080, 23.976p)
+ * @vdecRESOLUTION_720p23_976: 720p23_976 (1280x720p, 23.976p)
+ * @vdecRESOLUTION_240p29_97: 240p (1440x240, 29.97p )
+ * @vdecRESOLUTION_240p30: 240p (1440x240, 30p)
+ * @vdecRESOLUTION_288p25: 288p (1440x288p, 25p)
+ * @vdecRESOLUTION_1080p29_97: 1080p29_97 (1920x1080, 29.97p)
+ * @vdecRESOLUTION_1080p30: 1080p30 (1920x1080, 30p)
+ * @vdecRESOLUTION_1080p24: 1080p24 (1920x1080, 24p)
+ * @vdecRESOLUTION_1080p25: 1080p25 (1920x1080, 25p)
+ * @vdecRESOLUTION_720p24: 720p24 (1280x720, 25p)
+ * @vdecRESOLUTION_720p29_97: 720p29.97 (1280x720, 29.97p)
+ * @vdecRESOLUTION_480p23_976: 480p23.976 (720*480, 23.976)
+ * @vdecRESOLUTION_480p29_97: 480p29.976 (720*480, 29.97p)
+ * @vdecRESOLUTION_576p25: 576p25 (720*576, 25p)
+ * @vdecRESOLUTION_480p0: 480p (720x480, 0p)
+ * @vdecRESOLUTION_480i0: 480i (720x480, 0i)
+ * @vdecRESOLUTION_576p0: 576p (720x576, 0p)
+ * @vdecRESOLUTION_720p0: 720p (1280x720, 0p)
+ * @vdecRESOLUTION_1080p0: 1080p (1920x1080, 0p)
+ * @vdecRESOLUTION_1080i0: 1080i (1920x1080, 0i)
+ */
 enum {
-       vdecRESOLUTION_CUSTOM   = 0x00000000, /* custom */
-       vdecRESOLUTION_480i     = 0x00000001, /* 480i */
-       vdecRESOLUTION_1080i    = 0x00000002, /* 1080i (1920x1080, 60i) */
-       vdecRESOLUTION_NTSC     = 0x00000003, /* NTSC (720x483, 60i) */
-       vdecRESOLUTION_480p     = 0x00000004, /* 480p (720x480, 60p) */
-       vdecRESOLUTION_720p     = 0x00000005, /* 720p (1280x720, 60p) */
-       vdecRESOLUTION_PAL1     = 0x00000006, /* PAL_1 (720x576, 50i) */
-       vdecRESOLUTION_1080i25  = 0x00000007, /* 1080i25 (1920x1080, 50i) */
-       vdecRESOLUTION_720p50   = 0x00000008, /* 720p50 (1280x720, 50p) */
-       vdecRESOLUTION_576p     = 0x00000009, /* 576p (720x576, 50p) */
-       vdecRESOLUTION_1080i29_97 = 0x0000000A, /* 1080i (1920x1080, 59.94i) */
-       vdecRESOLUTION_720p59_94  = 0x0000000B, /* 720p (1280x720, 59.94p) */
-       vdecRESOLUTION_SD_DVD   = 0x0000000C, /* SD DVD (720x483, 60i) */
-       vdecRESOLUTION_480p656  = 0x0000000D, /* 480p (720x480, 60p), output bus width 8 bit, clock 74.25MHz */
-       vdecRESOLUTION_1080p23_976 = 0x0000000E, /* 1080p23_976 (1920x1080, 23.976p) */
-       vdecRESOLUTION_720p23_976  = 0x0000000F, /* 720p23_976 (1280x720p, 23.976p) */
-       vdecRESOLUTION_240p29_97   = 0x00000010, /* 240p (1440x240, 29.97p ) */
-       vdecRESOLUTION_240p30   = 0x00000011, /* 240p (1440x240, 30p) */
-       vdecRESOLUTION_288p25   = 0x00000012, /* 288p (1440x288p, 25p) */
-       vdecRESOLUTION_1080p29_97 = 0x00000013, /* 1080p29_97 (1920x1080, 29.97p) */
-       vdecRESOLUTION_1080p30  = 0x00000014, /* 1080p30 (1920x1080, 30p) */
-       vdecRESOLUTION_1080p24  = 0x00000015, /* 1080p24 (1920x1080, 24p) */
-       vdecRESOLUTION_1080p25  = 0x00000016, /* 1080p25 (1920x1080, 25p) */
-       vdecRESOLUTION_720p24   = 0x00000017, /* 720p24 (1280x720, 25p) */
-       vdecRESOLUTION_720p29_97  = 0x00000018, /* 720p29.97 (1280x720, 29.97p) */
-       vdecRESOLUTION_480p23_976 = 0x00000019, /* 480p23.976 (720*480, 23.976) */
-       vdecRESOLUTION_480p29_97  = 0x0000001A, /* 480p29.976 (720*480, 29.97p) */
-       vdecRESOLUTION_576p25   = 0x0000001B, /* 576p25 (720*576, 25p) */
+       vdecRESOLUTION_CUSTOM   = 0x00000000,
+       vdecRESOLUTION_480i     = 0x00000001,
+       vdecRESOLUTION_1080i    = 0x00000002,
+       vdecRESOLUTION_NTSC     = 0x00000003,
+       vdecRESOLUTION_480p     = 0x00000004,
+       vdecRESOLUTION_720p     = 0x00000005,
+       vdecRESOLUTION_PAL1     = 0x00000006,
+       vdecRESOLUTION_1080i25  = 0x00000007,
+       vdecRESOLUTION_720p50   = 0x00000008,
+       vdecRESOLUTION_576p     = 0x00000009,
+       vdecRESOLUTION_1080i29_97 = 0x0000000A,
+       vdecRESOLUTION_720p59_94  = 0x0000000B,
+       vdecRESOLUTION_SD_DVD   = 0x0000000C,
+       vdecRESOLUTION_480p656  = 0x0000000D,
+       vdecRESOLUTION_1080p23_976 = 0x0000000E,
+       vdecRESOLUTION_720p23_976  = 0x0000000F,
+       vdecRESOLUTION_240p29_97   = 0x00000010,
+       vdecRESOLUTION_240p30   = 0x00000011,
+       vdecRESOLUTION_288p25   = 0x00000012,
+       vdecRESOLUTION_1080p29_97 = 0x00000013,
+       vdecRESOLUTION_1080p30  = 0x00000014,
+       vdecRESOLUTION_1080p24  = 0x00000015,
+       vdecRESOLUTION_1080p25  = 0x00000016,
+       vdecRESOLUTION_720p24   = 0x00000017,
+       vdecRESOLUTION_720p29_97  = 0x00000018,
+       vdecRESOLUTION_480p23_976 = 0x00000019,
+       vdecRESOLUTION_480p29_97  = 0x0000001A,
+       vdecRESOLUTION_576p25   = 0x0000001B,
        /* For Zero Frame Rate */
-       vdecRESOLUTION_480p0    = 0x0000001C, /* 480p (720x480, 0p) */
-       vdecRESOLUTION_480i0    = 0x0000001D, /* 480i (720x480, 0i) */
-       vdecRESOLUTION_576p0    = 0x0000001E, /* 576p (720x576, 0p) */
-       vdecRESOLUTION_720p0    = 0x0000001F, /* 720p (1280x720, 0p) */
-       vdecRESOLUTION_1080p0   = 0x00000020, /* 1080p (1920x1080, 0p) */
-       vdecRESOLUTION_1080i0   = 0x00000021, /* 1080i (1920x1080, 0i) */
+       vdecRESOLUTION_480p0    = 0x0000001C,
+       vdecRESOLUTION_480i0    = 0x0000001D,
+       vdecRESOLUTION_576p0    = 0x0000001E,
+       vdecRESOLUTION_720p0    = 0x0000001F,
+       vdecRESOLUTION_1080p0   = 0x00000020,
+       vdecRESOLUTION_1080i0   = 0x00000021,
 };
 
 /* Bit definitions for 'flags' field */
@@ -359,14 +395,23 @@ enum _BC_OUTPUT_FORMAT {
        MODE422_YUY2                    = 0x1,
        MODE422_UYVY                    = 0x2,
 };
-
+/**
+ * struct BC_PIC_INFO_BLOCK
+ * @timeStam;: Timestamp
+ * @picture_number: Ordinal display number
+ * @width:  pixels
+ * @height:  pixels
+ * @chroma_format:  0x420, 0x422 or 0x444
+ * @n_drop;:  number of non-reference frames
+ *     remaining to be dropped
+ */
 struct BC_PIC_INFO_BLOCK {
        /* Common fields. */
-       uint64_t        timeStamp;      /* Timestamp */
-       uint32_t        picture_number; /* Ordinal display number  */
-       uint32_t        width;          /* pixels           */
-       uint32_t        height;         /* pixels           */
-       uint32_t        chroma_format;  /* 0x420, 0x422 or 0x444 */
+       uint64_t        timeStamp;
+       uint32_t        picture_number;
+       uint32_t        width;
+       uint32_t        height;
+       uint32_t        chroma_format;
        uint32_t        pulldown;
        uint32_t        flags;
        uint32_t        frame_rate;
@@ -376,7 +421,8 @@ struct BC_PIC_INFO_BLOCK {
        uint32_t        sess_num;
        uint32_t        ycom;
        uint32_t        custom_aspect_ratio_width_height;
-       uint32_t        n_drop; /* number of non-reference frames remaining to be dropped */
+       uint32_t        n_drop; /* number of non-reference frames
+                                       remaining to be dropped */
 
        /* Protocol-specific extensions. */
        union {
@@ -390,43 +436,71 @@ struct BC_PIC_INFO_BLOCK {
 /*------------------------------------------------------*
  *    ProcOut Info                                     *
  *------------------------------------------------------*/
-/* Optional flags for ProcOut Interface.*/
+
+/**
+ * enum POUT_OPTIONAL_IN_FLAGS - Optional flags for ProcOut Interface.
+ * @BC_POUT_FLAGS_YV12:  Copy Data in YV12 format
+ * @BC_POUT_FLAGS_STRIDE:  Stride size is valid.
+ * @BC_POUT_FLAGS_SIZE:  Take size information from Application
+ * @BC_POUT_FLAGS_INTERLACED:  copy only half the bytes
+ * @BC_POUT_FLAGS_INTERLEAVED:  interleaved frame
+ * @:  * @BC_POUT_FLAGS_FMT_CHANGE:  Data is not VALID when this flag is set
+ * @BC_POUT_FLAGS_PIB_VALID:  PIB Information valid
+ * @BC_POUT_FLAGS_ENCRYPTED:  Data is encrypted.
+ * @BC_POUT_FLAGS_FLD_BOT:  Bottom Field data
+ */
 enum POUT_OPTIONAL_IN_FLAGS_ {
        /* Flags from App to Device */
-       BC_POUT_FLAGS_YV12        = 0x01,       /* Copy Data in YV12 format */
-       BC_POUT_FLAGS_STRIDE      = 0x02,       /* Stride size is valid. */
-       BC_POUT_FLAGS_SIZE        = 0x04,       /* Take size information from Application */
-       BC_POUT_FLAGS_INTERLACED  = 0x08,       /* copy only half the bytes */
-       BC_POUT_FLAGS_INTERLEAVED = 0x10,       /* interleaved frame */
+       BC_POUT_FLAGS_YV12        = 0x01,
+       BC_POUT_FLAGS_STRIDE      = 0x02,
+       BC_POUT_FLAGS_SIZE        = 0x04,
+       BC_POUT_FLAGS_INTERLACED  = 0x08,
+       BC_POUT_FLAGS_INTERLEAVED = 0x10,
 
        /* Flags from Device to APP */
-       BC_POUT_FLAGS_FMT_CHANGE  = 0x10000,    /* Data is not VALID when this flag is set */
-       BC_POUT_FLAGS_PIB_VALID   = 0x20000,    /* PIB Information valid */
-       BC_POUT_FLAGS_ENCRYPTED   = 0x40000,    /* Data is encrypted. */
-       BC_POUT_FLAGS_FLD_BOT     = 0x80000,    /* Bottom Field data */
+       BC_POUT_FLAGS_FMT_CHANGE  = 0x10000,
+       BC_POUT_FLAGS_PIB_VALID   = 0x20000,
+       BC_POUT_FLAGS_ENCRYPTED   = 0x40000,
+       BC_POUT_FLAGS_FLD_BOT     = 0x80000,
 };
 
-typedef enum BC_STATUS(*dts_pout_callback)(void  *shnd, uint32_t width, uint32_t height, uint32_t stride, void *pOut);
+typedef enum BC_STATUS(*dts_pout_callback)(void  *shnd, uint32_t width,
+                       uint32_t height, uint32_t stride, void *pOut);
 
 /* Line 21 Closed Caption */
 /* User Data */
 #define MAX_UD_SIZE            1792    /* 1920 - 128 */
 
+/**
+ * struct BC_DTS_PROC_OUT
+ * @Ybuff: Caller Supplied buffer for Y data
+ * @YbuffSz: Caller Supplied Y buffer size
+ * @YBuffDoneSz: Transferred Y datasize
+ * @*UVbuff: Caller Supplied buffer for UV data
+ * @UVbuffSz: Caller Supplied UV buffer size
+ * @UVBuffDoneSz: Transferred UV data size
+ * @StrideSz: Caller supplied Stride Size
+ * @PoutFlags: Call IN Flags
+ * @discCnt: Picture discontinuity count
+ * @PicInfo: Picture Information Block Data
+ * @b422Mode: Picture output Mode
+ * @bPibEnc: PIB encrypted
+ */
 struct BC_DTS_PROC_OUT {
-       uint8_t         *Ybuff;                 /* Caller Supplied buffer for Y data */
-       uint32_t        YbuffSz;                /* Caller Supplied Y buffer size */
-       uint32_t        YBuffDoneSz;            /* Transferred Y datasize */
+       uint8_t         *Ybuff;
+       uint32_t        YbuffSz;
+       uint32_t        YBuffDoneSz;
 
-       uint8_t         *UVbuff;                /* Caller Supplied buffer for UV data */
-       uint32_t        UVbuffSz;               /* Caller Supplied UV buffer size */
-       uint32_t        UVBuffDoneSz;           /* Transferred UV data size */
+       uint8_t         *UVbuff;
+       uint32_t        UVbuffSz;
+       uint32_t        UVBuffDoneSz;
 
-       uint32_t        StrideSz;               /* Caller supplied Stride Size */
-       uint32_t        PoutFlags;              /* Call IN Flags */
+       uint32_t        StrideSz;
+       uint32_t        PoutFlags;
 
-       uint32_t        discCnt;                /* Picture discontinuity count */
+       uint32_t        discCnt;
 
-       struct BC_PIC_INFO_BLOCK PicInfo;               /* Picture Information Block Data */
+       struct BC_PIC_INFO_BLOCK PicInfo;
 
        /* Line 21 Closed Caption */
        /* User Data */
@@ -436,39 +510,47 @@ struct BC_DTS_PROC_OUT {
        void            *hnd;
        dts_pout_callback AppCallBack;
        uint8_t         DropFrames;
-       uint8_t         b422Mode;               /* Picture output Mode */
-       uint8_t         bPibEnc;                /* PIB encrypted */
+       uint8_t         b422Mode;
+       uint8_t         bPibEnc;
        uint8_t         bRevertScramble;
 
 };
-
+/**
+ * struct BC_DTS_STATUS
+ * @ReadyListCount: Number of frames in ready list (reported by driver)
+ * @PowerStateChange: Number of active state power
+ *     transitions (reported by driver)
+ * @FramesDropped:  Number of frames dropped.  (reported by DIL)
+ * @FramesCaptured: Number of frames captured. (reported by DIL)
+ * @FramesRepeated: Number of frames repeated. (reported by DIL)
+ * @InputCount:        Times compressed video has been sent to the HW.
+ *     i.e. Successful DtsProcInput() calls (reported by DIL)
+ * @InputTotalSize: Amount of compressed video that has been sent to the HW.
+ *     (reported by DIL)
+ * @InputBusyCount: Times compressed video has attempted to be sent to the HW
+ *     but the input FIFO was full. (reported by DIL)
+ * @PIBMissCount: Amount of times a PIB is invalid. (reported by DIL)
+ * @cpbEmptySize: supported only for H.264, specifically changed for
+ *     Adobe. Report size of CPB buffer available. (reported by DIL)
+ * @NextTimeStamp: TimeStamp of the next picture that will be returned
+ *     by a call to ProcOutput. Added for Adobe. Reported
+ *     back from the driver
+ */
 struct BC_DTS_STATUS {
-       uint8_t         ReadyListCount; /* Number of frames in ready list (reported by driver) */
-       uint8_t         FreeListCount;  /* Number of frame buffers free.  (reported by driver) */
-       uint8_t         PowerStateChange; /* Number of active state power transitions (reported by driver) */
+       uint8_t         ReadyListCount;
+       uint8_t         FreeListCount;
+       uint8_t         PowerStateChange;
        uint8_t         reserved_[1];
-
-       uint32_t        FramesDropped;  /* Number of frames dropped.  (reported by DIL) */
-       uint32_t        FramesCaptured; /* Number of frames captured. (reported by DIL) */
-       uint32_t        FramesRepeated; /* Number of frames repeated. (reported by DIL) */
-
-       uint32_t        InputCount;     /* Times compressed video has been sent to the HW.
-                                        * i.e. Successful DtsProcInput() calls (reported by DIL) */
-       uint64_t        InputTotalSize; /* Amount of compressed video that has been sent to the HW.
-                                        * (reported by DIL) */
-       uint32_t        InputBusyCount; /* Times compressed video has attempted to be sent to the HW
-                                        * but the input FIFO was full. (reported by DIL) */
-
-       uint32_t        PIBMissCount;   /* Amount of times a PIB is invalid. (reported by DIL) */
-
-       uint32_t        cpbEmptySize;   /* supported only for H.264, specifically changed for
-                                        * Adobe. Report size of CPB buffer available.
-                                        * Reported by DIL */
-       uint64_t        NextTimeStamp;  /* TimeStamp of the next picture that will be returned
-                                        * by a call to ProcOutput. Added for Adobe. Reported
-                                        * back from the driver */
+       uint32_t        FramesDropped;
+       uint32_t        FramesCaptured;
+       uint32_t        FramesRepeated;
+       uint32_t        InputCount;
+       uint64_t        InputTotalSize;
+       uint32_t        InputBusyCount;
+       uint32_t        PIBMissCount;
+       uint32_t        cpbEmptySize;
+       uint64_t        NextTimeStamp;
        uint8_t         reserved__[16];
-
 };
 
 #define BC_SWAP32(_v)                  \