[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