vprocss: Fixed PIP background color in supported video formats

-Bug fix for wrong pip background color when video format is
 changed
-Input stream color depth and pixel/clock must be overwritten
 by subsystem as these are not run time configurable
-Deinterlacer supports 480i/576i and 1080i. removed constraint
 for 1080i support only
-Updated mdd file to reflect new drivers versions -
  video_common_v2.0 and  axivdma_v6.0, in dependency list

Signed-off-by: Rohit Consul <rohit.consul@xilinx.com>
This commit is contained in:
Rohit Consul 2015-08-07 16:05:05 -07:00 committed by Nava kishore Manne
parent 6197ed604e
commit 4037beef4a
3 changed files with 22 additions and 27 deletions

View file

@ -37,7 +37,7 @@ BEGIN driver vprocss
OPTION driver_state = ACTIVE;
OPTION copyfiles = all;
OPTION VERSION = 1.0;
OPTION DEPENDS = (video_common_v1_1 v_csc_v1_0 v_deinterlacer_v5_0 v_hcresampler_v1_0 v_vcresampler_v1_0 v_hscaler_v1_0 v_vscaler_v1_0 v_letterbox_v1_0 axivdma_v5_1 gpio_v4_0 axis_switch_v1_0);
OPTION DEPENDS = (video_common_v2_0 v_csc_v1_0 v_deinterlacer_v5_0 v_hcresampler_v1_0 v_vcresampler_v1_0 v_hscaler_v1_0 v_vscaler_v1_0 v_letterbox_v1_0 axivdma_v6_0 gpio_v4_0 axis_switch_v1_0);
OPTION NAME = vprocss;
END driver

View file

@ -1057,9 +1057,9 @@ void XVprocss_UpdateZoomPipWindow(XVprocss *InstancePtr)
if(XVprocss_IsPipModeOn(InstancePtr))
{
XV_LBoxSetActiveWin(InstancePtr->lbox,
&InstancePtr->idata.wrWindow,
InstancePtr->VidOut.Timing.HActive,
InstancePtr->VidOut.Timing.VActive);
&InstancePtr->idata.wrWindow,
InstancePtr->VidOut.Timing.HActive,
InstancePtr->VidOut.Timing.VActive);
}
}
else //Scaler Only Config
@ -1429,21 +1429,17 @@ static int ValidateSubsystemConfig(XVprocss *InstancePtr)
XVidC_VideoStream *StrmIn = &InstancePtr->VidIn;
XVidC_VideoStream *StrmOut = &InstancePtr->VidOut;
/* Check Stream Samples/Clock against Subsystem HW Configuration */
if((StrmIn->PixPerClk != InstancePtr->Config.PixPerClock) ||
(StrmOut->PixPerClk != InstancePtr->Config.PixPerClock))
{
xdbg_printf(XDBG_DEBUG_GENERAL,"VPROCSS ERR:: Input/Output Stream Samples/Clk Not Supported \r\n");
return(XST_FAILURE);
}
/* Runtime Color Depth conversion not supported
* Always overwrite input/output stream color depth with subsystem setting
*/
StrmIn->ColorDepth = InstancePtr->Config.ColorDepth;
StrmOut->ColorDepth = InstancePtr->Config.ColorDepth;
/* Check Stream Color Depth against Subsystem HW Configuration */
if((StrmIn->ColorDepth != InstancePtr->Config.ColorDepth) ||
(StrmOut->ColorDepth != InstancePtr->Config.ColorDepth))
{
xdbg_printf(XDBG_DEBUG_GENERAL,"VPROCSS ERR:: Input/Output Stream ColorDepth Not Supported \r\n");
return(XST_FAILURE);
}
/* Runtime Pixel/Clock conversion not supported
* Always overwrite input/output stream pixel/clk with subsystem setting
*/
StrmIn->PixPerClk = InstancePtr->Config.PixPerClock;
StrmOut->PixPerClk = InstancePtr->Config.PixPerClock;
/* Check Stream Width is aligned at Samples/Clock boundary */
if(((StrmIn->Timing.HActive % InstancePtr->Config.PixPerClock) != 0) ||
@ -1513,15 +1509,7 @@ static int ValidateSubsystemConfig(XVprocss *InstancePtr)
xdbg_printf(XDBG_DEBUG_GENERAL,"VPROCSS ERR:: Interlaced YUV420 stream not supported\r\n");
return(XST_FAILURE);
}
if(InstancePtr->deint)
{
if((StrmIn->VmId != XVIDC_VM_1080_50_I) && ((StrmIn->VmId != XVIDC_VM_1080_60_I)))
{
xdbg_printf(XDBG_DEBUG_GENERAL,"VPROCSS ERR:: Only 1080i 50Hz/60Hz Supported\r\n");
return(XST_FAILURE);
}
}
else
if(!InstancePtr->deint)
{
xdbg_printf(XDBG_DEBUG_GENERAL,"VPROCSS ERR:: Interlaced input not supported\r\n");
return(XST_FAILURE);

View file

@ -635,6 +635,13 @@ void XVprocss_SetupRouterDataFlow(XVprocss *pVprocss)
&lboxWin,
pVprocss->VidOut.Timing.HActive,
pVprocss->VidOut.Timing.VActive);
/* set background to default color on pipe reset */
XV_LboxSetBackgroundColor(pVprocss->lbox,
XLBOX_BKGND_BLACK,
pVprocss->idata.strmCformat,
pVprocss->VidOut.ColorDepth);
pStartCore[XVPROCSS_RTR_LBOX] = TRUE;
}
break;