Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94362
  • 博文数量: 69
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 925
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-08 09:58
文章分类
文章存档

2011年(1)

2009年(68)

我的朋友

分类: Mysql/postgreSQL

2009-07-08 17:17:06

软件(传统)视频编解码器/接收器使用XvPutImage()将图像帧blt到X。硬件加速的编解码器(基于libva)将使用vaPutSurface()在屏幕上显示帧,无需从视频驱动器上复制回数据并输出到帧缓冲。如何处理这个区别?
我们可以对软件编解码器或硬件编解码器添加两种视频接收器元件,这是可行的。但是您必须维护两个代码库,而且两个接收器版本将在某种程度上打破autoplug(您必须在autoplug前设置接收器属性,但设置哪一个呢?)
我试图使接收器元件本身确定衰减器运行时的性能:
1.快速查找可以发现gstaudioconvert元件拥有多cap,“audio/x-raw-float”和“audio/x-raw-int”。我猜测该元件暴露自身的性能gst内核,而gst内核将选择一个兼容cap(这里我们忽略gst_audio_convert_transform_caps)并通过gst_audio_convert_set_caps()为元件设置这个兼容cap。因此工作流能够根据gst_audio_convert_set_caps()中解析的cap创建不同的分支。
2. 当我检查gsttextoverlay元件时,我发现它与我的方法最为接近。该元件通过“text/x-pango-markup; text/plain”定义多cap,而gst_text_overlay_setcaps_txt()将确认gst_structure_has_name(structure,“text/x-pango-markup”)使用的是pango文本还是纯文本。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/moblin/archive/2008/11/17/3320623.aspx
阅读(641) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~