本节使用SDL实现YUV数据的显示输出,其实就是读取一个YUV文件,然后每过40ms读取一帧YUV送SDL显示,接口调用如下,都很简单,看下就懂。
SDL视频显示的流程:
运行结果
程序解析:
1、程序退出: 点击窗口右上角×,SDL会发送一个自带的SDL_QUIT事件,将s_thread_exit = 1,置为1之后,刷帧线程就会退出,然后再发送一个事件QUIT_EVENT,这个时候显示的主线程while才会退出。
2、窗口拉伸: 窗口拉伸时会受到事件SDL_WINDOWEVENT,这个时候我们可以获取到当前窗口的宽高,然后SDL_RenderCopy将视频的在渲染器中的位置按照和窗口一样的大小显示出来