Opened 11 years ago

Closed 11 years ago

#940 closed defect (invalid)

When strong_intra_smoothing_enable_flag=1, wrong neighboring samples are used.

Reported by: conrad.ho Owned by:
Priority: major Milestone: HM-9.2
Component: HM Version: HM-9.1
Keywords: strong_intra_smoothing_enable_flag, biIntFlag, STRONG_INTRA_SMOOTHING Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

In near-the-end of function initAdiPattern(), the result (of applying strong-intra-smoothing or not) is filled into piFilteredBuf1.

In function predIntraLumaAng():

if ( (iWidth > 16) | | (iHeight > 16) )
{

xPredIntraAng(g_bitDepthY, ptrSrc+sw+1, sw, pDst, uiStride, iWidth, iHeight, uiDirMode, bAbove, bLeft, false );

}

ptrSrc+sw+1 should be ptrSrc+65*65+sw+1 (that means piFilteredBuf1+sw+1), for example, when the CTB size is 64x64.

Otherwise, the neighboring samples used are still NOT strong-intra-smoothed, even when the condition is met (biIntFlag=1, see the spec).

Change History (3)

comment:1 Changed 11 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

comment:2 Changed 11 years ago by conrad.ho

NOTE about getPredictorPtr(): Below condition of ucFiltIdx is nothing to do with strong_intra_smoothing_enable_flag.

Int diff = min<Int>(abs((Int) uiDirMode - HOR_IDX), abs((Int)uiDirMode - VER_IDX));
UChar ucFiltIdx = diff > m_aucIntraFilter[log2BlkSize - 2] ? 1 : 0;

...

if ( ucFiltIdx )
{

piSrc += (2 * width + 1) * (2 * height + 1);

}

Version 0, edited 11 years ago by conrad.ho (next)

comment:3 Changed 11 years ago by fbossen

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • Conrad Ho(Reporter, Participant)
  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber, Participant)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)