summaryrefslogtreecommitdiffstats
path: root/make/stub_includes/openmax/NVOMX_ComponentRegister.h
blob: 550dd59126a8a3a4b980bf85675cb7fbb7270123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* Copyright (c) 2007 NVIDIA Corporation.  All rights reserved.
 *
 * NVIDIA Corporation and its licensors retain all intellectual property 
 * and proprietary rights in and to this software, related documentation 
 * and any modifications thereto.  Any use, reproduction, disclosure or 
 * distribution of this software and related documentation without an 
 * express license agreement from NVIDIA Corporation is strictly prohibited.
 */

/** 
 * @file
 * <b>NVIDIA Tegra ODM Kit:
 *         OMX Component Register Interface</b>
 *
 * @b Description: Defines the interface to register/deregister OMX components.
 * 
 */

#ifndef NVOMX_ComponentRegister_h
#define NVOMX_ComponentRegister_h

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include <OMX_Core.h>

/**
 * @defgroup nv_omx_il_comp_reg NVIDIA OMX Component Register Interface
 *   
 * This is the NVIDIA OMX component register interface.
 *
 * @ingroup nv_omx_il_core 
 * @{
 */

/** 
 * Dynamically registers a component with the core.
 * The core should return from this call in 20 msec.
 *
 * @pre OMX_Init()
 *
 * @param [in] pComponentReg A pointer to a component register
 *  structure. Both \c pName and \c pInitialize values of this structure
 *  shall be non-null. The \c pName value must be unique, otherwise an
 *  error is returned.
 * @retval OMX_ErrorNone If successful, or the appropriate OMX error code.
 * @ingroup core
 */
OMX_API OMX_ERRORTYPE OMX_APIENTRY NVOMX_RegisterComponent(
    OMX_IN  OMX_COMPONENTREGISTERTYPE *pComponentReg);

/** 
 * Deregisters a component with the core. 
 * A dynamically registered component is not required to be deregistered
 * with a call to this function. OMX_DeInit() will deregister
 * all components.
 * The core should return from this call in 20 msec.
 * 
 * @pre OMX_Init()
 *
 * @param [in] pComponentName The name of the component to deregister.
 * @retval OMX_ErrorNone If successful, or the appropriate OMX error code.
 * @ingroup core
 */
OMX_API OMX_ERRORTYPE OMX_APIENTRY NVOMX_DeRegisterComponent(
    OMX_IN OMX_STRING pComponentName);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
/** @} */
/* File EOF */