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.

Stride issue about OMX.TI.VPSSM3.VFPC.INDTXSCWB.

Hi, Experts

I am test the commponet OMX.TI.VPSSM3.VFPC.INDTXSCWB.

My test input video is 1408 * 720 and the right edge has 128 pixels random data, looks as:

I want to test if the component can process the stride, the output image is 640 x 360.

If I set

    inPortDef.format.video.nFrameWidth
        = 1408;
    inPortDef.format.video.nFrameHeight
        = 720;
    inPortDef.format.video.nStride
        = 1408;

    chResolution.Frm0Width = 1408;
    chResolution.Frm0Height = 720;
    chResolution.Frm0Pitch = 1408;
    chResolution.Frm1Width = 0;
    chResolution.Frm1Height = 0;
    chResolution.Frm1Pitch = 0;
    chResolution.FrmStartX = 0;
    chResolution.FrmStartY = 0;
    chResolution.FrmCropWidth = 0;
    chResolution.FrmCropHeight = 0;
    chResolution.eDir = OMX_DirInput;
    chResolution.nChId = 0;

the scale works well, but if I set

inPortDef.format.video.nFrameWidth
= 1280;
inPortDef.format.video.nFrameHeight
= 720;
inPortDef.format.video.nStride
= 1408;

 chResolution.Frm0Width = 1280;
chResolution.Frm0Height = 720;
chResolution.Frm0Pitch = 1408;
chResolution.Frm1Width = 0;
chResolution.Frm1Height = 0;
chResolution.Frm1Pitch = 0;
chResolution.FrmStartX = 0;
chResolution.FrmStartY = 0;
chResolution.FrmCropWidth = 0;
chResolution.FrmCropHeight = 0;
chResolution.eDir = OMX_DirInput;
chResolution.nChId = 0;

The scaled picture looked as:

 

 I believe the component can support stride does not equal width, but I can not know why the result is not right.

 

  • Another question is I allocate 8 buffers for input, with function:

                    OMX_AllocateBuffer(pHandle, /*&pBufferIn */
                                       &pApp->pOmxInBuf[i],
                                       pApp->inPortDef.nPortIndex, pApp,
                                       pApp->inPortDef.nBufferSize);

    All are allocated, but when I use it with EmptyThisBuffer, 4 of 8 buffers return error OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B,

    And I checked the index of the 4 buffers, they are -2.

  • Gang,

    Sc does work for different pitch and width. In fact if you check the decode_display demo in EZSDK, Scalar pitch is larger than width, as decoder o/p buffer contains padding .

    For other issue, is this allocate buffer is for Decoder or for Scalar. You could also see media controller logs

    ./loggerSMDump.out 0x9e400000 vpss / video

    Regards

    Vimal