120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/* 220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Copyright 2012 Samsung Electronics S.LSI Co. LTD 420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Licensed under the Apache License, Version 2.0 (the "License"); 620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * you may not use this file except in compliance with the License. 720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * You may obtain a copy of the License at 820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * http://www.apache.org/licenses/LICENSE-2.0 1020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 1120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Unless required by applicable law or agreed to in writing, software 1220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * distributed under the License is distributed on an "AS IS" BASIS, 1320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * See the License for the specific language governing permissions and 1520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * limitations under the License. 1620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 1720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 1820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/* 1920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @file library_register.c 2020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @brief 2120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @author Yunji Kim (yunji.kim@samsung.com) 2238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @version 2.0.0 2320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @history 2438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 2012.02.20 : Create 2520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 2620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 2720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include <stdio.h> 2820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include <stdlib.h> 2920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include <string.h> 3020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include <dlfcn.h> 3120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OSAL_Memory.h" 3320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OSAL_ETC.h" 3420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "library_register.h" 3520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#undef EXYNOS_LOG_TAG 3720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define EXYNOS_LOG_TAG "EXYNOS_MPEG4_ENC" 3820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define EXYNOS_LOG_OFF 3920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OSAL_Log.h" 4020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 4120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOSCL_EXPORT_REF int Exynos_OMX_COMPONENT_Library_Register(ExynosRegisterComponentType **ppExynosComponent) 4220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 4338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang FunctionIn(); 4420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 4538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang if (ppExynosComponent == NULL) 4638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang goto EXIT; 4720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 4838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang /* component 1 - video encoder MPEG4 */ 4938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang Exynos_OSAL_Strcpy(ppExynosComponent[0]->componentName, EXYNOS_OMX_COMPONENT_MPEG4_ENC); 5038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang Exynos_OSAL_Strcpy(ppExynosComponent[0]->roles[0], EXYNOS_OMX_COMPONENT_MPEG4_ENC_ROLE); 5138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ppExynosComponent[0]->totalRoleNum = MAX_COMPONENT_ROLE_NUM; 5220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 5338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang /* component 2 - video encoder H.263 */ 5438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang Exynos_OSAL_Strcpy(ppExynosComponent[1]->componentName, EXYNOS_OMX_COMPONENT_H263_ENC); 5538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang Exynos_OSAL_Strcpy(ppExynosComponent[1]->roles[0], EXYNOS_OMX_COMPONENT_H263_ENC_ROLE); 5638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ppExynosComponent[1]->totalRoleNum = MAX_COMPONENT_ROLE_NUM; 5720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 5820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangEXIT: 5938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang FunctionOut(); 60800a8d754f6251b19a56b1aebde0e239c0e5f3cdJiho Chang 6138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang return MAX_COMPONENT_NUM; 6220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} 63