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.

  • Resolved

HEVC 4K encoding

Hi,

I have a DSPC-8682 (octal DSP) card and installed Desktop Linux SDK version 1.00.03 and MCSDK Video version 2.2.00.45 on Ubuntu 14.04 (64 bit).

I can run the out of the box HEVC encoding demo available as part of the MCSDK Video (encoding the 720p airshow sequence). I can also encode a 1080p sequence using 4 chips (32 cores in total). But when I try to encode a 2160p sequence (using 64 cores) I get the following message from all nodes: "DSP codec create on node ... failed with error code -4". Using a different number of cores also fails with similar error messages.

Do I need to set specific parameters for 4K encoding?

Best regards,

Jurgen

  • Hi Jurgen Slowack,

        Can you please share the config you are using for encoding.

    And also share the details like number of core you are using and what is the encoder version you are using.

    Regards

    Kuladeepak

  • In reply to Kuladeepak Gowda:

    codecParams_2160p.cfgHi Kuladeepak,

    I am using C66x_h265venc_01_00_00_44_ELF.

    I run the encoder as follows:

    CLIP_CONFIG=multiClip_2160p.cfg
    CODEC_PARAMS=codecParams_2160p.cfg

    $MCSDK_VIDEO_HOSTBIN_DIR/demo_c667x --dsp-image=$MCSDK_VIDEO_DSPIMAGE_DIR/sv04.out -v --channel="H265 Encode" -a HEVCENC -f $CLIP_CONFIG -c $CODEC_PARAMS -t "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63" --width=3840 --height=2160

    using the codec parameter file in attachment.

    Best regards,

    Jurgen

  • In reply to Jurgen Slowack:

    Hi Jurgen Slowack,

        Looks like you are using bit older encoder version where we support only up to 1080p on platform.

    That time we had support 2160p on Visual studio.

    Regards

    Kuladeepak

  • Hi,
    As far as I know, latest HEVC Encoder (01.00.00.44) supports resolutions up to 1920x1088. It looks like 4K resolution will be available only from the next version (01.00.00.47).
  • In reply to Kuladeepak Gowda:

    "you are using bit older encoder version" -> I am using the most recent HEVC encoder that I could find on TI's website (if not, a link to a newer version will be very much appreciated).

    "That time we had support 2160p on Visual studio." -> Can I conclude from your answer that the Windows version of the HEVC encoder (1.0.0.44) supports 2160p, but the Linux version only supports 1080p?

    Regards,
    Jurgen
  • In reply to Jurgen Slowack:

    Hi Jurgen, please see attached latest HEVC encoder.C66x_h265venc_02_00_00_00_ELF.bin

    Thank you,

    Paula

  • In reply to Paula Carrillo:

    Hi Paula,

    Thank you very much for a more recent version of the encoder, I installed it (and removed the previous version). However, I still can't get it to work for a 3840x2160 sequence, so there is probably something wrong with my parameters.

    I try to run it as follows:

    CLIP_CONFIG=multiClip_2160p.cfg

    CODEC_PARAMS=codecParams_2160p.cfg

    $MCSDK_VIDEO_HOSTBIN_DIR/demo_c667x --dsp-image=$MCSDK_VIDEO_DSPIMAGE_DIR/sv04.out -v --channel="H265 Encode" -a HEVCENC -f $CLIP_CONFIG -c $CODEC_PARAMS -t "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63" --width=3840 --height=2160

    With the following codec parameter file: 4718.codecParams_2160p.cfg

    Btw, I tried a couple of different things (e.g., for virtual tlles) but nothing worked. I have no problems doing 1080p HEVC encoding on multiple chips with a similar config file, but maybe there are some additional parameters to set / change for 2160p. If you can share an example config file for 2160p HEVC encoding on 8 DSP's from which I can start, that would be great also.

    Best regards,

    Jurgen

  • In reply to Jurgen Slowack:

    Hi Jurgen,

         Looks like config needs some changes.

    Please find the attached config for 2160p encoding. 

    Regards

    KuladeepakcodecParms2160p30.cfg

  • In reply to Kuladeepak Gowda:

    Hi Kuladeepak,

    Thanks for the config file! The encoder now processes 2160p without crashing. However, after decoding the sequence, the luma plane is fine but the chroma appears to be corrupt, as if the encoder used a wrong memory offset to retrieve the chroma or so (but could be something else of course). Decoding itself does not throw errors and the (third party) decoder generates the correct output for 2160p HEVC sequences generated by other encoders.

    Changing the resolution in the config file and encoding 1080p instead produces output that looks perfectly fine. So nothing wrong with that.

    My test sequences (2160p and 1080p) are in YUV 420 planar format by the way. I allocated 4GB of contiguous memory (out of a total of 12GB) for the octal card to use.

    Best regards,
    Jurgen
  • In reply to Jurgen Slowack:

    Hi Jurgen,

         Can you please share the 265 if possible.

    Regards

    Kuladeepak

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.