[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>
This commit is contained in:
Steven Toth 2010-07-31 14:41:09 -03:00 committed by Mauro Carvalho Chehab
parent 9b8b0199b8
commit 335961ca2e
2 changed files with 160 additions and 1 deletions

View file

@ -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

View 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;