搜索
 找回密码
 立即注册

简单一步 , 微信登陆

特定屏在格子画面下看到最底下的一根线闪动

作者:AlexWeng | 时间:2017-3-1 23:59:31 | 阅读:5275| 只看该作者
特定屏在格子画面下看到最底下的一根线闪动

关键字:格子画面 线闪
适用机型:所有Non-OS芯片
        之前有遇到某客户V39平台点某些FHD的屏,VGA下某些Timing,尤其1920X1080/60时,在细线格子画面下,最后一根横线会上下闪动的问题。后来通过把调试工具里Direct Scaler Adjustment页的Delay Line由0改为2,问题解决。具体代码如下。这个寄存器是所有Non-OS芯片通用的。
        msSetFrameLockMode( BYTE ucFrameLockMode )

       {
        。。。。。。
       case FLM_FBL_FRAMEPLL: // Tune Clock
            SCALEROP_PUTSTR("\r\n [- FLM_FBL_FRAMEPLL -]");
            bEnableFrameLock = 1;
            bEnableFramePLLMode = 1;
            ucLockYLine = 0x02;

            if (IS_SRC_INTERLACE_MODE(SRC1))
            {
                if( g_SetupModeInfo[SRC1].ucDeInterlaceMode == DEINT_OFF )
                    ucInputTriggerPointDelayLines = 2;
                else if( IsSrcInput1080I(SRC1) && (g_WindowInfo[SRC1].V_PostScalingInfo == POST_SCALING_UP) )
                    ucInputTriggerPointDelayLines = 5; // Check in FullHD panel & 1080i, overscan=25
                else
                    ucInputTriggerPointDelayLines = 6;
            }
            else if( g_WindowInfo[SRC1].V_PostScalingInfo == POST_SCALING_UP )
                ucInputTriggerPointDelayLines = 7;
            else
                ucInputTriggerPointDelayLines = 8;
   
   #if(PANEL_TYPE_SEL==PNL_AU370_T370HW01_HD)//added  2017.03.01
   if(IsVGAInUse()&&(g_SrcInfo[GetVGASrcIdx()].ucModeIndex==MD_1920x1080_60)&&((ucInputTriggerPointDelayLines&_BIT1)==0))
   ucInputTriggerPointDelayLines=ucInputTriggerPointDelayLines|_BIT1;

   #endif
   msWriteByteMask(SC1_12, ucLockYLine, 0x0F);
            msSetDelayLine( ucInputTriggerPointDelayLines );
            msLPLL_EnableFrameLockCtrl(bEnableFrameLock); // Frame Lock On/Off
            msWriteBit(SC10_39, _ENABLE, _BIT0); // Output freerun enable
            msSetFrameLockMode_FastLock(ucFrameLockMode);
            break;

      }
收藏
收藏1
分享
分享
点赞
点赞0
反对
反对0
该会员没有填写今日想说内容.
回复

使用道具 举报

大神点评2

沙发#
jayden 发表于:2017-3-16 19:58:31
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版