source: svn/newcon3bcm2_21bu/nexus/modules/audio/7552/include/nexus_audyssey_abx.h

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 7.3 KB
Line 
1/***************************************************************************
2*     (c)2004-2011 Broadcom Corporation
3
4*  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5*  and may only be used, duplicated, modified or distributed pursuant to the terms and
6*  conditions of a separate, written license agreement executed between you and Broadcom
7*  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8*  no license (express or implied), right to use, or waiver of any kind with respect to the
9*  Software, and Broadcom expressly reserves all rights in and to the Software and all
10*  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11*  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12*  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. 
13*   
14*  Except as expressly set forth in the Authorized License,
15*   
16*  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17*  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18*  and to use this information only in connection with your use of Broadcom integrated circuit products.
19*   
20*  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21*  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22*  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23*  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24*  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25*  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26*  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27*  USE OR PERFORMANCE OF THE SOFTWARE.
28
29*  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30*  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31*  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32*  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33*  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34*  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35*  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36*  ANY LIMITED REMEDY.
37*
38* $brcm_Workfile: nexus_audyssey_abx.h $
39* $brcm_Revision: 2 $
40* $brcm_Date: 8/24/11 5:31p $
41*
42* API Description:
43*   API name: AudysseyAbx
44*    Specific APIs related to Audyssey ABX audio processing
45*
46* Revision History:
47*
48* $brcm_Log: /nexus/modules/audio/7422/include/nexus_audyssey_abx.h $
49*
50* 2   8/24/11 5:31p jgarrett
51* SW7344-176: Adding null_allowed attribute for kernelmode
52*
53* 1   5/16/11 5:19p jgarrett
54* SWDTV-6762: Adding Audyssey ADV/ABX
55*
56***************************************************************************/
57
58#ifndef NEXUS_AUDYSSEY_ABX_H__
59#define NEXUS_AUDYSSEY_ABX_H__
60
61#include "nexus_types.h"
62#include "nexus_audio_types.h"
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
68/*=************************************
69Interface: AudysseyAbx
70
71Header file: nexus_audyssey_abx.h
72
73Module: Audio
74
75Description:
76
77**************************************/
78
79/**
80Summary:
81Handle for Audyssey ABX stage
82**/
83typedef struct NEXUS_AudysseyAbx *NEXUS_AudysseyAbxHandle;
84
85/***************************************************************************
86Summary:
87Audyssey ABX Settings
88***************************************************************************/
89typedef struct NEXUS_AudysseyAbxSettings
90{
91    bool enabled;               /* If true, processing is enabled.  Otherwise this stage is bypassed */
92
93    unsigned filterSet;         /* Default : 1, Range [1,2]
94                                    1->is for systems that roll-off lower (42/46 inch TV)
95                                    2->is for systems that roll-off higher(22 inch TV) */
96    unsigned harmonicGain;      /* Default is 6(3 dB), Ranges from 0 to 30
97                                    Every step increment is equivalent to 0.5 dB step*/
98    unsigned dryGain;           /* Default is 0, Ranges from 0 to 30
99                                    Typically always 0, Every step increament is equivalent to 0.5 dB step */
100} NEXUS_AudysseyAbxSettings;
101
102/***************************************************************************
103Summary:
104Get default settings for an Audyssey ABX processing stage
105***************************************************************************/
106void NEXUS_AudysseyAbx_GetDefaultSettings(
107    NEXUS_AudysseyAbxSettings *pSettings   /* [out] default settings */
108    );
109
110/***************************************************************************
111Summary:
112Open an Audyssey ABX processing stage
113***************************************************************************/
114NEXUS_AudysseyAbxHandle NEXUS_AudysseyAbx_Open( /* attr{destructor=NEXUS_AudysseyAbx_Close}  */
115    const NEXUS_AudysseyAbxSettings *pSettings     /* attr{null_allowed=y} */
116    );
117
118/***************************************************************************
119Summary:
120Close an Audyssey ABX processing stage
121
122Description:
123Input to the stage must be removed prior to closing.
124***************************************************************************/
125void NEXUS_AudysseyAbx_Close(
126    NEXUS_AudysseyAbxHandle handle
127    );
128
129/***************************************************************************
130Summary:
131Get Settings for an Audyssey ABX processing stage
132***************************************************************************/
133void NEXUS_AudysseyAbx_GetSettings(
134    NEXUS_AudysseyAbxHandle handle,
135    NEXUS_AudysseyAbxSettings *pSettings    /* [out] Settings */
136    );
137
138/***************************************************************************
139Summary:
140Set Settings for an Audyssey ABX processing stage
141***************************************************************************/
142NEXUS_Error NEXUS_AudysseyAbx_SetSettings(
143    NEXUS_AudysseyAbxHandle handle,
144    const NEXUS_AudysseyAbxSettings *pSettings
145    );
146
147/***************************************************************************
148Summary:
149Get the audio connector for an Audyssey ABX processing stage
150***************************************************************************/
151NEXUS_AudioInput NEXUS_AudysseyAbx_GetConnector(
152    NEXUS_AudysseyAbxHandle handle
153    );
154
155/***************************************************************************
156Summary:
157Add an input to this processing stage
158***************************************************************************/
159NEXUS_Error NEXUS_AudysseyAbx_AddInput(
160    NEXUS_AudysseyAbxHandle handle,
161    NEXUS_AudioInput input
162    );
163
164/***************************************************************************
165Summary:
166Remove an input from this processing stage
167***************************************************************************/
168NEXUS_Error NEXUS_AudysseyAbx_RemoveInput(
169    NEXUS_AudysseyAbxHandle handle,
170    NEXUS_AudioInput input
171    );
172
173/***************************************************************************
174Summary:
175Remove all inputs from this processing stage
176***************************************************************************/
177NEXUS_Error NEXUS_AudysseyAbx_RemoveAllInputs(
178    NEXUS_AudysseyAbxHandle handle
179    );
180
181#ifdef __cplusplus
182}
183#endif
184
185#endif /* #ifndef NEXUS_AUDYSSEY_ABX_H__ */
186
Note: See TracBrowser for help on using the repository browser.