Edit File by line
/home/barbar84/www/wp-conte.../plugins/sujqvwi/ExeBy/exe_root.../usr/include/sound
File: compress_params.h
/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) AND MIT) */
[0] Fix | Delete
/*
[1] Fix | Delete
* compress_params.h - codec types and parameters for compressed data
[2] Fix | Delete
* streaming interface
[3] Fix | Delete
*
[4] Fix | Delete
* Copyright (C) 2011 Intel Corporation
[5] Fix | Delete
* Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
[6] Fix | Delete
* Vinod Koul <vinod.koul@linux.intel.com>
[7] Fix | Delete
*
[8] Fix | Delete
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[9] Fix | Delete
*
[10] Fix | Delete
* The definitions in this file are derived from the OpenMAX AL version 1.1
[11] Fix | Delete
* and OpenMAX IL v 1.1.2 header files which contain the copyright notice below
[12] Fix | Delete
* and are licensed under the MIT license.
[13] Fix | Delete
*
[14] Fix | Delete
* Copyright (c) 2007-2010 The Khronos Group Inc.
[15] Fix | Delete
*/
[16] Fix | Delete
#ifndef __SND_COMPRESS_PARAMS_H
[17] Fix | Delete
#define __SND_COMPRESS_PARAMS_H
[18] Fix | Delete
[19] Fix | Delete
#include <linux/types.h>
[20] Fix | Delete
[21] Fix | Delete
/* AUDIO CODECS SUPPORTED */
[22] Fix | Delete
#define MAX_NUM_CODECS 32
[23] Fix | Delete
#define MAX_NUM_CODEC_DESCRIPTORS 32
[24] Fix | Delete
#define MAX_NUM_BITRATES 32
[25] Fix | Delete
#define MAX_NUM_SAMPLE_RATES 32
[26] Fix | Delete
[27] Fix | Delete
/* Codecs are listed linearly to allow for extensibility */
[28] Fix | Delete
#define SND_AUDIOCODEC_PCM ((__u32) 0x00000001)
[29] Fix | Delete
#define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002)
[30] Fix | Delete
#define SND_AUDIOCODEC_AMR ((__u32) 0x00000003)
[31] Fix | Delete
#define SND_AUDIOCODEC_AMRWB ((__u32) 0x00000004)
[32] Fix | Delete
#define SND_AUDIOCODEC_AMRWBPLUS ((__u32) 0x00000005)
[33] Fix | Delete
#define SND_AUDIOCODEC_AAC ((__u32) 0x00000006)
[34] Fix | Delete
#define SND_AUDIOCODEC_WMA ((__u32) 0x00000007)
[35] Fix | Delete
#define SND_AUDIOCODEC_REAL ((__u32) 0x00000008)
[36] Fix | Delete
#define SND_AUDIOCODEC_VORBIS ((__u32) 0x00000009)
[37] Fix | Delete
#define SND_AUDIOCODEC_FLAC ((__u32) 0x0000000A)
[38] Fix | Delete
#define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
[39] Fix | Delete
#define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
[40] Fix | Delete
#define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
[41] Fix | Delete
#define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E)
[42] Fix | Delete
#define SND_AUDIOCODEC_ALAC ((__u32) 0x0000000F)
[43] Fix | Delete
#define SND_AUDIOCODEC_APE ((__u32) 0x00000010)
[44] Fix | Delete
#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_APE
[45] Fix | Delete
[46] Fix | Delete
/*
[47] Fix | Delete
* Profile and modes are listed with bit masks. This allows for a
[48] Fix | Delete
* more compact representation of fields that will not evolve
[49] Fix | Delete
* (in contrast to the list of codecs)
[50] Fix | Delete
*/
[51] Fix | Delete
[52] Fix | Delete
#define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
[53] Fix | Delete
[54] Fix | Delete
/* MP3 modes are only useful for encoders */
[55] Fix | Delete
#define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
[56] Fix | Delete
#define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002)
[57] Fix | Delete
#define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004)
[58] Fix | Delete
#define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008)
[59] Fix | Delete
[60] Fix | Delete
#define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001)
[61] Fix | Delete
[62] Fix | Delete
/* AMR modes are only useful for encoders */
[63] Fix | Delete
#define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001)
[64] Fix | Delete
#define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002)
[65] Fix | Delete
#define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004)
[66] Fix | Delete
[67] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000)
[68] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001)
[69] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002)
[70] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004)
[71] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008)
[72] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010)
[73] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020)
[74] Fix | Delete
[75] Fix | Delete
#define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001)
[76] Fix | Delete
[77] Fix | Delete
/* AMRWB modes are only useful for encoders */
[78] Fix | Delete
#define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001)
[79] Fix | Delete
#define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002)
[80] Fix | Delete
#define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004)
[81] Fix | Delete
[82] Fix | Delete
#define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001)
[83] Fix | Delete
[84] Fix | Delete
#define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001)
[85] Fix | Delete
[86] Fix | Delete
/* AAC modes are required for encoders and decoders */
[87] Fix | Delete
#define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001)
[88] Fix | Delete
#define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002)
[89] Fix | Delete
#define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004)
[90] Fix | Delete
#define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008)
[91] Fix | Delete
#define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010)
[92] Fix | Delete
#define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020)
[93] Fix | Delete
#define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040)
[94] Fix | Delete
#define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080)
[95] Fix | Delete
#define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100)
[96] Fix | Delete
#define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200)
[97] Fix | Delete
[98] Fix | Delete
/* AAC formats are required for encoders and decoders */
[99] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001)
[100] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002)
[101] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004)
[102] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008)
[103] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010)
[104] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020)
[105] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040)
[106] Fix | Delete
[107] Fix | Delete
#define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001)
[108] Fix | Delete
#define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002)
[109] Fix | Delete
#define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004)
[110] Fix | Delete
#define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008)
[111] Fix | Delete
#define SND_AUDIOPROFILE_WMA9_PRO ((__u32) 0x00000010)
[112] Fix | Delete
#define SND_AUDIOPROFILE_WMA9_LOSSLESS ((__u32) 0x00000020)
[113] Fix | Delete
#define SND_AUDIOPROFILE_WMA10_LOSSLESS ((__u32) 0x00000040)
[114] Fix | Delete
[115] Fix | Delete
#define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001)
[116] Fix | Delete
#define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002)
[117] Fix | Delete
#define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004)
[118] Fix | Delete
#define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008)
[119] Fix | Delete
#define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010)
[120] Fix | Delete
#define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020)
[121] Fix | Delete
#define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040)
[122] Fix | Delete
#define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080)
[123] Fix | Delete
[124] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001)
[125] Fix | Delete
/*
[126] Fix | Delete
* Some implementations strip the ASF header and only send ASF packets
[127] Fix | Delete
* to the DSP
[128] Fix | Delete
*/
[129] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002)
[130] Fix | Delete
[131] Fix | Delete
#define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001)
[132] Fix | Delete
[133] Fix | Delete
#define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001)
[134] Fix | Delete
#define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002)
[135] Fix | Delete
#define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004)
[136] Fix | Delete
#define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008)
[137] Fix | Delete
[138] Fix | Delete
#define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001)
[139] Fix | Delete
[140] Fix | Delete
#define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001)
[141] Fix | Delete
[142] Fix | Delete
#define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001)
[143] Fix | Delete
[144] Fix | Delete
/*
[145] Fix | Delete
* Define quality levels for FLAC encoders, from LEVEL0 (fast)
[146] Fix | Delete
* to LEVEL8 (best)
[147] Fix | Delete
*/
[148] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001)
[149] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002)
[150] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004)
[151] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008)
[152] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010)
[153] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020)
[154] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040)
[155] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080)
[156] Fix | Delete
#define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100)
[157] Fix | Delete
[158] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001)
[159] Fix | Delete
#define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002)
[160] Fix | Delete
[161] Fix | Delete
/* IEC61937 payloads without CUVP and preambles */
[162] Fix | Delete
#define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001)
[163] Fix | Delete
/* IEC61937 with S/PDIF preambles+CUVP bits in 32-bit containers */
[164] Fix | Delete
#define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002)
[165] Fix | Delete
[166] Fix | Delete
/*
[167] Fix | Delete
* IEC modes are mandatory for decoders. Format autodetection
[168] Fix | Delete
* will only happen on the DSP side with mode 0. The PCM mode should
[169] Fix | Delete
* not be used, the PCM codec should be used instead.
[170] Fix | Delete
*/
[171] Fix | Delete
#define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000)
[172] Fix | Delete
#define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001)
[173] Fix | Delete
#define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002)
[174] Fix | Delete
#define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004)
[175] Fix | Delete
#define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008)
[176] Fix | Delete
#define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010)
[177] Fix | Delete
#define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020)
[178] Fix | Delete
#define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040)
[179] Fix | Delete
#define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080)
[180] Fix | Delete
#define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100)
[181] Fix | Delete
#define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200)
[182] Fix | Delete
#define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400)
[183] Fix | Delete
#define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800)
[184] Fix | Delete
#define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000)
[185] Fix | Delete
#define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000)
[186] Fix | Delete
#define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000)
[187] Fix | Delete
#define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000)
[188] Fix | Delete
#define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000)
[189] Fix | Delete
#define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000)
[190] Fix | Delete
[191] Fix | Delete
#define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001)
[192] Fix | Delete
[193] Fix | Delete
#define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001)
[194] Fix | Delete
#define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002)
[195] Fix | Delete
#define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004)
[196] Fix | Delete
[197] Fix | Delete
#define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001)
[198] Fix | Delete
[199] Fix | Delete
#define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001)
[200] Fix | Delete
#define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002)
[201] Fix | Delete
[202] Fix | Delete
/* <FIXME: multichannel encoders aren't supported for now. Would need
[203] Fix | Delete
an additional definition of channel arrangement> */
[204] Fix | Delete
[205] Fix | Delete
/* VBR/CBR definitions */
[206] Fix | Delete
#define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001)
[207] Fix | Delete
#define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002)
[208] Fix | Delete
[209] Fix | Delete
/* Encoder options */
[210] Fix | Delete
[211] Fix | Delete
struct snd_enc_wma {
[212] Fix | Delete
__u32 super_block_align; /* WMA Type-specific data */
[213] Fix | Delete
};
[214] Fix | Delete
[215] Fix | Delete
[216] Fix | Delete
/**
[217] Fix | Delete
* struct snd_enc_vorbis - Vorbis encoder parameters
[218] Fix | Delete
* @quality: Sets encoding quality to n, between -1 (low) and 10 (high).
[219] Fix | Delete
* In the default mode of operation, the quality level is 3.
[220] Fix | Delete
* Normal quality range is 0 - 10.
[221] Fix | Delete
* @managed: Boolean. Set bitrate management mode. This turns off the
[222] Fix | Delete
* normal VBR encoding, but allows hard or soft bitrate constraints to be
[223] Fix | Delete
* enforced by the encoder. This mode can be slower, and may also be
[224] Fix | Delete
* lower quality. It is primarily useful for streaming.
[225] Fix | Delete
* @max_bit_rate: Enabled only if managed is TRUE
[226] Fix | Delete
* @min_bit_rate: Enabled only if managed is TRUE
[227] Fix | Delete
* @downmix: Boolean. Downmix input from stereo to mono (has no effect on
[228] Fix | Delete
* non-stereo streams). Useful for lower-bitrate encoding.
[229] Fix | Delete
*
[230] Fix | Delete
* These options were extracted from the OpenMAX IL spec and Gstreamer vorbisenc
[231] Fix | Delete
* properties
[232] Fix | Delete
*
[233] Fix | Delete
* For best quality users should specify VBR mode and set quality levels.
[234] Fix | Delete
*/
[235] Fix | Delete
[236] Fix | Delete
struct snd_enc_vorbis {
[237] Fix | Delete
__s32 quality;
[238] Fix | Delete
__u32 managed;
[239] Fix | Delete
__u32 max_bit_rate;
[240] Fix | Delete
__u32 min_bit_rate;
[241] Fix | Delete
__u32 downmix;
[242] Fix | Delete
} __attribute__((packed, aligned(4)));
[243] Fix | Delete
[244] Fix | Delete
[245] Fix | Delete
/**
[246] Fix | Delete
* struct snd_enc_real - RealAudio encoder parameters
[247] Fix | Delete
* @quant_bits: number of coupling quantization bits in the stream
[248] Fix | Delete
* @start_region: coupling start region in the stream
[249] Fix | Delete
* @num_regions: number of regions value
[250] Fix | Delete
*
[251] Fix | Delete
* These options were extracted from the OpenMAX IL spec
[252] Fix | Delete
*/
[253] Fix | Delete
[254] Fix | Delete
struct snd_enc_real {
[255] Fix | Delete
__u32 quant_bits;
[256] Fix | Delete
__u32 start_region;
[257] Fix | Delete
__u32 num_regions;
[258] Fix | Delete
} __attribute__((packed, aligned(4)));
[259] Fix | Delete
[260] Fix | Delete
/**
[261] Fix | Delete
* struct snd_enc_flac - FLAC encoder parameters
[262] Fix | Delete
* @num: serial number, valid only for OGG formats
[263] Fix | Delete
* needs to be set by application
[264] Fix | Delete
* @gain: Add replay gain tags
[265] Fix | Delete
*
[266] Fix | Delete
* These options were extracted from the FLAC online documentation
[267] Fix | Delete
* at http://flac.sourceforge.net/documentation_tools_flac.html
[268] Fix | Delete
*
[269] Fix | Delete
* To make the API simpler, it is assumed that the user will select quality
[270] Fix | Delete
* profiles. Additional options that affect encoding quality and speed can
[271] Fix | Delete
* be added at a later stage if needed.
[272] Fix | Delete
*
[273] Fix | Delete
* By default the Subset format is used by encoders.
[274] Fix | Delete
*
[275] Fix | Delete
* TAGS such as pictures, etc, cannot be handled by an offloaded encoder and are
[276] Fix | Delete
* not supported in this API.
[277] Fix | Delete
*/
[278] Fix | Delete
[279] Fix | Delete
struct snd_enc_flac {
[280] Fix | Delete
__u32 num;
[281] Fix | Delete
__u32 gain;
[282] Fix | Delete
} __attribute__((packed, aligned(4)));
[283] Fix | Delete
[284] Fix | Delete
struct snd_enc_generic {
[285] Fix | Delete
__u32 bw; /* encoder bandwidth */
[286] Fix | Delete
__s32 reserved[15]; /* Can be used for SND_AUDIOCODEC_BESPOKE */
[287] Fix | Delete
} __attribute__((packed, aligned(4)));
[288] Fix | Delete
[289] Fix | Delete
struct snd_dec_flac {
[290] Fix | Delete
__u16 sample_size;
[291] Fix | Delete
__u16 min_blk_size;
[292] Fix | Delete
__u16 max_blk_size;
[293] Fix | Delete
__u16 min_frame_size;
[294] Fix | Delete
__u16 max_frame_size;
[295] Fix | Delete
__u16 reserved;
[296] Fix | Delete
} __attribute__((packed, aligned(4)));
[297] Fix | Delete
[298] Fix | Delete
struct snd_dec_wma {
[299] Fix | Delete
__u32 encoder_option;
[300] Fix | Delete
__u32 adv_encoder_option;
[301] Fix | Delete
__u32 adv_encoder_option2;
[302] Fix | Delete
__u32 reserved;
[303] Fix | Delete
} __attribute__((packed, aligned(4)));
[304] Fix | Delete
[305] Fix | Delete
struct snd_dec_alac {
[306] Fix | Delete
__u32 frame_length;
[307] Fix | Delete
__u8 compatible_version;
[308] Fix | Delete
__u8 pb;
[309] Fix | Delete
__u8 mb;
[310] Fix | Delete
__u8 kb;
[311] Fix | Delete
__u32 max_run;
[312] Fix | Delete
__u32 max_frame_bytes;
[313] Fix | Delete
} __attribute__((packed, aligned(4)));
[314] Fix | Delete
[315] Fix | Delete
struct snd_dec_ape {
[316] Fix | Delete
__u16 compatible_version;
[317] Fix | Delete
__u16 compression_level;
[318] Fix | Delete
__u32 format_flags;
[319] Fix | Delete
__u32 blocks_per_frame;
[320] Fix | Delete
__u32 final_frame_blocks;
[321] Fix | Delete
__u32 total_frames;
[322] Fix | Delete
__u32 seek_table_present;
[323] Fix | Delete
} __attribute__((packed, aligned(4)));
[324] Fix | Delete
[325] Fix | Delete
union snd_codec_options {
[326] Fix | Delete
struct snd_enc_wma wma;
[327] Fix | Delete
struct snd_enc_vorbis vorbis;
[328] Fix | Delete
struct snd_enc_real real;
[329] Fix | Delete
struct snd_enc_flac flac;
[330] Fix | Delete
struct snd_enc_generic generic;
[331] Fix | Delete
struct snd_dec_flac flac_d;
[332] Fix | Delete
struct snd_dec_wma wma_d;
[333] Fix | Delete
struct snd_dec_alac alac_d;
[334] Fix | Delete
struct snd_dec_ape ape_d;
[335] Fix | Delete
} __attribute__((packed, aligned(4)));
[336] Fix | Delete
[337] Fix | Delete
/** struct snd_codec_desc - description of codec capabilities
[338] Fix | Delete
* @max_ch: Maximum number of audio channels
[339] Fix | Delete
* @sample_rates: Sampling rates in Hz, use values like 48000 for this
[340] Fix | Delete
* @num_sample_rates: Number of valid values in sample_rates array
[341] Fix | Delete
* @bit_rate: Indexed array containing supported bit rates
[342] Fix | Delete
* @num_bitrates: Number of valid values in bit_rate array
[343] Fix | Delete
* @rate_control: value is specified by SND_RATECONTROLMODE defines.
[344] Fix | Delete
* @profiles: Supported profiles. See SND_AUDIOPROFILE defines.
[345] Fix | Delete
* @modes: Supported modes. See SND_AUDIOMODE defines
[346] Fix | Delete
* @formats: Supported formats. See SND_AUDIOSTREAMFORMAT defines
[347] Fix | Delete
* @min_buffer: Minimum buffer size handled by codec implementation
[348] Fix | Delete
* @reserved: reserved for future use
[349] Fix | Delete
*
[350] Fix | Delete
* This structure provides a scalar value for profiles, modes and stream
[351] Fix | Delete
* format fields.
[352] Fix | Delete
* If an implementation supports multiple combinations, they will be listed as
[353] Fix | Delete
* codecs with different descriptors, for example there would be 2 descriptors
[354] Fix | Delete
* for AAC-RAW and AAC-ADTS.
[355] Fix | Delete
* This entails some redundancy but makes it easier to avoid invalid
[356] Fix | Delete
* configurations.
[357] Fix | Delete
*
[358] Fix | Delete
*/
[359] Fix | Delete
[360] Fix | Delete
struct snd_codec_desc {
[361] Fix | Delete
__u32 max_ch;
[362] Fix | Delete
__u32 sample_rates[MAX_NUM_SAMPLE_RATES];
[363] Fix | Delete
__u32 num_sample_rates;
[364] Fix | Delete
__u32 bit_rate[MAX_NUM_BITRATES];
[365] Fix | Delete
__u32 num_bitrates;
[366] Fix | Delete
__u32 rate_control;
[367] Fix | Delete
__u32 profiles;
[368] Fix | Delete
__u32 modes;
[369] Fix | Delete
__u32 formats;
[370] Fix | Delete
__u32 min_buffer;
[371] Fix | Delete
__u32 reserved[15];
[372] Fix | Delete
} __attribute__((packed, aligned(4)));
[373] Fix | Delete
[374] Fix | Delete
/** struct snd_codec
[375] Fix | Delete
* @id: Identifies the supported audio encoder/decoder.
[376] Fix | Delete
* See SND_AUDIOCODEC macros.
[377] Fix | Delete
* @ch_in: Number of input audio channels
[378] Fix | Delete
* @ch_out: Number of output channels. In case of contradiction between
[379] Fix | Delete
* this field and the channelMode field, the channelMode field
[380] Fix | Delete
* overrides.
[381] Fix | Delete
* @sample_rate: Audio sample rate of input data in Hz, use values like 48000
[382] Fix | Delete
* for this.
[383] Fix | Delete
* @bit_rate: Bitrate of encoded data. May be ignored by decoders
[384] Fix | Delete
* @rate_control: Encoding rate control. See SND_RATECONTROLMODE defines.
[385] Fix | Delete
* Encoders may rely on profiles for quality levels.
[386] Fix | Delete
* May be ignored by decoders.
[387] Fix | Delete
* @profile: Mandatory for encoders, can be mandatory for specific
[388] Fix | Delete
* decoders as well. See SND_AUDIOPROFILE defines.
[389] Fix | Delete
* @level: Supported level (Only used by WMA at the moment)
[390] Fix | Delete
* @ch_mode: Channel mode for encoder. See SND_AUDIOCHANMODE defines
[391] Fix | Delete
* @format: Format of encoded bistream. Mandatory when defined.
[392] Fix | Delete
* See SND_AUDIOSTREAMFORMAT defines.
[393] Fix | Delete
* @align: Block alignment in bytes of an audio sample.
[394] Fix | Delete
* Only required for PCM or IEC formats.
[395] Fix | Delete
* @options: encoder-specific settings
[396] Fix | Delete
* @reserved: reserved for future use
[397] Fix | Delete
*/
[398] Fix | Delete
[399] Fix | Delete
struct snd_codec {
[400] Fix | Delete
__u32 id;
[401] Fix | Delete
__u32 ch_in;
[402] Fix | Delete
__u32 ch_out;
[403] Fix | Delete
__u32 sample_rate;
[404] Fix | Delete
__u32 bit_rate;
[405] Fix | Delete
__u32 rate_control;
[406] Fix | Delete
__u32 profile;
[407] Fix | Delete
__u32 level;
[408] Fix | Delete
__u32 ch_mode;
[409] Fix | Delete
__u32 format;
[410] Fix | Delete
__u32 align;
[411] Fix | Delete
union snd_codec_options options;
[412] Fix | Delete
__u32 reserved[3];
[413] Fix | Delete
} __attribute__((packed, aligned(4)));
[414] Fix | Delete
[415] Fix | Delete
#endif
[416] Fix | Delete
[417] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function