设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
会sdl的来讨论:用SDL_DisplayYUVOverlay显示视频帧时如 ...
返回列表
查看:
2754
|
回复:
4
会sdl的来讨论:用SDL_DisplayYUVOverlay显示视频帧时如何在画面上显示字幕和右键菜
[复制链接]
asert
asert
当前离线
积分
617
IP卡
狗仔卡
发表于 2008-12-8 15:13:33
|
显示全部楼层
|
阅读模式
我觉得显示字幕的话估计只能在显示每一个视频帧之前用SDL_BlitSurface之类的函数把字幕附加上去了,但是现在的问题是SDL_BlitSurface是用于SDL_Surface而不是SDL_Overlay?请问有什么好办法?
我还想实现的一个功能是在视频播放区域内右键点击鼠标的话会出来一个右键菜单,这个功能的实现方法我觉得应该是当显示右键菜单时候,视频区域被分割成5个区域,如图,A,B,C,D区域和菜单区域,然后只刷A,B,C,D区域,这样菜单就可以一直显示了,但是用SDL_DisplayYUVOverlay不支持。。。
这两个问题知道怎么搞定的请出来吼一下
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
注册
x
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
asert
asert
当前离线
积分
617
IP卡
狗仔卡
楼主
|
发表于 2008-12-10 16:05:17
|
显示全部楼层
我自己全部搞定啦,哈哈,爽!
有同样问题的可以回复向我请教
回复
支持
反对
使用道具
举报
显身卡
jetking
jetking
当前离线
积分
561
IP卡
狗仔卡
发表于 2008-12-24 15:12:18
|
显示全部楼层
我来吼吼吧。
如果设备有叠加层的话,菜单可以画在叠加层上。
如果没有的话,SDL新建一个surface,假设叫video_surface,在其上创建yuv overlay; 另外再创建一个surface用于菜单,假设为menu_surface,在每一帧DisplayYuvOverlay之后,blit video_surface到主surface上,然后再blit menu_surface到主surface上,最后flip一下主surface,即达到楼主的效果, 每一帧后叠加是为了同步,这样不会闪烁。
创建surface时做些相关设置的话,还支持半透明。
如果菜单不是很复杂的话,菜单surface可以不创建,可以在bllit video surface到主surface之后,直接在主surface上画菜单,然后flip 主surface。
回复
支持
反对
使用道具
举报
显身卡
guaji123
guaji123
当前离线
积分
1
IP卡
狗仔卡
发表于 2009-1-7 22:18:16
|
显示全部楼层
jetking 老大,我在做毕业设计时有个SDL问题想请教你,
如果看到请加下我打QQ,63975228,我时用GTK+SDL做打,在多路打时候会闪屏而且
带有绿色
回复
支持
反对
使用道具
举报
显身卡
jetking
jetking
当前离线
积分
561
IP卡
狗仔卡
发表于 2009-1-9 11:46:35
|
显示全部楼层
闪是因为显卡驱动不支持硬件加速,而SDL打开了硬件加速,好像是SDL_YUV_HW什么的,改成SW就不闪了,但是cpu耗的厉害。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表