[FFmpeg-devel] [H264] How to access the DPB?
Gwenolé Beauchesne
gbeauchesne
Sat Jan 31 11:39:57 CET 2009
Hi,
How one does access the decoded picture buffer?
VDPAU uses an union of H264Context::short_ref[] and long_ref[].
Likewise for VA API but in reverse order to preserve this constraint:
the oldest reference picture at the lowest array index (temporal
order). Though this strategy improved the visual experience for
certain streams (NeroAVC improved, not fully fixed), it still fails
for others ("300" movie trailer we have locally). Most of other
streams work though (with ReferenceFrames[] filled in either order).
I had a look at MPC-HC, the FFmpeg+MPlayer fork that supports DXVA,
and they do maintain a DPB themselves. Since VA API (Intel
implementation) is very similar to DXVA, I fear I would have to
maintain an equivalent thing, which I really would like to avoid...
The VA API spec only mentions:
VAPictureH264 ReferenceFrames[16]; /* in DPB */
and, in my experience, it seems the order of the elements in that
array has an importance for VA API, which VDPAU doesn't care much about.
Thanks,
Gwenole.
More information about the ffmpeg-devel
mailing list