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.

TDA4VM: C7x decimation using streaming engine

Part Number: TDA4VM


Hi

I'm using TDA4 and ti-processor-sdk-rtos-j721e-evm-07_01_00_11 for my development.

we want to extract Y component from UYVY image of dimension 1280*944 using 2:1 decimation.

following is config for streaming engine of C7x


    __SE_FLAGS seFlags;

    seFlags = __SE_FLAGS_default();

    seFlags.ELETYPE = __SE_ELETYPE_8BIT;

    seFlags.VECLEN = __SE_VECLEN_64ELEMS;

    seFlags.DECIM = __SE_DECIM_2;

    seFlags.PROMOTE = __SE_PROMOTE_2X_SIGNEXT;

   __STRM_PARAM_3D seParams;

    seParams.ICNT0 = (1280 * 944 * 2);
    seParams.ICNT1 = 1;
    seParams.DIM1 = 0;
    seParams.ICNT2 = 1;
    seParams.DIM2 = 0;

    __STRM_TEMPLATE seTemplate;

    seTemplate = __SE_SET_PARAM_3D(&seParams, &seFlags);

    __SE0_OPEN((void *)InImageseTemplate);
    
    int32_t numItrs = ((1280 * 944 * 2) / (8.0 * 2));
    
    for (int32_t  ctr = 0; ctr < numItrs ; ctr++)
    {
        uchar64 vIn = __SE0ADV(uchar64);
        uchar64_ptr DestAddr = (uchar64_ptr)(OutImage + (ctr * numItrs));
        *DestAddr = vIn;
    }
    
    __SE0_CLOSE();

 Issue :: execution hang at  uchar64 vIn = __SE0ADV(uchar64);

could you please me regarding this?

Regards

Vinayak

  • Decimation in SE is always with promotion to 8bit data will get promoted to 16bit. You will get a vector of 32-16bit even elements instead of 64-8bit even elements

    So your SE flags should be,

    seFlags.ELETYPE = __SE_ELETYPE_8BIT;
    seFlags.VECLEN = __SE_VECLEN_32ELEMS;
    seFlags.DECIM = __SE_DECIM_2;
    seFlags.PROMOTE = __SE_PROMOTE_2X_ZEROEXT;

    ...

    And SE read should be

    ushort32 vIn = __SE0ADV(ushort32);

    So your working SIMD width in the loop is just 32, so remember to iterate for N/32


    Do refer to C7x training material for some basics on the use of SE. The training package is slightly outdated w.r.t C7x CGT but concepts are the same.

    software-dl.ti.com/.../TI_C7X_DSP_TRAINING_00.05.zip


    Regards,
    Shyam