View Issue Details

IDProjectCategoryView StatusLast Update
0000321JVT JM H.264/AVC reference softwareencoderpublic2013-05-07 16:25
ReporterPierre Andrivon Assigned ToKarsten Suehring  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformRedHat Entreprise OSLinuxOS Version 5.6
Product VersionJM 18.4 
Fixed in VersionJM 18.5 
Summary0000321: Bitrate increase with GCC4.1.2 in JM18.4 with HM-like config
DescriptionWhen using a GCC4.1.2 compiler to compile JM18.4 and then using HM-like files, bitstream bitrate increases for non-intra bitstreams (in comparison with "true" results found when comparing with other firms bitstreams results and GCC debug as well as windows debug/release modes). However, encoder and decoder results match and PSNR are coherent. This behavior was not observed for JM18.3 and HM-like config files and as there is no decoder/encoder mismatch so that it is difficult to trace the issue.
It might come from a bad initialized variable introduced in JM18.4 that would introduce low performances at the RDO stage or unlikely a bad compiler optimization (-02) however in the last case it is likely that we may observe mismatch between encoder/decoder... It is remarked that the newly added option "Wno-unused-but-set-variable" is not supported by GCC4.1.2.
Steps To Reproducecompile in release mode JM18.4 with GCC4.1.2 then run a non only intra encoding with HM-like config files.
TagsNo tags attached.

Activities

Alexis Michael Tourapis

2013-04-26 11:10

developer   ~0000565

Unfortunately I don't have gcc 4.1.2 (gcc version I am using is 4.2.1) but I am wondering if this relates to a bug that we recently fixed that impacted level 5.2. in particular, in conformance.c one should extend LEVELVMVLIMIT to 18 elements instead of 17, since otherwise a memory leak would occur.

static const int LEVELVMVLIMIT[18][6] =
{
  { -63, 63, -128, 127, -256, 255},
  { -63, 63, -128, 127, -256, 255},
  { -127, 127, -256, 255, -512, 511},
  { -127, 127, -256, 255, -512, 511},
  { -127, 127, -256, 255, -512, 511},
  { -127, 127, -256, 255, -512, 511},
  { -255, 255, -512, 511, -1024, 1023},
  { -255, 255, -512, 511, -1024, 1023},
  { -255, 255, -512, 511, -1024, 1023},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047},
  { -511, 511, -1024, 1023, -2048, 2047}
};

Karsten Suehring

2013-05-07 16:25

administrator   ~0000572

Closing as resolved. Please reopen, if the problem was not related to level 5.2

Issue History

Date Modified Username Field Change
2013-01-21 15:59 Pierre Andrivon New Issue
2013-04-26 11:10 Alexis Michael Tourapis Note Added: 0000565
2013-05-07 16:25 Karsten Suehring Note Added: 0000572
2013-05-07 16:25 Karsten Suehring Status new => resolved
2013-05-07 16:25 Karsten Suehring Fixed in Version => JM 18.5
2013-05-07 16:25 Karsten Suehring Resolution open => fixed
2013-05-07 16:25 Karsten Suehring Assigned To => Karsten Suehring