mirror of https://gitee.com/openkylin/linux.git
ALSA: Add definitions for CEA-861 Audio InfoFrames
Along with the IEC-60958 channel status word, CEA-861 Audio InfoFrames are used in HDMI and DisplayPort to describe the parameters of the audio stream. Hence, drivers for such devices may use these definitions to, for instance, fill a CEA-861 data structure and pass it to a display driver to configure an IP. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
dd775ae254
commit
7ba1c40b53
|
@ -68,6 +68,20 @@ struct snd_aes_iec958 {
|
||||||
unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
|
unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* *
|
||||||
|
* CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
|
||||||
|
* *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
struct snd_cea_861_aud_if {
|
||||||
|
unsigned char db1_ct_cc; /* coding type and channel count */
|
||||||
|
unsigned char db2_sf_ss; /* sample frequency and size */
|
||||||
|
unsigned char db3; /* not used, all zeros */
|
||||||
|
unsigned char db4_ca; /* channel allocation code */
|
||||||
|
unsigned char db5_dminh_lsv; /* downmix inhibit & level-shit values */
|
||||||
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* *
|
* *
|
||||||
* Section for driver hardware dependent interface - /dev/snd/hw? *
|
* Section for driver hardware dependent interface - /dev/snd/hw? *
|
||||||
|
|
|
@ -170,6 +170,47 @@
|
||||||
#define IEC958_AES5_CON_CGMSA_COPYNOMORE (2<<0) /* condition not be used */
|
#define IEC958_AES5_CON_CGMSA_COPYNOMORE (2<<0) /* condition not be used */
|
||||||
#define IEC958_AES5_CON_CGMSA_COPYNEVER (3<<0) /* no copying is permitted */
|
#define IEC958_AES5_CON_CGMSA_COPYNEVER (3<<0) /* no copying is permitted */
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* *
|
||||||
|
* CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
|
||||||
|
* *
|
||||||
|
****************************************************************************/
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CC (7<<0) /* mask - channel count */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT (0xf<<4) /* mask - coding type */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_FROM_STREAM (0<<4) /* refer to stream */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_IEC60958 (1<<4) /* IEC-60958 L-PCM */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_AC3 (2<<4) /* AC-3 */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_MPEG1 (3<<4) /* MPEG1 Layers 1 & 2 */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_MP3 (4<<4) /* MPEG1 Layer 3 */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_MPEG2_MULTICH (5<<4) /* MPEG2 Multichannel */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_AAC (6<<4) /* AAC */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_DTS (7<<4) /* DTS */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_ATRAC (8<<4) /* ATRAC */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_ONEBIT (9<<4) /* One Bit Audio */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_DOLBY_DIG_PLUS (10<<4) /* Dolby Digital + */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_DTS_HD (11<<4) /* DTS-HD */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_MAT (12<<4) /* MAT (MLP) */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_DST (13<<4) /* DST */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB1CT_WMA_PRO (14<<4) /* WMA Pro */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF (7<<2) /* mask - sample frequency */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_FROM_STREAM (0<<2) /* refer to stream */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_32000 (1<<2) /* 32kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_44100 (2<<2) /* 44.1kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_48000 (3<<2) /* 48kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_88200 (4<<2) /* 88.2kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_96000 (5<<2) /* 96kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_176400 (6<<2) /* 176.4kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SF_192000 (7<<2) /* 192kHz */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SS (3<<0) /* mask - sample size */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SS_FROM_STREAM (0<<0) /* refer to stream */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SS_16BIT (1<<0) /* 16 bits */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SS_20BIT (2<<0) /* 20 bits */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB2SS_24BIT (3<<0) /* 24 bits */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH (1<<7) /* mask - inhibit downmixing */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH_PERMITTED (0<<7) /* stereo downmix permitted */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB5_DM_INH_PROHIBITED (1<<7) /* stereo downmis prohibited */
|
||||||
|
#define CEA861_AUDIO_INFOFRAME_DB5_LSV (0xf<<3) /* mask - level-shift values */
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* *
|
* *
|
||||||
* MIDI v1.0 interface *
|
* MIDI v1.0 interface *
|
||||||
|
|
Loading…
Reference in New Issue