On Sun, Aug 30, 2009 at 2:05 PM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote: > kkumar s <kumars2007 <at> gmail.com> writes: > > > I am trying to understand the code for the data flow when vdpau is > enabled. > > I see that in libvo/vo_vdpau.c the vdp_device is created , and later the > > vdp_decoder is also > > created. I see a function draw_slice which actually calls > > vdo_decoder_render. I am not able to figure out how libavcodec calls > > draw_slice > > put_image() in libmpcodecs/vf_vo.c calls draw_slice. > > > , and how the decoded video surface is displayed using X11 > > In video_to_output_surface(), the VDPAU mixer gets the necessary data to be > able > to render a picture on an output_surface, flip_page (called from mplayer.c) > displays it. > > These were MPlayer questions, for VDPAU questions please see > /usr/include/vdpau.c, > ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html or post a > question on http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 . > > Carl Eugen > > _______________________________________________ > MPlayer-users mailing list > MPlayer-users at mplayerhq.hu > https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users > Hi, From my understanding , using mplayer with VDPAU , motion compensation is offloaded to the GPU, so the vdpau should take care of storing the reference frames. If so why does the mplayer need to call ff_vdpau_h264_set_reference_frames() APIs, does this store the decoded frame for reference in CPU ? Can you please explain what this function achieves ? thanks, kumar.