View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000351 | JVT JM H.264/AVC reference software | encoder and decoder | public | 2015-05-11 11:38 | 2015-05-11 15:09 |
Reporter | Joachim | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | Linux | OS | Ubuntu 12.04 | ||
Product Version | JM 18.6 | ||||
Summary | 0000351: Redundant Picture - unable to decode | ||||
Description | I am encoding 25 frames of a 210x118 video in the baseline profile. The use of redundant pictures is enabled and it looks like the encoder is properly doing its job (no error message, neither any warnings). However, as the decoder starts, it throws out an error and quit : " RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture', invalid bitstream " I attached the encoder config file. | ||||
Additional Information | On the encoder config, I have: NumberReferenceFrames = 2 UseRedundantPicture = 1 # 0: not used, 1: enabled NumRedundantHierarchy = 1 # 0-4 PrimaryGOPLength = 2 # GOP length for redundant allocation (1-16) NumRefPrimary = 2 # Actually used number of references for primary slices (1-16) For the decoder, the config is as follow: InputFile = "test.264" OutputFile = "test_dec.yuv" RefFile = "test_rec.yuv" WriteUV = 1 FileFormat = 0 RefOffset = 0 POCScale = 2 ConcealMode = 0 RefPOCGap = 2 POCGap = 2 Silent = 0 IntraProfileDeblocking = 1 DecFrmNum = 0 Finally, the JM decoder output is : ----------------------------- JM 18.6 (FRExt) ----------------------------- POC must = frame# or field# for SNRs to be correct -------------------------------------------------------------------------- Frame POC Pic# QP SnrY SnrU SnrV Y:U:V Time(ms) -------------------------------------------------------------------------- 00000(IDR) 0 0 28 22.6073 21.1481 20.8344 4:2:0 1 RefPicList0[ num_ref_idx_l0_active_minus1 ] is equal to 'no reference picture', invalid bitstream | ||||
Tags | No tags attached. | ||||
|
|
|
That sounds like a bug. The JM decoder should completely ignore redundant pictures. |
|
JM decoder will not use redundant pictures at all? Is this bug going to be fixed any time soon ? If not, where can I fix it ? |
|
H.264/AVC does not define a decoding process for redundant pictures. Also for a bitstream without any losses, it does not make much sense to decode the redundant pictures, except for debugging purposes. A real world decoder may use them to fill in missing gaps, when pictures or parts of pictures are lost. Unfortunately the software was not well structured with many global variables, which does not allow processing of different redundant or auxiliary pictures at the same time. There was a hack (I think in a #define) for auxiliary pictures at the decoder, which allowed to switch to this type. Something similar should be possible for redundant pictures. But I have not tested this in quite a while. In general it seems likely that we will remove all error resilience features because nobody cares about fixing them (see most of the other issues here). |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-05-11 11:38 | Joachim | New Issue | |
2015-05-11 11:38 | Joachim | File Added: encoder_baseline.cfg | |
2015-05-11 12:27 | Karsten Suehring | Note Added: 0000626 | |
2015-05-11 14:54 | Joachim | Note Added: 0000627 | |
2015-05-11 15:09 | Karsten Suehring | Note Added: 0000628 |