On Tue, Apr 14, 2020 at 9:02 PM Aruna Matheswaran < ar...@multicorewareinc.com> wrote:
> > > On Tue, Apr 14, 2020 at 7:38 PM Kavitha Sampath < > kavi...@multicorewareinc.com> wrote: > >> >> >> On Tue, Mar 31, 2020 at 11:25 AM Aruna Matheswaran < >> ar...@multicorewareinc.com> wrote: >> >>> # HG changeset patch >>> # User Aruna Matheswaran <ar...@multicorewareinc.com> >>> # Date 1582707110 -19800 >>> # Wed Feb 26 14:21:50 2020 +0530 >>> # Node ID 7ae7c9767f14b7d093c2023235066b370aecc4ce >>> # Parent 74170d9678e1a7f5f57b20c8404f8601814254d8 >>> analysis-save/load: Validate cu-tree info only at reuse-level 10 >>> >>> diff -r 74170d9678e1 -r 7ae7c9767f14 source/encoder/encoder.cpp >>> --- a/source/encoder/encoder.cpp Wed Feb 19 15:13:05 2020 +0530 >>> +++ b/source/encoder/encoder.cpp Wed Feb 26 14:21:50 2020 +0530 >>> @@ -3694,20 +3694,6 @@ >>> if (p->analysisLoad && !p->analysisLoadReuseLevel) >>> p->analysisLoadReuseLevel = 5; >>> >>> - if ((p->bAnalysisType == DEFAULT) && p->rc.cuTree) >>> - { >>> - if (p->analysisSaveReuseLevel && p->analysisSaveReuseLevel < 10) >>> - { >>> - x265_log(p, X265_LOG_WARNING, "cu-tree works only with >>> analysis-save-reuse-level 10, Disabling cu-tree\n"); >>> - p->rc.cuTree = 0; >>> - } >>> - if (p->analysisLoadReuseLevel && p->analysisLoadReuseLevel < 10) >>> - { >>> - x265_log(p, X265_LOG_WARNING, "cu-tree works only with >>> analysis-load-reuse-level 10, Disabling cu-tree\n"); >>> - p->rc.cuTree = 0; >>> - } >>> - } >>> - >>> >> [KS] If reuse level is <10 we no longer throw warning/disable cutree. We >> neither reuse cutree offsets. I don't think that is expected. >> > [AM] Will enable the flow to reuse cu-tree offsets at reuse-levels > 1 > >> [KS] As you are enabling cutree for other reuse levels, ensure to add >> this test case to our regression >> > [AM] ok. > >> >> if ((p->analysisLoad || p->analysisSave) && >>> (p->bDistributeModeAnalysis || p->bDistributeMotionEstimation)) >>> { >>> x265_log(p, X265_LOG_WARNING, "Analysis load/save options >>> incompatible with pmode/pme, Disabling pmode/pme\n"); >>> @@ -5039,13 +5025,13 @@ >>> X265_PARAM_VALIDATE(saveParam->lookaheadDepth, sizeof(int), 1, >>> &m_param->lookaheadDepth, rc - lookahead); >>> X265_PARAM_VALIDATE(saveParam->chunkStart, sizeof(int), 1, >>> &m_param->chunkStart, chunk-start); >>> X265_PARAM_VALIDATE(saveParam->chunkEnd, sizeof(int), 1, >>> &m_param->chunkEnd, chunk-end); >>> - >>> X265_PARAM_VALIDATE(saveParam->cuTree,sizeof(int),1,&m_param->rc.cuTree, >>> cutree - offset); >>> X265_PARAM_VALIDATE(saveParam->ctuDistortionRefine, sizeof(int), 1, >>> &m_param->ctuDistortionRefine, ctu - distortion); >>> >>> int sourceHeight, sourceWidth; >>> if (writeFlag) >>> { >>> X265_PARAM_VALIDATE(saveParam->analysisReuseLevel, sizeof(int), >>> 1, &m_param->analysisSaveReuseLevel, analysis - save - reuse - level); >>> + X265_PARAM_VALIDATE(saveParam->cuTree, sizeof(int), 1, >>> &m_param->rc.cuTree, cutree-offset); >>> sourceHeight = m_param->sourceHeight - >>> m_conformanceWindow.bottomOffset; >>> sourceWidth = m_param->sourceWidth - >>> m_conformanceWindow.rightOffset; >>> X265_PARAM_VALIDATE(saveParam->sourceWidth, sizeof(int), 1, >>> &sourceWidth, res-width); >>> @@ -5080,6 +5066,15 @@ >>> return -1; >>> } >>> >>> + int bcutree; >>> + X265_FREAD(&bcutree, sizeof(int), 1, m_analysisFileIn, >>> &(saveParam->cuTree)); >>> + if (loadLevel == 10 && m_param->rc.cuTree && (!bcutree || >>> saveLevel < 2)) >>> + { >>> + x265_log(NULL, X265_LOG_ERROR, "Error reading cu-tree info. >>> Disabling cutree offsets. \n"); >>> + m_param->rc.cuTree = 0; >>> + return -1; >>> + } >>> + >>> >> [KS] Isn't this applicable to all reuse levels? As I see that we write >> and read cutree offsets for all levels >> > [AM] Right now cu-tree reuse is allowed only at reuse-level 10, but > sharing is enabled at reuse-levels > 1. > I'll update this check while enabling the cu-tree reuse at reuse-levels > > 1. > >> >> >>> bool error = false; >>> int curSourceHeight = m_param->sourceHeight - >>> m_conformanceWindow.bottomOffset; >>> int curSourceWidth = m_param->sourceWidth - >>> m_conformanceWindow.rightOffset; >>> >> [KS] Have you tested this patch disabling lookahead? >> > [AM] No, I didn't check as it is a param only option. > Disabling lookahead in load will restrict reuse-level 1 from enabling > cu-tree. Should we extent cu-tree sharing to reuse-level 1 given that > cu-tree is part of lookahead info? > [KS] If we are disabling lookahead and enabling cutree/vbv then we should be sharing cutree/vbv info IMO > _______________________________________________ >>> x265-devel mailing list >>> x265-devel@videolan.org >>> https://mailman.videolan.org/listinfo/x265-devel >>> >> >> >> -- >> Regards, >> Kavitha >> _______________________________________________ >> x265-devel mailing list >> x265-devel@videolan.org >> https://mailman.videolan.org/listinfo/x265-devel >> > > > -- > Regards, > *Aruna Matheswaran,* > Video Codec Engineer, > Media & AI analytics BU, > > > > _______________________________________________ > x265-devel mailing list > x265-devel@videolan.org > https://mailman.videolan.org/listinfo/x265-devel > -- Regards, Kavitha
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel