SDL 介绍

 

根据ffmpeg官方网站上的例子程序开始学习ffmpeg和SDL编程。

SDL是一个跨平台的多媒体开发包。适用于游戏,模拟器,播放器等应用软件开发。支持linux 、win32 等操作系统。

主要应用:

视频
  • 设置8bpp或更高的任意色彩深度的视频模式。如果某个模式硬件不支持,可以选择转化为另一模式。
  • 直接写入线性的图像帧缓冲(framebuffer)。
  • 用颜色键值(colorkey)或者alpha混合属性创建surface。
  • Surface的blit能自动的转化为目标格式。blit是优化过的,并能使用硬件加速。x86平台上有针对MMX优化过的blit。
  • 硬件加速的blit和fill(填充)操作,如果硬件支持的话。

事件

  • 提供以下事件:
    • 应用程序的visibility发生改变
    • 键盘输入
    • 鼠标输入
    • 用户要求的退出
  • 每种事件都能通过SDL_EventState()关闭或者打开。
  • 事件经由用户指定的过滤函数再被加入到内部的事件队列。
  • 线程安全的事件队列。

音频

  • 设置8位和16位的音频,单声道或者立体声,如果格式硬件不支持,可以选择转换。
  • 由独立的线程执行音频部分,并提供用户回调(callback)机制。
  • 设计上考虑到了客户定制的软混音器,但实际上在例程中就包含了一个完整的音频/音乐输出库。

CD音频

  • 完整的CD音频控制API

线程

  • 简单的线程创建API
  • 用于同步的简单的二进制信号量(semaphores) 

定时器

  • 读取已流逝的毫秒数。
  • 等待指定的毫秒数。
  • 设置一个10毫秒精度的周期性定时器。

字节序无关

  • 侦测当前系统的字节序
  • 快速转换数据的函数
  • 读写指定字节序的数据

原文地址:http://blog.csdn.net/xingyu19871124/article/category/560406

你可能感兴趣的:(优化,linux,api,音乐,callback,跨平台)