⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cam_msg_handler.c

📁 最新MTK手机软件源码
💻 C
📖 第 1 页 / 共 5 页
字号:
                    }
                    else
                    {
                        result = MED_RES_ERROR;
                    }
                    med_free_ext_mem((void **)(&cam_context_p->extmem_start_address));
                    cam_set_result(result);
                    CAM_ENTER_STATE(CAM_READY);
                    CAM_SET_EVENT(CAM_EVT_CAPTURE);
                }
            }
            else
            {
                cam_set_result(result);
            #ifdef __MTK_TARGET__
                exit_ext_camera_preview();
            #endif 
                CAM_ENTER_STATE(CAM_READY);
                CAM_SET_EVENT(CAM_EVT_CAPTURE);
            }

        }
        else
        {
            cam_set_result(MED_RES_INVALID_FORMAT);
            CAM_SET_EVENT(CAM_EVT_CAPTURE);
        }
    }
    else
    {
        cam_set_result(MED_RES_BUSY);
        CAM_SET_EVENT(CAM_EVT_CAPTURE);
        ASSERT(0);
    }
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_zoom_factor
 * DESCRIPTION
 *  This function is to set the camera zoom factor.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_zoom_factor(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
#ifdef __MTK_TARGET__
    ext_camera_set_parameter(cam_command_map[CAM_PARAM_ZOOM_FACTOR], value);
#endif 
    return MED_RES_OK;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_contrast
 * DESCRIPTION
 *  This function is to set the contrast.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_contrast(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    return MED_RES_ERROR;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_brightness
 * DESCRIPTION
 *  This function is to set the brightness.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_brightness(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    return MED_RES_ERROR;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_hue
 * DESCRIPTION
 *  This function is to set the hue.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_hue(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    return MED_RES_ERROR;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_gamma
 * DESCRIPTION
 *  This function is to set the gamma value.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_gamma(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    return MED_RES_ERROR;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_wb
 * DESCRIPTION
 *  This function is to set the white balance value.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_wb(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (value >= 0 && value < CAM_NO_OF_WB)
    {
    #ifdef __MTK_TARGET__
        ext_camera_set_parameter(cam_command_map[CAM_PARAM_WB], cam_wb_param_map[value]);
    #endif 
        return MED_RES_OK;
    }
    else
    {
        return MED_RES_ERROR;
    }

}


/*****************************************************************************
 * FUNCTION
 *  cam_set_exposure
 * DESCRIPTION
 *  This function is to set the exposure compensation value.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_exposure(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (value >= 0 && value < CAM_NO_OF_EV)
    {
    #ifdef __MTK_TARGET__
        ext_camera_set_parameter(cam_command_map[CAM_PARAM_EXPOSURE], cam_ev_param_map[value]);
    #endif 
        return MED_RES_OK;
    }
    else
    {
        return MED_RES_ERROR;
    }

}


/*****************************************************************************
 * FUNCTION
 *  cam_set_effect
 * DESCRIPTION
 *  This function is to set the image effect.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_effect(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (value >= 0 && value < CAM_NO_OF_EFFECT_ENC)
    {
        ext_camera_set_parameter(cam_command_map[CAM_PARAM_EFFECT], cam_effect_param_map[value]);
        return MED_RES_OK;
    }
    else
    {
        return MED_RES_ERROR;
    }

}


/*****************************************************************************
 * FUNCTION
 *  cam_set_banding
 * DESCRIPTION
 *  This function is to set the banding.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_banding(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (value >= 0 && value < CAM_NO_OF_BANDING)
    {
    #ifdef __MTK_TARGET__
        ext_camera_set_parameter(cam_command_map[CAM_PARAM_BANDING], cam_effect_param_map[value]);
    #endif 
        return MED_RES_OK;
    }
    else
    {
        return MED_RES_ERROR;
    }

}


/*****************************************************************************
 * FUNCTION
 *  cam_set_night_mode
 * DESCRIPTION
 *  This function is to set the night mode.
 * PARAMETERS
 *  value       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
kal_int16 cam_set_night_mode(kal_int16 value)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
#ifdef __MTK_TARGET__
    ext_camera_set_parameter(cam_command_map[CAM_PARAM_NIGHT_MODE], (kal_uint8) value);
#endif 
    return MED_RES_OK;
}


/*****************************************************************************
 * FUNCTION
 *  cam_set_param_req_hdlr
 * DESCRIPTION
 *  This function is to handle camera set parameter request.
 * PARAMETERS
 *  ilm_ptr     [?]     
 * RETURNS
 *  void
 *****************************************************************************/
void cam_set_param_req_hdlr(ilm_struct *ilm_ptr)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    media_cam_set_param_req_struct *req_p;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    cam_context_p->src_mod = ilm_ptr->src_mod_id;

    req_p = (media_cam_set_param_req_struct*) ilm_ptr->local_para_ptr;

    switch (req_p->param_id)
    {
        case CAM_PARAM_ZOOM_FACTOR:
            cam_set_zoom_factor(req_p->value);
            break;
        case CAM_PARAM_CONTRAST:
            cam_set_contrast(req_p->value);
            break;
        case CAM_PARAM_BRIGHTNESS:
            cam_set_brightness(req_p->value);
            break;
        case CAM_PARAM_HUE:
            cam_set_hue(req_p->value);
            break;
        case CAM_PARAM_GAMMA:
            cam_set_gamma(req_p->value);
            break;
        case CAM_PARAM_WB:
            cam_set_wb(req_p->value);
            break;
        case CAM_PARAM_EXPOSURE:
            cam_set_exposure(req_p->value);
            break;
        case CAM_PARAM_EFFECT:
            cam_set_effect(req_p->value);
            break;
        case CAM_PARAM_BANDING:
            cam_set_banding(req_p->value);
            break;
        case CAM_PARAM_NIGHT_MODE:
            cam_set_night_mode(req_p->value);
            break;
        case CAM_PARAM_FLASH_MODE:
            cam_set_flash(req_p->value);
            break;
        default:
            cam_set_exposure(req_p->value);
            break;

    }

    CAM_SET_EVENT(CAM_EVT_SET_PARAM

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -