[Libva] mplayer VAAPI regression?

Yuan, Shengquan shengquan.yuan at gmail.com
Fri Sep 4 03:57:15 PDT 2009


Gwenole,

I notice your latest mplayer VAAPI patch has a lot of regressions. I
have one version around Jan 2009 which can play back H264 clips very
well, but after I downloaded one recent version
(mplayer-vaapi-20090804-FULL.tar.bz2 from
http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/), the clips
that can be played by the Jan version can't be played well by this
0804 version .

I dumped some debug data in video driver, and found even the first
frame, the 0802 version set
VAPictureParameterBufferH264:num_ref_frames to 2, but the old version
assign 0 to it. I compared the patch mplayer-vaapi-20090106.tar.bz2
and mplayer-vaapi-latest.tar.bz2  focusing on num_ref_frames:

In "0106":

+int ff_vaapi_h264_frame_start(H264Context *h)
+{
.....................
+    pic_param->num_ref_frames = h->short_ref_count + h->long_ref_count;
+    //pic_param->num_ref_frames = h->sps.ref_frame_count;
.....................
}

But in "lastest"

+/** Initialize and start decoding a frame with VA API. */
+static int start_frame(AVCodecContext          *avctx,
+                       av_unused const uint8_t *buffer,
+                       av_unused uint32_t       size)
{
.....................
+    pic_param->bit_depth_chroma_minus8                          =
h->sps.bit_depth_chroma >= 8 ? h->sps.bit_depth_chroma - 8 : 0;
+    pic_param->num_ref_frames                                   =
h->sps.ref_frame_count;
+    pic_param->seq_fields.value                                 = 0;
/* reset all bits */
.....................
}

Please note the difference of "num_ref_frames" assignment

I am not sure if my environment is wrong or not. Just notice above difference.

Thanks
Austin


More information about the Libva mailing list