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: Not able to run the video encoder(OPEN AL API's) example application using the 9.1 QNX+RTOS SDK

Part Number: TDA4VM

Tool/software:

Hi TI Experts,

On TDA4VM, We were able to run the OMX video encoder test application provided by openmax IL Component.

software-dl.ti.com/.../qnx_sdk_components_j721e.html

We have downloaded from the OPENMAX AL Examples Source code from QNX Software center. I have cross compiled the code. After cross compilation I want to run the video encoder test application on target(TDA4VM). But while running we were seeing the error like No supported encoder! .

Code:
attached the small piece of code where the error is coming from the file: 

source/openmaxal-examples-2.1.0/source_package_mm_openmaxal/lib/OpenMAXAL/apps/video-encode/recorder.c

  

log_info("Getting video encoder capabilities interface");
    XAVideoEncoderCapabilitiesItf video_encoder_cap_itf;
    res = (*(recorder->engine))->GetInterface(recorder->engine, XA_IID_VIDEOENCODERCAPABILITIES, (void *)&video_encoder_cap_itf);
    if (res != XA_RESULT_SUCCESS) {
        log_err("Failed to get video encoder capabilities interface! Error: %d", res);
        return res;
    }
 
    /* Now that we have all the encoder interfaces, we'll set the desired settings for the encoder */
    log_info("Getting number of available video encoders");
    XAuint32 num_encoders=0;
    res = (*video_encoder_cap_itf)->GetVideoEncoders(video_encoder_cap_itf, &num_encoders, NULL);
    if (res != XA_RESULT_SUCCESS) {
        log_err("Failed to get video encoder interface! Error: %d", res);
        return res;
    }
 
    if (num_encoders == 0) {
        log_err("No supported encoder!");
        return XA_RESULT_FEATURE_UNSUPPORTED;
    }

Basically, it is not able to fetch the available video encoders. But If you see the output of PS -A on target, we were seeing the vxe_enc service is running. 

J7EVM@QNX:/ti_fs/vision_apps# ps -A
       PID TTY          TIME CMD
         1 ?        00:30:03 procnto-smp-instr
         2 ?        00:00:00 slogger2
         3 ?        00:00:00 pipe
         4 ?        00:00:00 dumper
         5 ?        00:00:00 random
         6 ?        00:00:00 devc-seromap
         7 ?        00:00:00 i2c-omap35xx
      4104 ?        00:00:00 devb-sdmmc-am65x
      4105 ?        00:00:00 devb-sdmmc-am65x
      4106 ?        00:00:00 io-pkt-v6-hc
     16395 ?        00:00:00 io-usb-otg
     16396 ?        00:00:00 devc-pty
     61453 ?        00:00:00 tisci-mgr
     16398 ?        00:00:00 ksh
     16399 ?        00:00:00 inetd
     73744 ?        00:00:00 shmemallocator
     77841 ?        00:00:00 tiipc-mgr
     81938 ?        00:00:00 tiudma-mgr
     86035 ?        00:00:00 vxe_enc
     90132 ?        00:00:00 vxd_dec
     94229 ?        00:00:00 screen
    106518 ?        00:00:00 devf-j7-ospi
    102423 ?        00:00:00 sshd
    110616 ?        00:00:00 ksh
    270361 ?        00:00:00 ps
J7EVM@QNX:/ti_fs/vision_apps#

Does the OPENMAX AL applications can't use the OPENMAX IL interface which have the encoder?

Can you please help me to resolve this issue.

Regards,

Sesha Venkata Harikrishna.

  • Hi Sesha, 

    Integrating OMX-AL source code with the OMX-IL encoder and decoder components has never been tested on our end. Therefore, we can't confirm any support for the OMX-AL applications using the OMX-IL interface that we have setup. If you are able to make progress on this end I would be interested to see how you got this resolved. Please let me know if you have any other questions. 

    BR,
    Sarabesh S.

  • Hi Srinivasan,

    I have 2 questions on OPENMAX IL video-decoder source code.

    Question -1: 

    I have ran the default video-decoder application(omxil_video_dec) provided by TI.

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-qnx-jacinto7/09_01_00_06/exports/docs/qnx_sdk_components_j721e.html#d5520mp2-video-decoder

    command I was gave on target: 

    omxil_video_dec -v -i /ti_fs/codec_test/bitstream/TearOfSteel-Short-720x420.264 -o /ti_fs/codec_test/output/TearOfSteel-Short-720x420_nv12.yuv

    The application ran successfully, It generated the output also, but the output not came properly as we expected. we were seeing some glitches and clarity also missing on the decoder output(.yuv format). Do we need to configure anything?

    In forum I saw it only support these options:

    Syntax:
        omxil_video_dec <options>
    
    Options:
        -i: input file
        -o: output file, save output to file
        -v: increase verbosity, max 7


    But, when I saw the source code for this application (PATH : ./psdkqa/qnx/codec/img/qnx/OpenMAXIL/test/dec/), It was supporting all the below options:
    NOTE: I compiled the source and flashed the binary(omxil_video_dec) into target.

    J7EVM@QNX:/# omxil_video_dec 
    Usage: omxil_video_dec [options] [input (absolute path)]
      Command line options:
        -i: input file
        -o: output file
        -f: frame rate between 1 and 240(default 30)
        -d: x,y,width,height : set display area
        -N: Number of input buffers, between 2 and 64(default 3)
        -M: Number of output buffers, between 3 and 64(default 10)
        -v: increase verbosity, max 7
        -p: log file for decoding performance

    I have tried the below command also(specified the width/height and frame), but still seeing the some glitches and clarity issues.


    omxil_video_dec -v -i /ti_fs/codec_test/bitstream/TearOfSteel-Short-720x420.264 -o /ti_fs/codec_test/output/TearOfSteel-Short-720x420_nv12.yuv -d 0,0,720,420 -f 30

    Can you please help me to resolve this issue?

    Question - 2:

    Shall we use the decoder source present in below path:

    ./
    psdkqa/qnx/codec/img/qnx/decoder/test/

    If yes, Can you suggest me how to execute this application on target?

     
      


    Regards,

    Sesha Venkata Harikrishna.

     


  • Hello Sesha,

    I haven't gotten a chance to replicate this yet, but could you try the pipeline like this without the extra flags at the end: 

    • omxil_video_dec -v -i /ti_fs/codec_test/bitstream/TearOfSteel-Short-720x420.264 -o /ti_fs/codec_test/output/TearOfSteel-Short-720x420_nv12.yuv

    Let me know if your results are the same.

    Thanks,
    Sarabesh S.