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.

dm368 h.264编解码效果差如何更改参数设置



大家好,我用DM368做的H.264编解码器,1920X 1080 ,解码后颜色失真厉害,可以通过参数调整吗?具体效果及参数设置见附件。

h.264配置参数.rar
  • 你好,

    为什么你的maxbitrate和targetbitrate都是0?

  • 您好,这两个好像没有影响,设成2000000,效果是一样的。

  • 你好,

    你希望是恒定码率还是可变码率?你目前码率控制设置为无。

    请参考http://processors.wiki.ti.com/index.php/DM36x_Rate_Control_Modes。你能否参考IPNC里面的的codec配置,或者是codec库包里面的例子的参数配置?

  • 您好,现在就是可变速率;如果我想增加颜色的对比度、增加边缘的锐度需要更改哪些参数?

  • 您好,例如第一个字“星”本来是红色字体,编码后变成一半红色,一半黑色,是什么原因,如何调整?

  • 你好,

    请问你使用的h264enc编码器的版本是多少?

    你提供的参数里面有encParams.rateControlPreset=4

    xdais工具包里面的ividoe.h

    typedef enum {
        IVIDEO_LOW_DELAY = 1,   /**< CBR rate control for video conferencing. */
        IVIDEO_STORAGE = 2,     /**< VBR rate control for local storage (DVD)
                                 *   recording.
                                 */
        IVIDEO_TWOPASS = 3,     /**< Two pass rate control for non real time
                                 *   applications.
                                 */
        IVIDEO_NONE = 4,        /**< No configurable video rate control
                                  *  mechanism.
                                  */
        IVIDEO_USER_DEFINED = 5,/**< User defined configuration using extended
                                 *   parameters.
                                 */

        /** Default setting. */
        IVIDEO_RATECONTROLPRESET_DEFAULT = IVIDEO_LOW_DELAY
    } IVIDEO_RateControlPreset;

  • 您好,我就是选的IVIDEO_NONE,现在格式为CVBR,效果没有变化。必须要用2吗?

  • 现在的参数,显示效果没有变化。

    -encParams.size                              = 124

     -encParams.encodingPreset                    = 1

     -encParams.rateControlPreset                 = 4

     -encParams.maxHeight                         = 1088

     -encParams.maxWidth                          = 1920

      -encParams.maxFrameRate                      = 30000

     -encParams.maxBitRate                        = 0

     -encParams.dataEndianness                    = 1

     -encParams.maxInterFrameInterval             = 0  

    -encParams.inputChromaFormat                 = 9  

    -encParams.inputContentType                  = 0

     -encParams.reconChromaFormat                 = 9

    ============================================================

     -encDynParams.size                           = 212  

    -encDynParams.inputHeight                    = 1080

     -encDynParams.inputWidth                     = 1920  

    -encDynParams.refFrameRate                   = 30000

     -encDynParams.targetFrameRate                = 30000

     -encDynParams.targetBitRate                  = 0

     -encDynParams.intraFrameInterval             = 30  

    -encDynParams.generateHeader                 = 0  

    -encDynParams.captureWidth                   = 0

     -encDynParams.forceFrame                     = 0  

    -encDynParams.interFrameInterval             = 0

     -encDynParams.mbDataFlag                     = 0

     ============================================================

      -extParams.profileIdc                        = 100

     -extParams.levelIdc                          = 50

     -extParams.Log2MaxFrameNumMinus4             = 0

     -extParams.ConstraintSetFlag                 = 0

     -extParams.entropyMode                       = 1

     -extParams.transform8x8FlagIntraFrame        = 1

     -extParams.transform8x8FlagInterFrame        = 0

     -extParams.enableVUIparams                   = 0

     -extParams.meAlgo                            = 1

     -extParams.seqScalingFlag                    = 1

     -extParams.encQuality                        = 2

     -extParams.enableARM926Tcm                   = 0

     -extParams.enableDDRbuff                     = 0

     -extParams.sliceMode                         = 3

     -extParams.numTemporalLayers                 = 0

     -extParams.svcSyntaxEnable                   = 0

      -extParams.EnableLongTermFrame               = 0

     -extParams.outputDataMode                    = 1

     -extParams.sliceFormat                       = 1

    ============================================================

     -extDynParams.sliceSize                      = 0  

    -extDynParams.airRate                        = 0

     -extDynParams.intraFrameQP                   = 0  

    -extDynParams.interPFrameQP                  = 0

     -extDynParams.initQ                          = -1

     -extDynParams.rcQMax                         = 44

     -extDynParams.rcQMin                         = 8  

    -extDynParams.rcQMaxI                        = 44

     -extDynParams.rcQMinI                        = 8

     -extDynParams.rcAlgo                         = 3  

    -extDynParams.maxDelay                       = 0

     -extDynParams.aspectRatioX                   = 0

     -extDynParams.aspectRatioY                   = 0

     -extDynParams.lfDisableIdc                   = 0

     -extDynParams.enableBufSEI                   = 0

     -extDynParams.enablePicTimSEI                = 0

     -extDynParams.perceptualRC                   = 0

     -extDynParams.idrFrameInterval               = 30

     -extDynParams.mvSADoutFlag                   = 0  

    -extDynParams.resetHDVICPeveryFrame          = 0  

    -extDynParams.enableROI                      = 0

     -extDynParams.metaDataGenerateConsume        = 0  

    -extDynParams.maxBitrateCVBR                 = 0  

    -extDynParams.interlaceRefMode               = 0

     -extDynParams.enableGDR                      = 0

     -extDynParams.GDRduration                    = 0

     -extDynParams.GDRinterval                    = 0  

    -extDynParams.LongTermRefreshInterval        = 0  

    -extDynParams.UseLongTermFrame               = 0

     -extDynParams.SetLongTermFrame               = 0  

    -extDynParams.VUI_Buffer                     = 57d794

     -extDynParams.CustomScaleMatrix_Buffer       = 0  

    -extDynParams.CVBRsensitivity                = 0

     -extDynParams.CVBRminbitrate                 = 0

     -extDynParams.LBRmaxpicsize                  = 0

     -extDynParams.LBRminpicsize                  = 0  

    -extDynParams.LBRskipcontrol                 = 0  

    -extDynParams.maxHighCmpxIntCVBR             = 0

      -extDynParams.disableMVDCostFactor           = 0

     -extDynParams.putDataGetSpaceFxn             = 0

     -extDynParams.dataSyncHandle                 = 0

  • 请问VUI参数和CustomScaleMatrix参数起什么作用?

  • 你好,

    你目前的配置仍然是 -encParams.rateControlPreset                 = 4。

    请问你的代码是基于dvsdk还是IPNC。我们软件的默认配置应该都没有太大的问题。

  • 您好,代码是基于DVSDK,线路板为自制。

  • 您好,需要配置VUI吗?

  • -encParams.size                              = 124

     -encParams.encodingPreset                    = 1  

    -encParams.rateControlPreset                 = 2  

    -encParams.maxHeight                         = 1088

     -encParams.maxWidth                          = 1920

     -encParams.maxFrameRate                      = 30000

      -encParams.maxBitRate                        = 50000000  

    -encParams.dataEndianness                    = 1  

    -encParams.maxInterFrameInterval             = 1

     -encParams.inputChromaFormat                 = 9

     -encParams.inputContentType                  = 0  

    -encParams.reconChromaFormat                 = 9

     ============================================================  

    -encDynParams.size                           = 212

     -encDynParams.inputHeight                    = 1088

     -encDynParams.inputWidth                     = 1920

     -encDynParams.refFrameRate                   = 30000

     -encDynParams.targetFrameRate                = 30000

     -encDynParams.targetBitRate                  = 50000000

     -encDynParams.intraFrameInterval             = 30  

    -encDynParams.generateHeader                 = 0

     -encDynParams.captureWidth                   = 0

     -encDynParams.forceFrame                     = 0

     -encDynParams.interFrameInterval             = 0  

    -encDynParams.mbDataFlag                     = 0

     ============================================================  

    -extParams.profileIdc                        = 100  

    -extParams.levelIdc                          = 40

     -extParams.Log2MaxFrameNumMinus4             = 0  

    -extParams.ConstraintSetFlag                 = 0  

    -extParams.entropyMode                       = 1

      -extParams.transform8x8FlagIntraFrame        = 1

     -extParams.transform8x8FlagInterFrame        = 0  

    -extParams.enableVUIparams                   = 1

     -extParams.meAlgo                            = 0

     -extParams.seqScalingFlag                    = 1

     -extParams.encQuality                        = 2

     -extParams.enableARM926Tcm                   = 0

     -extParams.enableDDRbuff                     = 0

     -extParams.sliceMode                         = 0

     -extParams.numTemporalLayers                 = 0

     -extParams.svcSyntaxEnable                   = 0

     -extParams.EnableLongTermFrame               = 0

     -extParams.outputDataMode                    = 1

     -extParams.sliceFormat                       = 1

    ============================================================

     -extDynParams.sliceSize                      = 0

     -extDynParams.airRate                        = 0  

    -extDynParams.intraFrameQP                   = 20

     -extDynParams.interPFrameQP                  = 20

     -extDynParams.initQ                          = 1

     -extDynParams.rcQMax                         = 1

     -extDynParams.rcQMin                         = 0

     -extDynParams.rcQMaxI                        = 1

     -extDynParams.rcQMinI                        = 0

     -extDynParams.rcAlgo                         = 3

     -extDynParams.maxDelay                       = 0

     -extDynParams.aspectRatioX                   = 0

     -extDynParams.aspectRatioY                   = 0

     -extDynParams.lfDisableIdc                   = 0

     -extDynParams.enableBufSEI                   = 0

      -extDynParams.enablePicTimSEI                = 0

      -extDynParams.perceptualRC                   = 0

     -extDynParams.idrFrameInterval               = 30

      -extDynParams.mvSADoutFlag                   = 0

     -extDynParams.resetHDVICPeveryFrame          = 0

      -extDynParams.enableROI                      = 0

     -extDynParams.metaDataGenerateConsume        = 0

     -extDynParams.maxBitrateCVBR                 = 0

     -extDynParams.interlaceRefMode               = 0

     -extDynParams.enableGDR                      = 0  

    -extDynParams.GDRduration                    = 0

     -extDynParams.GDRinterval                    = 0  

    -extDynParams.LongTermRefreshInterval        = 0

      -extDynParams.UseLongTermFrame               = 0

     -extDynParams.SetLongTermFrame               = 0

     -extDynParams.VUI_Buffer                     = 57d794  

    -extDynParams.CustomScaleMatrix_Buffer       = 0  

    -extDynParams.CVBRsensitivity                = 0

     -extDynParams.CVBRminbitrate                 = 0

     -extDynParams.LBRmaxpicsize                  = 0

     -extDynParams.LBRminpicsize                  = 0

     -extDynParams.LBRskipcontrol                 = 0

     -extDynParams.maxHighCmpxIntCVBR             = 0

      -extDynParams.disableMVDCostFactor           = 0

      -extDynParams.putDataGetSpaceFxn             = 0

     -extDynParams.dataSyncHandle                 = 0

    ============================================================

     -extVUIParams.aspectRatioInfoPresentFlag     = 1

     -extVUIParams.overscanInfoPresentFlag        = 1

      -extVUIParams.overscanAppropriateFlag        = 0

     -extVUIParams.videoSignalTypePresentFlag     = 1

     -extVUIParams.videoFormat                    = 2

     -extVUIParams.pixelRange                     = 1

     -extVUIParams.colourDescriptionPresentFlag   = 1

      -extVUIParams.colourPrimaries                = 2

     -extVUIParams.transferCharacteristics        = 2

     -extVUIParams.matrixCoefficients             = 2

     -extVUIParams.timingInfoPresentFlag          = 1

     -extVUIParams.numUnitsInTicks                = 1

     -extVUIParams.timeScale                      = 150  

    -extVUIParams.fixedFrameRateFlag             = 0

     -extVUIParams.nalHrdParameterspresentFlag    = 1

      -extVUIParams.picStructPresentFlag           = 0

     -extVUIParams.bitstreamRestrictionFlag       = 1

    您好,改成可变速率参数如上,画面品质没有改进;但通过更改QP值可以降低画面品质。有方法再增加画面品质吗?

  • 看下面的帖子是否有帮助:

    http://e2e.ti.com/support/embedded/multimedia_software_codecs/f/356/p/227798/803332.aspx#803332

    http://processors.wiki.ti.com/index.php/DM36x_H.264_encoder_FAQ