summaryrefslogtreecommitdiff
path: root/drivers/media/video/saa7164
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2010-07-31 14:41:09 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-21 07:54:32 -0200
commit335961ca2e5098e222fdfbde93de3714899128fd (patch)
tree5b6ba7a30893e6cc623ab927751e5182bb81c025 /drivers/media/video/saa7164
parent9b8b0199b86eaa595e3ccacb413e955a193f1962 (diff)
[media] saa7164: Add some encoder firmwares message types and structs
Signed-off-by: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7164')
-rw-r--r--drivers/media/video/saa7164/saa7164-reg.h47
-rw-r--r--drivers/media/video/saa7164/saa7164-types.h114
2 files changed, 160 insertions, 1 deletions
diff --git a/drivers/media/video/saa7164/saa7164-reg.h b/drivers/media/video/saa7164/saa7164-reg.h
index 89af6d0ccbec..a4ad55907b91 100644
--- a/drivers/media/video/saa7164/saa7164-reg.h
+++ b/drivers/media/video/saa7164/saa7164-reg.h
@@ -162,5 +162,50 @@
#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
diff --git a/drivers/media/video/saa7164/saa7164-types.h b/drivers/media/video/saa7164/saa7164-types.h
index 294ec35f1819..5340404059b3 100644
--- a/drivers/media/video/saa7164/saa7164-types.h
+++ b/drivers/media/video/saa7164/saa7164-types.h
@@ -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;
+