Problem with chroma deblocking in H.264

Problem with chroma deblocking in H.264

Hi,

We are currently using IPP to speedup an H.264 codec and it works very well. However, we have recently identified a problem with the deblocking filter for chroma.

At some locations there is +/-1 difference in the chroma sample values between the output of the codec with IPP filtering and the JM9.4 (and our own deblocking implementation which agrees with the JM9.4).

I have tried with IPP versions 4.0 and 4.1.1, and the same problem occurs. Is this a known issue? Or am I doing something wrong?

For exemple, we observe the problem when calling the ippiFilterDeblockingChroma_VerEdge_H264_8u_C1IR() function with the following arguments.

First row of input chroma samples:

{122 123 123 123 118 118 117 116}

pAlfa = {20, 20}
pBeta = {7, 7}

pBs = {1 1 2 2 0 0 2 2 1 1 2 2 0 2 2 0}
pThresholds = {1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0}

The first row of IPP output chroma samples is:

{120 123 123 122 119 118 117 116}

while the correct output is

{120 123 123 121 120 118 117 116}

As it can be seen the 4th and 5th samples differ by 1. Similar problems appear with the chroma horizontal edge filtering.

Note that we have not observed any such problem when strong intra filtering (Bs = 4) is used or with the luminance.

Thanks,

Diego

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.