| /* |
| * Copyright (C) 2016-2018 Intel Corporation |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #define LOG_TAG "SkyCamProxy" |
| |
| #include <ia_cmc_types.h> |
| #include <ia_types.h> |
| #include <cpffData.h> |
| #include <Pipe.h> |
| #include <KBL_AIC.h> |
| |
| #include "LogHelper.h" |
| #include "SkyCamProxy.h" |
| #include "ipc/client/SkyCamMojoProxy.h" |
| |
| namespace cros { |
| namespace intel { |
| |
| SkyCamProxy::SkyCamProxy() |
| { |
| // TODO Auto-generated constructor stub |
| } |
| |
| SkyCamProxy::~SkyCamProxy() |
| { |
| // TODO Auto-generated destructor stub |
| } |
| |
| std::shared_ptr<SkyCamProxy> SkyCamProxy::createProxy(int cameraId, AicMode aicMode, IPU3ISPPipe **pipes, unsigned int numPipes, const ia_cmc_t* cmcParsed, |
| const ia_binary_data* aiqb, IPU3AICRuntimeParams *runtimeParams, |
| unsigned int dumpAicParameters, int testFrameworkDump) |
| { |
| |
| std::shared_ptr<SkyCamProxy> proxyObject = nullptr; |
| |
| LOGD("Use IPC implementation"); |
| proxyObject = std::make_shared<SkyCamMojoProxy>(aicMode); |
| CheckError(proxyObject == nullptr, nullptr, "@%s: proxyObject is nullptr", __FUNCTION__); |
| |
| status_t ret = proxyObject->init(cameraId, pipes, numPipes, cmcParsed, aiqb, runtimeParams, |
| dumpAicParameters, testFrameworkDump); |
| |
| if (ret != OK) { |
| LOGE("Cannot initialize proxy AIC"); |
| return nullptr; |
| } |
| |
| return proxyObject; |
| } |
| |
| } /* namespace intel */ |
| } /* namespace cros */ |