高通ais cam.xml配置

高通ais cam.xml配置


参数解析代码:
        else if ((!xmlStrcmp(cur->name, (const xmlChar *)"display_setting")))
        {
            XML_GET_INT_ATTR(input->window_params.pipeline_id, cur, "pipeline", 1, int, -1);
            XML_GET_INT_ATTR(input->window_params.n_buffers_display, cur, "nbufs", 1, int, 3);
 
            XML_GET_STRING_ATTR(format, cur, "format", 1, "uyvy");
            input->window_params.format = translate_format_string(format);
 
 
这些参数定义在结构体 test_util_window_param_t 中
/// Parameters used to identify and define properties given to windows to be displayed.
typedef struct
{
    char debug_name[64];            ///< Debug name for window
    int display_id;                 ///< Specific display output ID
    int pipeline_id;                ///< Specific pipeline ID
    float window_size[2];           ///< Output window size [width, height]
    float window_pos[2];            ///< Output window position [x, y]
    float window_source_size[2];    ///< Source window size [width, height]
    float window_source_pos[2];     ///< Source window position [x, y]
    int zorder;                     ///< Window position in Z plane
    int visibility;                 ///< Window visibility (0 - not visible, else visible)
 
    int buffer_size[2];
 
    int is_displayable;             ///< Is window to be displayed
    test_util_color_fmt_t format;   ///< Displayable format if need to convert
    int n_buffers_display;          ///< Number of buffers if we need to convert to displayable format
} test_util_window_param_t;
 
 
pipeline_id 有解析,但是实际并没有用到
display_id  有解析,但是实际并没有用到,尴尬了,上面的多路配置还有多个屏的,实际高通并没有用过
 
 
n_buffers_display   
        XML_GET_INT_ATTR(input->window_params.n_buffers_display, attr, "nbufs", 1, int, 3);
        test应用中用了:
        input_ctxt->buffers_param[QCARCAM_TEST_BUFFERS_DISPLAY].n_buffers = p_xml_input->window_params.n_buffers_display;
 
 
n_buffers
                   
        ====》对应 XML_GET_INT_ATTR(input->output_params.n_buffers, cur, "nbufs", 1, int, 3);
        test应用中用了:
        input_ctxt->buffers_param[QCARCAM_TEST_BUFFERS_OUTPUT].n_buffers = p_xml_input->output_params.n_buffers;
 
看来要看drm架构的屏相关的??
 
format
       xml默认设置成uyvy,这里设置成nv12
       看代码实际没有用这里的设置参数,test代码中固定使用了RGB888格式,xml里面的设置没用到
       input_ctxt->buffers_param[QCARCAM_TEST_BUFFERS_DISPLAY].format = QCARCAM_FMT_RGB_888;
 
 

你可能感兴趣的:(驱动开发,ais,camera)