|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-F97ABEDE-C318-5EA2-B8CB-6510725413A0" xml:lang="en"><title>OpenMAX |
|
13 IL Loader Interface Overview </title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>This document introduces you to the Symbian way of using OpenMAX IL Loader |
|
15 interface. </p> |
|
16 <section><title>Purpose</title> <p>The OpenMAX IL Loader interface is installed |
|
17 as an ECom plug-in between OpenMAX IL Core and OpenMAX IL Components on the |
|
18 Symbian platform. This ECom plug-in is loaded by OpenMAX IL Core to access |
|
19 OpenMAX IL Loader. </p> <p>The OpenMAX IL Loader interface (entry point) is |
|
20 provided as a static library, and the ECom implementation is defined as a |
|
21 macro to allow OpenMAX IL Loader to be built as an ECom plug-in with very |
|
22 little overhead. </p> </section> |
|
23 <section><title>API name library details</title><p>You can choose either the |
|
24 Symbian OpenMAX IL Loader or a third-party OpenMAX IL Loader to load and unload |
|
25 OpenMAX IL Components. For Symbian OpenMAX IL Loader functionality you must |
|
26 adapt the following static library file. </p> <table id="GUID-F42DE580-E72B-58EB-8FFA-21E8068621F7"> |
|
27 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/> |
|
28 <thead> |
|
29 <row> |
|
30 <entry>DLL</entry> |
|
31 <entry>LIB</entry> |
|
32 <entry>Short Description</entry> |
|
33 </row> |
|
34 </thead> |
|
35 <tbody> |
|
36 <row> |
|
37 <entry><p>You must create your own <b>*.dll</b> </p> </entry> |
|
38 <entry><p> <b> omxilsymbianloaderif.lib</b> </p> </entry> |
|
39 <entry><p>These files are used for implementing the OpenMAX IL Loader interface. </p> </entry> |
|
40 </row> |
|
41 </tbody> |
|
42 </tgroup> |
|
43 </table></section> |
|
44 <section><title>Architectural relationship</title> <p>The OpenMAX IL Loader |
|
45 interface interacts with OpenMAX IL Component: it is an ECom plug-in that |
|
46 loads and unloads OpenMAX IL Component. </p> <p> <xref href="GUID-DBC308FC-FF91-314D-B633-6AE020917511.dita"><apiname>KUidOmxILLoaderInterface</apiname></xref> is |
|
47 an identifier for the OpenMAX IL Loader interface. </p> </section> |
|
48 <section><title>Description</title> <p>The OpenMAX IL Loader interface has |
|
49 the following two features: </p> <ul> |
|
50 <li id="GUID-AA107FB6-A38D-58A5-B352-FAA0ECAF3A01"><p>The <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure </p> </li> |
|
51 <li id="GUID-20CD2664-A815-50E2-B545-F5C9E645AFE5"><p>The static library <filepath>omxilsymbianloaderif.lib</filepath>. </p> </li> |
|
52 </ul> <p><b>The OMX_LOADERTYPE structure </b> </p> <p>The functionality of the <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure |
|
53 is to </p> <ul> |
|
54 <li id="GUID-CF40F008-A691-50CE-9C70-2415E4C8FA7C"><p>initialize OpenMAX IL |
|
55 Loader </p> </li> |
|
56 <li id="GUID-6027DA92-5467-5024-9C21-EBAB61D9666C"><p>uninitialize OpenMAX |
|
57 IL Loader </p> </li> |
|
58 <li id="GUID-68298652-62A9-5B4E-B17E-563A7C13FCB0"><p>load OpenMAX IL Component </p> </li> |
|
59 <li id="GUID-4DC1020F-9251-5C8A-94DD-5823AE5D5B22"><p>unload OpenMAX IL Component </p> </li> |
|
60 <li id="GUID-84A72B98-6E71-52A3-90CB-93004B163C3A"><p>detect a valid OpenMAX |
|
61 IL Component </p> </li> |
|
62 <li id="GUID-0E0D82CA-B8C8-5D6D-918A-FDF21F91D00A"><p>list the number of roles |
|
63 supported by OpenMAX IL Components </p> </li> |
|
64 <li id="GUID-EEAE0F0D-C56C-513C-A13B-61501C644D13"><p>list the number of OpenMAX |
|
65 IL Components that support a specific role. </p> </li> |
|
66 </ul> <p> <b>Note:</b> The <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure is |
|
67 not a part of <xref href="http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf" scope="external">OpenMAX IL Specification 1.1.1</xref>, but follows its naming |
|
68 style to suggest the definition to <xref href="http://www.khronos.org/openmax/" scope="external">The Khronos group</xref> for inclusion in <xref href="http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf" scope="external">OpenMAX IL Specification 1.1.1</xref>. </p> <p><b>The static library omxilsymbianloaderif.lib </b> </p> <p>The static library <filepath>omxilsymbianloaderif.lib</filepath> has |
|
69 the following functionality: </p> <ul> |
|
70 <li id="GUID-42E53C51-9A33-51D0-B2F5-74F085E79C61"><p>The library is installed |
|
71 as an ECom plug-in that implements the <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> to |
|
72 run under OpenMAX IL Core. More detailed information is available in the <xref href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita#GUID-148B1188-8007-5077-A813-50F728CAC5D5/GUID-782B851D-CACF-55F8-9F5B-A839C5A3ABAA">OpenMAX |
|
73 IL Core Overview Architectural Relationship</xref> section. </p> </li> |
|
74 <li id="GUID-0E7FE6A9-D18D-50BF-8446-493F2595193C"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> instantiates |
|
75 the OpenMAX IL Loader interface and gets the valid handle to the already populated <xref href="GUID-D03963AB-F746-3446-8BBB-AFFBD710515E.dita"><apiname>OMX_LOADERTYPE</apiname></xref> structure |
|
76 during the load operation. </p> </li> |
|
77 <li id="GUID-FD194AAF-D907-5A07-94C8-F2E64C596266"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref> deletes |
|
78 the OpenMAX IL Loader interface during the unload operation. </p> </li> |
|
79 </ul> </section> |
|
80 <section><title>Key OpenMAX IL Loader interface classes</title> <p>The key |
|
81 classes of the OpenMAX IL Loader interface are </p> <ul> |
|
82 <li id="GUID-A6F01CE7-A9F2-5FEA-8CF5-0D23FE5C28A8"><p> <xref href="GUID-54B6422B-3FED-3A17-A44E-C0977FFD0186.dita"><apiname>COmxComponentLoaderIf</apiname></xref>, |
|
83 which is an interface installed as an ECom plug-in to run under Symbian OpenMAX |
|
84 IL Core </p> </li> |
|
85 <li id="GUID-F00E15FA-DAD3-5F7F-AEF8-DE6041187C10"><p> <xref href="GUID-C05B4F55-E4D3-3C1D-9332-70805950E856.dita"><apiname>COmxSymbianLoaderIf</apiname></xref>, |
|
86 which is a Symbian implementation of OpenMAX IL Loader. </p> </li> |
|
87 </ul> </section> |
|
88 <section><title>Using OpenMAX IL Loader interface</title> <p>The OpenMAX IL |
|
89 Loader interface is mainly used to </p> <ul> |
|
90 <li id="GUID-DEC38843-0867-5937-9208-A808AC52BCED"><p>load OpenMAX IL Component </p> </li> |
|
91 <li id="GUID-EB36342E-3B01-511F-94F0-FDA0AAD254C0"><p>unload OpenMAX IL Component </p> </li> |
|
92 <li id="GUID-843A143B-4DE5-590A-AEDE-A68E3962FB26"><p>list the number of roles |
|
93 supported by OpenMAX IL Component </p> </li> |
|
94 <li id="GUID-10DC5DFB-DBEF-5BE3-8C1F-2E4E5D698631"><p>list the number of OpenMAX |
|
95 IL Components that support a specific role. </p> </li> |
|
96 </ul> </section> |
|
97 </conbody><related-links> |
|
98 <link href="GUID-148B1188-8007-5077-A813-50F728CAC5D5.dita"><linktext>OpenMAX IL |
|
99 Core Overview</linktext></link> |
|
100 <link href="GUID-89CFD892-16B0-5B70-AE46-D4BFB8412BC4.dita"><linktext>OpenMAX IL |
|
101 Content Pipe Overview</linktext></link> |
|
102 <link href="GUID-24D99069-438E-5CC4-90B6-5609A2E50953.dita"><linktext>OpenMAX IL |
|
103 Component Overview</linktext></link> |
|
104 </related-links></concept> |