当前位置: 首页 > news >正文

服装门户系统网站环保工程 技术支持 东莞网站建设

服装门户系统网站,环保工程 技术支持 东莞网站建设,网页制作培训学费,怀化市住房与城乡建设厅网站播放YUV视频的步骤 初始化SDL库#xff1a; 目的#xff1a;确保SDL库正确初始化#xff0c;以便可以使用其窗口、渲染和事件处理功能。操作#xff1a;调用 SDL_Init(SDL_INIT_VIDEO) 来初始化SDL的视频子系统。 创建窗口用于显示YUV视频#xff1a; 目的#xff1a;…播放YUV视频的步骤 初始化SDL库 目的确保SDL库正确初始化以便可以使用其窗口、渲染和事件处理功能。操作调用 SDL_Init(SDL_INIT_VIDEO) 来初始化SDL的视频子系统。 创建窗口用于显示YUV视频 目的创建一个窗口作为显示YUV视频的目标。 操作使用 SDL_CreateWindow 创建一个SDL窗口并指定窗口的位置、大小和标志如是否全屏等。你可以根据需要自定义窗口的属性。创建渲染器 目的创建一个渲染器用于在窗口中绘制图像。操作使用 SDL_CreateRenderer 创建一个渲染器。可以选择硬件加速和垂直同步选项以提高性能和视觉质量。 创建纹理并设置颜色格式 目的创建一个纹理对象用于在GPU中存储图像数据并设置纹理的颜色格式如YUV420P。操作使用 SDL_CreateTexture 创建一个纹理指定像素格式例如 SDL_PIXELFORMAT_YV12 或 SDL_PIXELFORMAT_IYUV以及访问模式如 SDL_TEXTUREACCESS_STREAMING。 循环读取YUV文件并更新纹理 目的从YUV文件中逐帧读取原始像素数据并将每一帧的数据更新到纹理中完成每一帧的渲染。操作在一个循环中读取YUV文件中的每一帧数据使用 SDL_UpdateYUVTexture 将Y、U、V平面的数据分别更新到纹理中然后调用 SDL_RenderClear、SDL_RenderCopy 和 SDL_RenderPresent 来刷新屏幕以显示当前帧。确保每帧之间有适当的延时以维持正确的播放速度。 清理资源 目的释放所有分配的资源确保没有内存泄漏。 操作在程序结束时调用相应的销毁函数如 SDL_DestroyTexture、SDL_DestroyRenderer 和 SDL_DestroyWindow最后调用 SDL_Quit 退出SDL库。 示例代码如下 #include mainwindow.h #include ui_mainwindow.h #include SDL2/SDL.h #include QDebug #include QFile#define RET(judge,SDL_Init) \if(judge) \{\qDebug() #SDL_Init error SDL_GetError();\return;\} #define FILENAME D:/ffmpeg/in.yuv #define PIXEL_FORMAT SDL_PIXELFORMAT_IYUV #define IMG_W 352 #define IMG_H 288MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);_widget new QWidget(this);//设置窗口位置和大小_widget-setGeometry(100,0,IMG_W,IMG_H);//初始化子系统RET(SDL_Init(SDL_INIT_VIDEO),SDL_Init);//创建一个窗口//标题-X-Y-width-height_window SDL_CreateWindowFrom((void *)_widget-winId());RET(!_window,SDL_CreateWindow);//创建渲染上下文--用于渲染图形到窗口//这SDL_RENDERER_ACCELERATED -- 个标志告诉 SDL 尝试创建一个使用硬件加速的渲染器//SDL_RENDERER_PRESENTVSYNC -- 这个标志使渲染器的呈现操作同步到显示器的垂直同步VSync_renderer SDL_CreateRenderer(_window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);//如果创建失败if(!_renderer){_renderer SDL_CreateRenderer(_window,-1,0);RET(!_renderer,SDL_CreateRenderer);}//创建纹理t_texture SDL_CreateTexture(_renderer,PIXEL_FORMAT,SDL_TEXTUREACCESS_STREAMING,IMG_W,IMG_H);RET(!_texture,SDL_CreateTextureFromSurface);//打开YUV文件_file.setFileName(FILENAME);if(!_file.open(QFile::ReadOnly)){qDebug() _file open error FILENAME;return;} }MainWindow::~MainWindow() {delete ui;_file.close();SDL_DestroyRenderer(_renderer);SDL_DestroyTexture(_texture);SDL_DestroyWindow(_window);SDL_Quit();//初始化子系统后必须做一个退出操作 }void MainWindow::on_pushButton_clicked() {//开启定时器_timerId startTimer(60);}//每隔一段事件就会调用 void MainWindow::timerEvent(QTimerEvent *enent) {int imgSize IMG_W * IMG_H * 1.5;char data[imgSize];if(_file.read(data,imgSize) 0){//将YUV的像素数据填充到texture -- nullptr空表示整个texture都是RET(SDL_UpdateTexture(_texture,nullptr,data,IMG_W),SDL_UpdateTexture);//设置绘制颜色画笔颜色SDL_SetRenderDrawColor(_renderer,0,0,0,SDL_ALPHA_OPAQUE);//用绘制颜色画笔颜色清除渲染目标---也就是覆盖SDL_RenderClear(_renderer);//拷贝纹理数据到渲染目标默认时windowRET(SDL_RenderCopy(_renderer,_texture,nullptr,nullptr),SDL_RenderCopy);//更新所有的渲染操作到屏幕上SDL_RenderPresent(_renderer);}else{//文件数据已经读取完毕killTimer(_timerId);}}由于是一个视频所以只截取了一个照片
http://www.hkea.cn/news/14316412/

相关文章:

  • 关键词查询工具软件酒泉网站seo
  • ps做图下载网站有哪些网站建设 公司新闻
  • 建站公司哪家好网站开发的母的目的和意义.
  • 网站建设推广合同书专业精准网络营销推广
  • 健康资讯网站模板网站要什么软件做
  • 山东超越建设集团网站南昌网站建设
  • 深圳建企业网站什么叫网站建设四网合一
  • 可视化网站建设软件有哪些遵义网站建设90kj
  • 青岛黄岛区网站开发零用贷网站如何做
  • 黄骅贴吧招聘2022年seo sem论坛
  • 广州网站制作方法凡客建站
  • 荣添网站建设优化西安做营销型网站
  • 网站3级目录可以做导航分类么做游戏直播那个网站
  • 网站 开发逻辑网站建设应该有什么特点
  • 网站友情链接怎么样做公司管理
  • 成功的营销网站的例子考研培训班哪个机构比较好
  • 门户网站直接登录系统名师工作室网站建设建议
  • 深圳深圳网站建设重庆发布公众号
  • 网站网页建设与维护黄村网站建设报价
  • 重庆绝美的十大冷门景点六安网站排名优化电话
  • 建立网站怎么申请工信部网站备案系统
  • 腾讯网站站内面包屑导航杭集手工活外发加工网
  • 不花钱可以做网站吗wordpress后台没有菜单
  • 网站宣传页面公司网站建设费分录
  • 网站备案的要求是什么样的手机个别网页打不开
  • 毕业答辩为什么做网站学校网站建设的申请书
  • 国外网站模板欣赏做名片用什么网站
  • 帝国cms网站地产公司网站建设
  • 沙漠风网站建设网站建设技术合伙人的技术股份
  • 合肥网站建设方案网站空间代理