Bug 81414 - mpeg4: add vop_time_increment to VAPictureParameterBufferMPEG4 structure
Summary: mpeg4: add vop_time_increment to VAPictureParameterBufferMPEG4 structure
Status: NEW
Alias: None
Product: libva
Classification: Unclassified
Component: vdpau (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Gwenole Beauchesne
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-16 07:57 UTC by Fabrice Bellet
Modified: 2014-08-07 01:20 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Fabrice Bellet 2014-07-16 07:57:53 UTC
Hi!

I use the following setup : gstreamer-vaapi -> libva -> vdpau-driver -> radeonsi. I noticed that vop_time_increment_resolution was passed to the vdpau-driver, but not time_increment itself. Then in vdpau-driver/src/vdpau_decode.c, translate_VASliceDataBuffer(), when we regenerate the data of the slice header, we have this line, around 545 :

put_bits(&pb, time_incr, 0);            /* time increment */

which sets this value to zero, because time_incr here is computed as the number of bits needed depending of time_increment_resolution, not the time_increment value itself. This causes an effect in the decoded stream where some squares appear too late in the image, some kind of a "mosaic" effect in fast moving areas.

is adding this supplementary field to the struct the best solution ?


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.