一种基于嵌入式操作系统的图形解码方法与流程

文档序号:11154243阅读:401来源:国知局
一种基于嵌入式操作系统的图形解码方法与制造工艺

本发明属于软件图形处理技术领域,特别是涉及一种基于嵌入式操作系统的图形解码方法。



背景技术:

随着通信和网络技术的飞速发展,多媒体及其视频流应用越来越广泛,同时用户也对视频传输速率和图像质量有更高的要求,但是目前多数播放器都是在PC机上运行,应用范围受到很大限制。。

随着嵌入式系统应用的逐渐普及,为保证嵌入式系统的顺利运行,嵌入式软件得到了快速发展,成为软件业的一股新生力量。嵌入式软件与嵌入式系统是密不可分的,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,就是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。而嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。



技术实现要素:

本发明的目的在于提供一种基于嵌入式操作系统的图形解码方法,通过图片文件解码转化成数据帧,将数据帧渲染到pixmap buffer中,调用Blit函数进行数据融合,此时图像数据已经被放置在window的buffer中,之后调用post window,设置window可见,最终将图片显示在显示器上。

本发明是通过以下技术方案实现的:

本发明为一种基于嵌入式操作系统的图形解码方法,包括如下步骤:

步骤一,建立screen context;

步骤二,在context建立window;

步骤三,设置window格式为ARGB8888;

步骤四,设置window大小,并建立buffer获得buffer句柄;

步骤五,将图片进行解码;

步骤六,设置pixma buffer为图片大小;

步骤七,建立pixmap buffer并获得buffer句柄;

步骤八,通过直接访问的形式将图形framebuffer拷贝到pixmap中;

步骤九,通过bit接口将pixmap渲染到window buffer;

步骤十,POST window显示图形。

优选地,所述window大小为1024乘以768。

优选地,所述步骤五中将图片进行解码通过解码器进行解码,通过调用程序枚举解码器。

优选地,所述步骤八通过直接访问的形式将图形framebuffer拷贝到pixmap中,通过调用程序将图片解码到framebuffer中,再拷贝到pixmap中。

本发明具有以下有益效果:

本发明针对screen在启动过程中需要读取一个配置文件来完成整个系统的初始化;通过图片文件解码转化成数据帧,将数据帧渲染到pixmap buffer中,调用Blit函数进行数据融合,此时图像数据已经被放置在window的buffer中,之后调用post window,设置window可见,最终将图片显示在显示器上。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种基于嵌入式操作系统的图形解码方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为一种基于嵌入式操作系统的图形解码方法,包括如下步骤:

步骤一,建立screen context;

步骤二,在context建立window;

步骤三,设置window格式为ARGB8888;

步骤四,设置window大小,并建立buffer获得buffer句柄;

步骤五,将图片进行解码;

步骤六,设置pixma buffer为图片大小;

步骤七,建立pixmap buffer并获得buffer句柄,这个buffer句柄为img,定义了framebuffer直接访问的接口以及包括图形大小、格式信息;

步骤八,通过直接访问的形式将图形framebuffer拷贝到pixmap中;

步骤九,通过bit接口将pixmap渲染到window buffer;

步骤十,POST window显示图形。

其中,window大小为1024乘以768。

其中,步骤五中将图片进行解码通过解码器进行解码,通过调用程序枚举解码器。

其中,步骤八通过直接访问的形式将图形framebuffer拷贝到pixmap中,通过调用程序将图片解码到framebuffer中,再拷贝到pixmap中。

其中,screen种图形显示相关的对象包括context(上下文)、windows(窗口)、pixmap(像素区域);pixmap和windows都包含缓冲区。

图像数据经历了由图片文件解码转化成数据帧,将数据帧渲染到pixmapbuffer中,调用Blit函数进行数据融合,此时图像数据已经被放置在window的buffer中,之后调用post window,设置window可见,最终将图片显示在显示器上。

针对操作系统所支持的图片格式,通过调用img_codec_list()列举已经安装的解码器;建立底层的输入源,这个输入源可能是来自TCP/IP或系统内存或文件,打开输入源,并确定输入格式,然后进行解码。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1