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.

DM355 720p 30fps encode noise

Hi

I am using DM355 to encode video. mode is 720p 30fps.

and codec package is dm355_codecs_03_10_00_02 .

I faced a trouble is a kind of noise, like a band in encoded video data.

is that a mpeg4 encode codec  setting mistake?

I upload 3 pictures about the noise phenomenon.  can someone help me?

  • Hi,

    In order for me to investigate this further, can you supply the following:

    1. Version of the mpeg4 encoder. (dm355_codecs_03_xx_xx_xx/packages/ti/sdo/codecs/mpeg4enc/)

    2. All the parameters under which the encoder is running.

    3. A small sample of the mpeg4 file above.

     

    Regards,

    Akshay

  • hi  Akshay

    thank you for your kindness,

    1. Version of the mpeg4 encoder. (dm355_codecs_03_xx_xx_xx/packages/ti/sdo/codecs/mpeg4enc/)

                                 MPEG4ENC.version.02.00.00.02.wizardversion.0.5.2

    2. All the parameters under which the encoder is running.

                                  VIDENC1_Params:
                                  encodingPreset = XDM_HIGH_SPEED,                      /* encodingPreset */
                                  rateControlPreset = IVIDEO_STORAGE,                 /* rateControlPreset */
                                  maxHeight = 720,                              /* maxHeight */
                                  maxWidth = 1280,                             /* maxWidth */
                                  maxFrameRate = 30000,                            /* maxFrameRate */
                                  maxBitRate = 8000000,                          /* maxBitRate */
                                  dataEndianness = XDM_BYTE,                         /* dataEndianness */
                                  maxInterFrameInterval = 0,                                /* maxInterFrameInterval */
                                  inputChromaFormat = XDM_YUV_422ILE,                     /* inputChromaFormat */
                                  inputContentType = IVIDEO_PROGRESSIVE,               /* inputContentType */
                                  reconChromaFormat = XDM_YUV_420P                     /* reconChromaFormat */


                                  VIDENC1_DynamicParams
       
                                  inputHeight = 720,                              /* inputHeight */
                                  inputWidth = 1280,                             /* inputWidth */
                                  refFrameRate = 30000,                            /* refFrameRate */
                                  targetFrameRate = 30000,                            /* targetFrameRate */
                                  targetBitRate = 8000000,                          /* targetBitRate */
                                  intraFrameInterval = 1,                               /* intraFrameInterval */
                                 generateHeader = XDM_ENCODE_AU,                    /* generateHeader */
                                  captureWidth = 0,                                /* captureWidth */
                                  forceFrame = IVIDEO_NA_FRAME,                  /* forceFrame */
                                  interFrameInterval = 1,                                /* interFrameInterval */
                                  mbDataFlag = 0                                 /* mbDataFlag */

    3. A small sample of the mpeg4 file above.

                                 I uploaded as a inserted file.5557.sample.m4v

  • Hi,

    I had a look at the test stream which you attached.

    Examining it, it does not appear to be an encoder issue. My theory is like this ... 

    a. At frame #1 (i'm counting frames from 1 onwards), at the top there is a distinct band of a different colour. But between the two bands, there is a thin strip dividing them This is probably a sensor artifact of some kind. Same kind of strip is seen in frame #21 and very faintly in #25.

    b. This strip reappears in frame #119 - where the dark band on top is separated from the light band below by a small strip of interleaved light and dark lines. It is at this strip boundary that the mismatch happens.

    c. If the encoder was offsetting a few rows of macroblocks, then the whole row would have shifted. Yet here the hand is shifted, but the AC duct behind it remains steady.

    d. It cannot even be a case of reference going wrong and encoder messing up the MVs because you are running an all I-frame case. There is no reference here. What the encoder receives at the input buffer is what is encoded.

    e. Between #126 and #127, there is slight motion of the hand. Looking at them carefully, it would seem that the top band in frame #126 remains unchanged in #127. In fact, since the hand perfectly lines up in #127, it looks like the top band from #126 'belongs to' #127 instead. This is further confirmed when you look at MB[0,5] in #126. Here, there is a brightness coming from the corner to the left. Looking at #125 and the way the hand moves, one can guess that the movement of the hand would leave open a small area to let the background light through in #126; but that is being overlapped by the offending band. 

    f. In all these instances, the strip or band occurs midway through an MB, across a varying amount of pixels. (eg. 4rd row in frame #125). The encoder would not behave this way.

     

    So in all probability, the frames fed to the encoder are incorrect. Possibly a sensor issue or the input buffer is being filled and passed on to the encoder in an asynchronous fashion.

     

    Please let me know if you have any further queries.

     

    Regards,

     

    Akshay

     

     

  • hi Akshay


    thank you for your kind answer.

    my encoder input buffer  maybe in an asynchronous fashion. I am checking this right now.

    v(^_^)v