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:
parent
6197ed604e
commit
4037beef4a
3 changed files with 22 additions and 27 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue