[VDPAU] ffmpeg and HEVC: Reference handling

José Hiram Soltren jsoltren at nvidia.com
Tue Jun 2 13:33:22 PDT 2015


Hello Philip:

On 05/29/2015 12:45 PM, Philip Langdale wrote:
> I'm currently trying to work out what's going on with my reference
> handling. The code I have today seems to work perfectly fine for
> 'normal' files - certainly anything x265 or nvenc is willing to spit
> out, but it's not doing the right thing for some of the conformance
> samples.

Yes. The conformance clips are designed to exercise corner cases in the
Specification. Many encoders will avoid some of these parameters in practice.

> The code I've got seems to be internally consistent - I put all the
> short and long term refs into RefPics and I can match every entry in
> StCurrBefore/StCurrAfter/LtCurr back to those refs. And yet, I'm
> getting very visible glitching in the samples.
> 
> Of course, for all I know, the glitching is unrelated to ref handling
> and is caused by some other feature being used by the samples. :-/
> 
> I'm currently excluding all OUTPUT and 'bumping' entries from DPB from
> the RefPics[] array. I assume this is the right thing to do, but maybe
> that's a mistake?
> 
> As for specific glitches, one that really stands out to me is if I try
> and decode RPS_C_ericsson_4.bit

I'm not able to find this one. We have a stream called RPS_C_ericsson_5.bit
internally:

$ sha1sum RPS_C_ericsson_5.bit
a148b9ec005bfcf82310cc01a5cef4ab6c05d90f  RPS_C_ericsson_5.bit

The RPS_* bit streams test reference picture sets. Recall from the
Specification that the decoder must maintain a number of reference picture sets
and switch between them during decoding.

This is all more clear in the internal video playing application that I am
hoping to be able to release in the near future.

>, everything seems fine until I get to
> frame 23, at which point it suddenly outputs a frame that is
> bit-identical to frame 21 and then everything goes south from there. I
> don't know what to make of that.

Does the value of short_term_ref_pic_set_idx happen to change around frame 21,
22, or 23?

Thanks,
--José

> --phil
> 


More information about the VDPAU mailing list