您的位置:首页 > Web前端

关于dvd subtitle与effect效果有冲突问题(thinkvd开发日志)

2010-11-28 23:05 357 查看
在开发thinkvd dvd字幕时,由于用了pts与dts作为延时显示字幕,而视频效果中支持调节明度、色度、透明度及饱和度。当他们同时一块作用时,则出现效果视频画面比较闪烁。若不全部同时视频效果应用时,还说得过去。造成的原因是需要同时显示原始视频、效果视频。处于效果视频时间相对较长,也把sdl改成类似directshow双缓冲方式,感觉用于sdl_overlay不起作用。尽管在SDL_CreateRenderer可以设置,sdl的flip在overlay方式下如何用,还没有研究过。

想了一些解决方法:
1。把字幕延时显示改到合并到视频数据后,视频数据出队列前及下一帧视频数据入队列前。发现都不理想。
2。考虑把字幕数据流共享给界面逻辑层来显示,但由于dvd字幕结构问题、COPY,同步、与视频合并、内存释放及控制处理等,感觉处于比较烦琐。这个方法是没有办法的办法才用。
3。需求分离:当要显示效果dvd subtitle时,其它应用到视频上的effect都不起作用。这个给用户的感觉不太友好,但它是比较可考虑的
4。交换显示顺序:显示原始视频窗口与显示效果窗口前后交换,结果谁在后谁就闪。若把他们的数据填充好了后再一块显示,结果两个都闪.原因是自己不太清楚sdl的缓冲显示方式

自己用SDL时感觉问题比较多,网上的实用资料比较少,libsdl的bbs不能发贴,SDL与当初的期望还是比较大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: