This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM814X VPSS fieldmerge and omx_mdeiscaler in 1080i capture

Hello,

We are working on 1080i capture using v4l2 and gstreamer. The ezsdk version is 05 05 02 00.

In linux ti81xxvin_main.c  ti81xxvin_vps_config_format. There are some field merge configuration.  

if (inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_ANY ||inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_NONE ||inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_INTERLACED)

{

fvid2_fmt.fieldmerged[0] = 1;
fvid2_fmt.fieldmerged[0] = 1;
fvid2_fmt.fieldmerged[0] = 1;

Please answer the following questions.

(1) What is the function of field merge ?

(2)Which part realize the field merge function? Hardware or software? If it is realized by software, Is it in M3 firmware? 

(3)In interlaced video capture, Do we have to use omx_mdeiscaler to process the frame/field data which has been merged?

Thank you very much. 

  • Hello,

    roderick fang1 said:

    if (inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_ANY ||inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_NONE ||inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_INTERLACED)

    {

    fvid2_fmt.fieldmerged[0] = 1;
    fvid2_fmt.fieldmerged[0] = 1;
    fvid2_fmt.fieldmerged[0] = 1;

    Doesn't seem correct.

    Could you try:

        fvid2_fmt.pitch[0] = inst->buf_obj.fmt.fmt.pix.bytesperline;
        fvid2_fmt.pitch[1] = inst->buf_obj.fmt.fmt.pix.bytesperline;
        fvid2_fmt.pitch[2] = inst->buf_obj.fmt.fmt.pix.bytesperline;
        if (inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_ANY ||
            inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_NONE ||
            inst->buf_obj.fmt.fmt.pix.field == V4L2_FIELD_INTERLACED) {
            fvid2_fmt.fieldmerged[0] =  1;
            fvid2_fmt.fieldmerged[1] =  1;
            fvid2_fmt.fieldmerged[2] =  1;
        } else {
            fvid2_fmt.fieldmerged[0] =  0;
            fvid2_fmt.fieldmerged[1] =  0;
            fvid2_fmt.fieldmerged[2] =  0;
        }

    BR

    Margarita