/* 
 | 
 * rk_aiq_algo_ar2y_itf.c 
 | 
 * 
 | 
 *  Copyright (c) 2019 Rockchip 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. 
 | 
 * 
 | 
 */ 
 | 
  
 | 
#include "rk_aiq_algo_types_int.h" 
 | 
#include "ar2y/rk_aiq_algo_ar2y_itf.h" 
 | 
#include "xcam_log.h" 
 | 
RKAIQ_BEGIN_DECLARE 
 | 
  
 | 
typedef struct _RkAiqAlgoContext { 
 | 
    void* place_holder[0]; 
 | 
} RkAiqAlgoContext; 
 | 
  
 | 
  
 | 
static XCamReturn 
 | 
create_context(RkAiqAlgoContext **context, const AlgoCtxInstanceCfg* cfg) 
 | 
{ 
 | 
    RkAiqAlgoContext *ctx = new RkAiqAlgoContext(); 
 | 
    if (ctx == NULL) { 
 | 
        LOGE_AR2Y( "%s: create ar2y context fail!\n", __FUNCTION__); 
 | 
        return XCAM_RETURN_ERROR_MEM; 
 | 
    } 
 | 
    *context = ctx; 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
static XCamReturn 
 | 
destroy_context(RkAiqAlgoContext *context) 
 | 
{ 
 | 
    delete context; 
 | 
    context = NULL; 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
static XCamReturn 
 | 
prepare(RkAiqAlgoCom* params) 
 | 
{ 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
static XCamReturn 
 | 
pre_process(const RkAiqAlgoCom* inparams, RkAiqAlgoResCom* outparams) 
 | 
{ 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
static XCamReturn 
 | 
processing(const RkAiqAlgoCom* inparams, RkAiqAlgoResCom* outparams) 
 | 
{ 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
static XCamReturn 
 | 
post_process(const RkAiqAlgoCom* inparams, RkAiqAlgoResCom* outparams) 
 | 
{ 
 | 
    return XCAM_RETURN_NO_ERROR; 
 | 
} 
 | 
  
 | 
RkAiqAlgoDescription g_RkIspAlgoDescAr2y = { 
 | 
    .common = { 
 | 
        .version = RKISP_ALGO_AR2Y_VERSION, 
 | 
        .vendor  = RKISP_ALGO_AR2Y_VENDOR, 
 | 
        .description = RKISP_ALGO_AR2Y_DESCRIPTION, 
 | 
        .type    = RK_AIQ_ALGO_TYPE_AR2Y, 
 | 
        .id      = 0, 
 | 
        .create_context  = create_context, 
 | 
        .destroy_context = destroy_context, 
 | 
    }, 
 | 
    .prepare = prepare, 
 | 
    .pre_process = pre_process, 
 | 
    .processing = processing, 
 | 
    .post_process = post_process, 
 | 
}; 
 | 
  
 | 
RKAIQ_END_DECLARE 
 |