View Issue Details

IDProjectCategoryView StatusLast Update
0000102JVT JM H.264/AVC reference softwareencoderpublic2008-07-24 15:06
ReporterLuca Assigned ToAlexis Michael Tourapis  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionJM 13.1 
Fixed in VersionJM-14.1 
Summary0000102: Quantization Parameter per Slice
DescriptionDear Experts,

I found a strange behaviour of the encoder when assigning a specific QP to a slice (with RDO turned off). For example, when writing in *slice.c - init_slice* a condition like

if (img->current_slice_nr == 2)
  currSlice->qp = 42;
else
  currSlice->qp = img->qp;

it results on an appropriate assignment of the slice header field "slice_qp_delta" for the slice number 2.

But then while encoding the MBs, in the function *macroblock.c - start_macroblock*, the QP of the current macroblock seems to be assigned depending on the img->qp, like

if (prev_mb < 0) //first macroblock (of slice)
{
  (*currMB)->delta_qp = 0;
  (*currMB)->qp = img->qp;
}

and so on.

Therefore, when decoding, the decoder modifies the QP of the MB according to the slice_qp_delta. But at the encoder file, the reference pictures were created considering only the global QP of the sequence.

If the information I gave you are correct, than I just propose to modify the assignment of currMB->qp to img->currentSlice->qp.

Best Regards,

Luca
TagsNo tags attached.

Activities

Karsten Suehring

2008-05-06 16:47

administrator   ~0000177

We use the different variables holding QP not very consistently. This should be redesigned.

Issue History

Date Modified Username Field Change
2008-02-28 19:51 Luca New Issue
2008-05-06 16:47 Karsten Suehring Note Added: 0000177
2008-05-06 16:47 Karsten Suehring Status new => confirmed
2008-07-24 15:06 Alexis Michael Tourapis Status confirmed => resolved
2008-07-24 15:06 Alexis Michael Tourapis Fixed in Version => JM-14.1
2008-07-24 15:06 Alexis Michael Tourapis Resolution open => fixed
2008-07-24 15:06 Alexis Michael Tourapis Assigned To => Alexis Michael Tourapis