From 3f2d727105ed4109e2a0e969fbc7fdb28aefc3cb Mon Sep 17 00:00:00 2001 From: Rohit Consul Date: Thu, 4 Jun 2015 05:49:50 +0800 Subject: [PATCH] vprocss: Update to use subcore model parameters Underlying subcores now use model parameters to get the static configuration. Update the subsystem drivers to use this information. Also user defined scaler cofficient table is moved to application code Signed-off-by: Rohit Consul --- .../drivers/vprocss/src/xvprocss.c | 96 ------------------- .../drivers/vprocss/src/xvprocss_router.c | 1 - 2 files changed, 97 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c index 2365f7f5..e5456545 100644 --- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c +++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c @@ -101,74 +101,6 @@ typedef struct XVprocss_SubCores subcoreRepo; /**< Define Driver instance of all sub-core included in the design */ -/* Scaler Coefficients for H & V Scaler */ -const short fixed_filtercoeff[64][6] = - { - { -132, 236, 3824, 236, -132, 64, }, - { -116, 184, 3816, 292, -144, 64, }, - { -100, 132, 3812, 348, -160, 64, }, - { -88, 84, 3808, 404, -176, 64, }, - { -72, 36, 3796, 464, -192, 64, }, - { -60, -8, 3780, 524, -208, 68, }, - { -48, -52, 3768, 588, -228, 68, }, - { -32, -96, 3748, 652, -244, 68, }, - { -20, -136, 3724, 716, -260, 72, }, - { -8, -172, 3696, 784, -276, 72, }, - { 0, -208, 3676, 848, -292, 72, }, - { 12, -244, 3640, 920, -308, 76, }, - { 20, -276, 3612, 988, -324, 76, }, - { 32, -304, 3568, 1060, -340, 80, }, - { 40, -332, 3532, 1132, -356, 80, }, - { 48, -360, 3492, 1204, -372, 84, }, - { 56, -384, 3448, 1276, -388, 88, }, - { 64, -408, 3404, 1352, -404, 88, }, - { 72, -428, 3348, 1428, -416, 92, }, - { 76, -448, 3308, 1500, -432, 92, }, - { 84, -464, 3248, 1576, -444, 96, }, - { 88, -480, 3200, 1652, -460, 96, }, - { 92, -492, 3140, 1728, -472, 100, }, - { 96, -504, 3080, 1804, -484, 104, }, - { 100, -516, 3020, 1880, -492, 104, }, - { 104, -524, 2956, 1960, -504, 104, }, - { 104, -532, 2892, 2036, -512, 108, }, - { 108, -540, 2832, 2108, -520, 108, }, - { 108, -544, 2764, 2184, -528, 112, }, - { 112, -544, 2688, 2260, -532, 112, }, - { 112, -548, 2624, 2336, -540, 112, }, - { 112, -548, 2556, 2408, -544, 112, }, - { 112, -544, 2480, 2480, -544, 112, }, - { 112, -544, 2408, 2556, -548, 112, }, - { 112, -540, 2336, 2624, -548, 112, }, - { 112, -532, 2260, 2688, -544, 112, }, - { 112, -528, 2184, 2764, -544, 108, }, - { 108, -520, 2108, 2832, -540, 108, }, - { 108, -512, 2036, 2892, -532, 104, }, - { 104, -504, 1960, 2956, -524, 104, }, - { 104, -492, 1880, 3020, -516, 100, }, - { 104, -484, 1804, 3080, -504, 96, }, - { 100, -472, 1728, 3140, -492, 92, }, - { 96, -460, 1652, 3200, -480, 88, }, - { 96, -444, 1576, 3248, -464, 84, }, - { 92, -432, 1500, 3308, -448, 76, }, - { 92, -416, 1428, 3348, -428, 72, }, - { 88, -404, 1352, 3404, -408, 64, }, - { 88, -388, 1276, 3448, -384, 56, }, - { 84, -372, 1204, 3492, -360, 48, }, - { 80, -356, 1132, 3532, -332, 40, }, - { 80, -340, 1060, 3568, -304, 32, }, - { 76, -324, 988, 3612, -276, 20, }, - { 76, -308, 920, 3640, -244, 12, }, - { 72, -292, 848, 3676, -208, 0, }, - { 72, -276, 784, 3696, -172, -8, }, - { 72, -260, 716, 3724, -136, -20, }, - { 68, -244, 652, 3748, -96, -32, }, - { 68, -228, 588, 3768, -52, -48, }, - { 68, -208, 524, 3780, -8, -60, }, - { 64, -192, 464, 3796, 36, -72, }, - { 64, -176, 404, 3808, 84, -88, }, - { 64, -160, 348, 3812, 132, -100, }, - { 64, -144, 292, 3816, 184, -116, } - }; /************************** Function Prototypes ******************************/ static void SetPODConfiguration(XVprocss *pVprocss); @@ -814,33 +746,6 @@ static void SetPODConfiguration(XVprocss *pVprocss) XV_CscInitPowerOnDefault(&pVprocss->cscL2Reg); XV_CscSetColorDepth((&pVprocss->cscL2Reg), vidStrmIn.ColorDepth); } - - /* Setup H Scaler */ - if(pVprocss->hscaler) - { - pVprocss->hscL2Reg.EffectiveTaps = 6; - pVprocss->hscL2Reg.UseExtCoeff = TRUE; - pVprocss->hscL2Reg.FilterSel = XV_HFILT_LANCZOS; - pVprocss->hscL2Reg.ScalerType = XV_HSCALER_POLYPHASE; - pVprocss->hscL2Reg.Gain = 1; - XV_HscalerLoadUsrCoeffients(pVprocss->hscaler, - &pVprocss->hscL2Reg, - fixed_filtercoeff); - } - - /* Setup V Scaler */ - if(pVprocss->vscaler) - { - pVprocss->vscL2Reg.EffectiveTaps = 6; - pVprocss->vscL2Reg.UseExtCoeff = TRUE; - pVprocss->vscL2Reg.FilterSel = XV_VFILT_LANCZOS; - pVprocss->vscL2Reg.ScalerType = XV_VSCALER_POLYPHASE; - pVprocss->vscL2Reg.Gain = 1; - XV_VscalerLoadUsrCoeffients(pVprocss->vscaler, - &pVprocss->vscL2Reg, - fixed_filtercoeff); - } - } /****************************************************************************/ @@ -1429,7 +1334,6 @@ static int SetupStreamMode(XVprocss *pVprocss) hsc_HeightIn, hsc_WidthIn, hsc_WidthOut, - pVprocss->Config.PixPerClock, pVprocss->VidIn.ColorFormatId); /* Start Scaler sub-cores */ diff --git a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c index d5e81caf..cdbcc4c2 100644 --- a/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c +++ b/XilinxProcessorIPLib/drivers/vprocss/src/xvprocss_router.c @@ -639,7 +639,6 @@ void XVprocss_SetupRouterDataFlow(XVprocss *pVprocss) hsc_HeightIn, hsc_WidthIn, hsc_WidthOut, - pVprocss->Config.PixPerClock, pVprocss->idata.strmCformat); pStartCore[XVPROCSS_RTR_SCALER_H] = TRUE; }