[media] saa7164: Add some encoder firmwares message types and structs
authorSteven Toth <stoth@kernellabs.com>
Sat, 31 Jul 2010 17:41:09 +0000 (14:41 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 21 Oct 2010 09:54:32 +0000 (07:54 -0200)
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/saa7164/saa7164-reg.h
drivers/media/video/saa7164/saa7164-types.h

index 89af6d0..a4ad559 100644 (file)
 #define SAA_DMASTATE_PAUSE     0x02
 #define SAA_DMASTATE_RUN       0x03
 
-/* Hardware registers */
+/* A/V Mux Input Selector */
+#define SU_INPUT_SELECT_CONTROL 0x01
+
+/* Encoder Profiles */
+#define EU_PROFILE_PS_DVD      0x06
+#define EU_PROFILE_TS_HQ       0x09
+#define EU_VIDEO_FORMAT_MPEG_2 0x02
+
+/* Tuner */
+#define TU_AUDIO_MODE_CONTROL  0x17
+
+/* Video Formats */
+#define TU_STANDARD_CONTROL            0x00
+#define TU_STANDARD_AUTO_CONTROL       0x01
+#define TU_STANDARD_NONE               0x00
+#define TU_STANDARD_NTSC_M             0x01
+#define TU_STANDARD_PAL_I              0x08
+#define TU_STANDARD_MANUAL             0x00
+#define TU_STANDARD_AUTO               0x01
+
+/* Video Controls */
+#define PU_BRIGHTNESS_CONTROL  0x02
+#define PU_CONTRAST_CONTROL    0x03
+#define PU_HUE_CONTROL         0x06
+#define PU_SATURATION_CONTROL  0x07
+#define PU_SHARPNESS_CONTROL   0x08
+
+/* Audio Controls */
+#define MUTE_CONTROL           0x01
+#define VOLUME_CONTROL         0x02
+#define AUDIO_DEFAULT_CONTROL  0x0D
+
+/* Default Volume Levels */
+#define TMHW_LEV_ADJ_DECLEV_DEFAULT     0x00
+#define TMHW_LEV_ADJ_MONOLEV_DEFAULT    0x00
+#define TMHW_LEV_ADJ_NICLEV_DEFAULT     0x00
+#define TMHW_LEV_ADJ_SAPLEV_DEFAULT     0x00
+#define TMHW_LEV_ADJ_ADCLEV_DEFAULT     0x00
+
+/* Encoder Related Commands */
+#define EU_PROFILE_CONTROL             0x00
+#define EU_VIDEO_FORMAT_CONTROL                0x01
+#define EU_VIDEO_BIT_RATE_CONTROL      0x02
+#define EU_VIDEO_INPUT_ASPECT_CONTROL  0x0A
+#define EU_AUDIO_FORMAT_CONTROL                0x0C
+#define EU_AUDIO_BIT_RATE_CONTROL      0x0D
 
index 294ec35..5340404 100644 (file)
@@ -285,3 +285,117 @@ typedef struct {
        u8      guidStrideFormat[16];
 } __attribute__((packed)) tmComResTSFormatDescrHeader_t;
 
+/* Encoder related structures */
+
+/* A/V Mux Selector */
+typedef struct
+{
+       u8      len;
+       u8      type;
+       u8      subtype;
+       u8      unitid;
+       u8      nrinpins;
+       u8      sourceid;
+} __attribute__((packed)) tmComResSelDescrHeader_t;
+
+/* A/V Audio processor definitions */
+typedef struct
+{
+       u8      len;
+       u8      type;
+       u8      subtype;
+       u8      unitid;
+       u8      sourceid;
+       u16     wreserved;
+       u8      controlsize;
+} __attribute__((packed)) tmComResProcDescrHeader_t;
+
+/* Video bitrate control message */
+typedef struct
+{
+       u8      ucVideoBitRateMode;
+       u32     dwVideoBitRate;
+       u32     dwVideoBitRatePeak;
+} __attribute__((packed)) tmComResEncVideoBitRate_t;
+
+/* Video Encoder Aspect Ratio message */
+typedef struct
+{
+       u8      width;
+       u8      height;
+} __attribute__((packed)) tmComResEncVideoInputAspectRatio_t;
+
+/* Encoder processor definition */
+typedef struct
+{
+       u8      len;
+       u8      type;
+       u8      subtype;
+       u8      unitid;
+       u8      vsourceid;
+       u8      asourceid;
+       u8      iunit;
+       u32     dwmControlCap;
+       u32     dwmProfileCap;
+       u32     dwmVidFormatCap;
+       u8      bmVidBitrateCap;
+       u16     wmVidResolutionsCap;
+       u16     wmVidFrmRateCap;
+       u32     dwmAudFormatCap;
+       u8      bmAudBitrateCap;
+} __attribute__((packed)) tmComResEncoderDescrHeader_t;
+
+/* Audio processor definition */
+typedef struct
+{
+       u8      len;
+       u8      type;
+       u8      subtype;
+       u8      unitid;
+       u8      sourceid;
+       u8      controlsize;
+} __attribute__((packed)) tmComResAFeatureDescrHeader_t;
+
+/* Audio control messages */
+typedef struct
+{
+       u8      ucDecoderLevel;
+       u8      ucDecoderFM_Level;
+       u8      ucMonoLevel;
+       u8      ucNICAM_Level;
+       u8      ucSAP_Level;
+       u8      ucADC_Level;
+} __attribute__((packed)) tmComResAudioDefaults_t;
+
+/* Audio bitrate control message */
+typedef struct
+{
+       u8      ucAudioBitRateMode;
+       u32     dwAudioBitRate;
+       u32     dwAudioBitRatePeak;
+} __attribute__((packed)) tmComResEncAudioBitRate_t;
+
+/* Tuner / AV Decoder messages */
+typedef struct
+{
+       u8      std;
+       u32     country;
+} __attribute__((packed)) tmComResTunerStandard_t;
+
+typedef struct
+{
+       u8      mode;
+} __attribute__((packed)) tmComResTunerStandardAuto_t;
+
+/* EEPROM definition for PS stream types */
+typedef struct
+{
+       u8      len;
+       u8      type;
+       u8      subtype;
+       u8      bFormatIndex;
+       u16     wPacketLength;
+       u16     wPackLength;
+       u8      bPackDataType;
+} __attribute__((packed)) tmComResPSFormatDescrHeader_t;
+