使用GTK3和vx来实现高效的播放视频

开发基于GTK+或QT的应用程序
回复
头像
huangbster
帖子: 187
注册时间: 2012-10-29 11:35
系统: UBUNTU
送出感谢: 1 次
接收感谢: 3 次

使用GTK3和vx来实现高效的播放视频

#1

帖子 huangbster » 2013-03-04 17:12

辛苦了三天,终于实现使用GTK3和vx来播放ffmpeg解压出来的视频数据了。
http://huangbster.i.sohu.com/blog/view/256490057.htm

实测效果:
播放一个cif格式的视频,25fps。
如果使用cr来画,如:
cairo_surface_t *image;
image = cairo_image_surface_create_for_data (sRGBData,
CAIRO_FORMAT_RGB24,
iDisplayWidth,
iDisplayHeight,
iDataStride);
cairo_set_source_surface (cr, image, 0, 0);
cairo_paint (cr);
cairo_surface_destroy (image);
那么程序消耗8%的CPU。
如果用xv来加速,如:
xv_image = XvCreateImage(display,xv_port,0x32315659/*"YV12"*/,pBuffer,codeccontext->width,codeccontext->height);
XvPutImage(display,xv_port,window, gc, xv_image,
0, 0, codeccontext->width, codeccontext->height,
0, 0, iDisplayWidth, iDisplayHeight);
XFree(xv_image);
那么程序消耗0%的CPU。播放程序几乎损耗CPU。
回复

回到 “GTK+和QT”