Opened 14 years ago

Closed 14 years ago

#111 closed defect (fixed)

Redundant codes in motion estimation of DCT-IF

Reported by: chujoh Owned by:
Priority: minor Milestone:
Component: HM Version:
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…

Description

The codes in “TEncSearch.cpp”from line 8472 to 8492 are redundant and should be removed.
Although the encoding result is identical, the encoding time is increased.

case 1:
{

Quater-pel interpolation : vertical
piSrcYPel = piSrcPel - m_iDIFHalfTap;
piDstY = piSrc-m_iDIFTap2 - iSrcStride;
xCTI_FilterQuarter0Ver(piSrcYPel, iSrcPelStride, 1, iWidth + m_iDIFTap, iHeight, iSrcStride4, 4, piDstY);


piSrcYPel = piSrcPel - m_iDIFHalfTap;
piDstY = piSrc-m_iDIFTap2 + iSrcStride;
xCTI_FilterQuarter1Ver(piSrcYPel, iSrcPelStride, 1, iWidth + m_iDIFTap, iHeight, iSrcStride4, 4, piDstY);


Left three pixels
piSrcY = piSrc-4 - iSrcStride;
piDstYPel = piDst-1 - iDstStride;
xCTI_FilterQuarter1Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc-4;
piDstYPel = piDst-1;
xCTI_FilterQuarter1Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc-4 + iSrcStride;
piDstYPel = piDst-1 + iDstStride;
xCTI_FilterQuarter1Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


Middle two pixels
piSrcY = piSrc - iSrcStride;
piDstYPel = piDst - iDstStride;
Int iSrcStride2 = (iSrcStride<<1);
Int iDstStride2 = (iDstStride<<1);


for (y=0; y < iHeight*2; y++)
{

for (x=0; x < iWidth; x++)
{

piDstYPel[x*4] = Clip( (piSrcY[x*4] + 128) >> 8 );

}
piSrcY+=iSrcStride2;
piDstYPel+=iDstStride2;

}


Right three pixels
piSrcY = piSrc - iSrcStride;
piDstYPel = piDst+1 - iDstStride;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc;
piDstYPel = piDst+1;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc + iSrcStride;
piDstYPel = piDst+1 + iDstStride;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


/* These codes are redundant

Right three pixels
piSrcY = piSrc - iSrcStride;
piDstYPel = piDst+1 - iDstStride;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc;
piDstYPel = piDst+1;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcY = piSrc + iSrcStride;
piDstYPel = piDst+1 + iDstStride;
xCTI_FilterQuarter0Hor(piSrcY, iSrcStride4, 4, iWidth, iHeight, iDstStride4, 4, piDstYPel);


Middle two pixels
piSrcYPel = piSrcPel;
piDstYPel = piDst - iDstStride;
xCTI_FilterQuarter0Ver(piSrcYPel, iSrcPelStride, 1, iWidth, iHeight, iDstStride4, 4, piDstYPel);


piSrcYPel = piSrcPel;
piDstYPel = piDst + iDstStride;
xCTI_FilterQuarter1Ver(piSrcYPel, iSrcPelStride, 1, iWidth, iHeight, iDstStride4, 4, piDstYPel);

*/

break;

}

Change History (4)

comment:1 Changed 14 years ago by fbossen

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r410

comment:2 Changed 13 years ago by davidf

  • Component set to HM

Updating component after adding WD (Text) tickets

comment:3 Changed 13 years ago by davidf

  • Cc fbossen ksuehring davidf added

comment:4 Changed 13 years ago by davidf

  • Cc jct-vc@… added
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

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