int32_t mm_camera_set_parm(mm_camera_obj_t * my_obj, mm_camera_parm_t *parm) { int32_t rc = -1; uint16_t len; CDBG("%s type =%d", __func__, parm->parm_type); switch(parm->parm_type) { case MM_CAMERA_PARM_OP_MODE: rc = mm_camera_util_set_op_mode(my_obj, (mm_camera_op_mode_type_t *)parm->p_value); break; case MM_CAMERA_PARM_DIMENSION: rc = mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_SET_PARM_DIMENSION, sizeof(cam_ctrl_dimension_t), parm->p_value); if(rc != MM_CAMERA_OK) { CDBG("%s: mm_camera_send_native_ctrl_cmd err=%d\n", __func__, rc); break; } memcpy(&my_obj->dim, (cam_ctrl_dimension_t *)parm->p_value, sizeof(cam_ctrl_dimension_t)); CDBG("%s: dw=%d,dh=%d,vw=%d,vh=%d,pw=%d,ph=%d,tw=%d,th=%d,raw_w=%d,raw_h=%d\n", __func__, my_obj->dim.display_width,my_obj->dim.display_height, my_obj->dim.video_width, my_obj->dim.video_height, my_obj->dim.picture_width,my_obj->dim.picture_height, my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height, my_obj->dim.raw_picture_width,my_obj->dim.raw_picture_height); break; case MM_CAMERA_PARM_SNAPSHOT_BURST_NUM: CDBG("%s: Setting snapshot burst number: %d\n", __func__, *((int *)parm->p_value)); my_obj->snap_burst_num_by_user = *((int *)parm->p_value); rc = MM_CAMERA_OK; break; case MM_CAMERA_PARM_CH_IMAGE_FMT: { mm_camera_ch_image_fmt_parm_t *fmt; fmt = (mm_camera_ch_image_fmt_parm_t *)parm->p_value; rc = mm_camera_ch_fn(my_obj, fmt->ch_type, MM_CAMERA_STATE_EVT_SET_FMT, fmt); } break; case MM_CAMERA_PARM_CHECK_AF_RETRY: return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_CHECK_AF_RETRY, 0, (void *)NULL); case MM_CAMERA_PARM_LG_CAF_LOCK: return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_SET_LG_CAF_LOCK, 0, (void *)NULL); case MM_CAMERA_PARM_INFORM_STARTPRVIEW: return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_SET_INFORM_STARTPREVIEW, 0, (void *)NULL); default: rc = mm_camera_set_general_parm(my_obj, parm); break; } return rc; }
int32_t mm_camera_set_parm(mm_camera_obj_t * my_obj, mm_camera_parm_t *parm) { int32_t rc = -1; uint16_t len; switch(parm->parm_type) { case MM_CAMERA_PARM_OP_MODE: rc = mm_camera_util_set_op_mode(my_obj, (mm_camera_op_mode_type_t *)parm->p_value); break; case MM_CAMERA_PARM_DIMENSION: rc = mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_SET_PARM_DIMENSION, sizeof(cam_ctrl_dimension_t), parm->p_value); if(rc != MM_CAMERA_OK) { CDBG("%s: mm_camera_send_native_ctrl_cmd err=%d\n", __func__, rc); break; } memcpy(&my_obj->dim, (cam_ctrl_dimension_t *)parm->p_value, sizeof(cam_ctrl_dimension_t)); CDBG("%s: dw=%d,dh=%d,vw=%d,vh=%d,pw=%d,ph=%d,tw=%d,th=%d,raw_w=%d,raw_h=%d\n", __func__, my_obj->dim.display_width,my_obj->dim.display_height, my_obj->dim.video_width,my_obj->dim.video_height, my_obj->dim.picture_width,my_obj->dim.picture_height, my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height, my_obj->dim.raw_picture_width,my_obj->dim.raw_picture_height); break; case MM_CAMERA_PARM_SNAPSHOT_BURST_NUM: break; case MM_CAMERA_PARM_CH_IMAGE_FMT: { mm_camera_ch_image_fmt_parm_t *fmt; fmt = (mm_camera_ch_image_fmt_parm_t *)parm->p_value; rc = mm_camera_ch_fn(my_obj, fmt->ch_type, MM_CAMERA_STATE_EVT_SET_FMT, fmt); } break; default: rc = mm_camera_set_general_parm(my_obj, parm); break; } return rc; }