一种视频显示的控制方法
技术领域
本发明涉及一种视频显示的控制方法。
背景技术
车载设备的视频显示及处理一般需要专有的视频处理芯片实现特效显示,实现特效(如放大、缩小、半透、画中画)的方法一般都是通过微软提供的DirectShow接口实现。这就带来了一系列问题,如专有的视频处理芯片必然会增加***成本,通过DirectShow提供的接口实现特效,***CPU占用率较高,在***资源有限的情况下无法运行其他应用程序,如导航应用程序等。另一方面,通过DirectShow提供的接口实现特效,需要研发人员熟悉DirectShow编程。
发明内容
为了解决上述现有车载设备的视频显示及处理存在的问题,本发明提供一种基于directdraw的视频显示控制方法的设计方案。
一种视频显示的控制方法,包括以下步骤:(1)通过视频源选择单元进行视频源选择;(2)通过显示参数配置单元对选择的视频进行显示参数设置;(3)通过显示使能单元使能视频显示后显示视频;所述的视频源选择单元包括视频源选择接口及由其调用的视频源选择驱动单元;所述的显示参数配置单元包括显示参数配置接口及由其接调用的显示驱动单元;所述的显示使能单元包括显示使能接口及由其调用的显示使能驱动单元。
具体的,所述视频源选择单元的实现方法为:
(1)通过视频源选择接口调用视频源选择驱动单元选择视频源;
(2)视频源选择驱动单元访问视频设备,成功访问视频设备后进行设置视频源及获取视频的信号状态,若访问视频设备不成功或无法设置视频源或获取不到视频的信号状态则返回异常结果并结束调用。
(3)将该视频源是否存在正常信号的信息发送到显示参数配置单元。
更具体的,所述显示参数配置单元的实现方法为:
(1)显示参数配置单元判断是否有外部指令要求对显示参数进行配置,若有则通过显示参数配置接口调用显示驱动单元对选中的视频源的相应显示参数进行配置,否则则跳过显示参数配置;
(2)若无法成功配置显示参数则返回异常结果并结束调用;
(3)将该视频源成功配置显示参数的相关信息发送到显示使能单元。
更具体的,所述显示使能单元的实现方法为:
(1)通过显示使能接口调用的显示使能驱动单元使能视频显示;
(2)使能驱动单元通过directdraw创建视频表面,然后获取该视频表面内存地址,若无法创建视频表面或无法获取该视频表面内存地址则返回异常结果并结束调用;
(3)将获取的视频表面内存地址设置为视频写入的地址,并通过显示屏显示视频。
更具体的,步骤(3)可通过MCU内部的图像信号处理单元将视频表面内存地址设置为视屏写入地址,并将视频信号处理后通过显示屏显示。
进一步的,视频源选择驱动单元通过createfile对视频设备进行访问;通过DeviceIoControl设置视频源和获取视频的信号状态。
更进一步的,所述视频源包括但不限于车载DVD、外部存储设备上的视频以及车载摄像头。
综上所述,本发明具有以下有益效果:(1)对底层驱动进行打包封装,研发人员使用视频显示及处理的功能更加简单、方便;(2)通过封装directdraw接口,避开调用DirectShow接口进行视频显示,有效降低视频显示时CPU的占用率。
附图说明
图1为本发明所述一种视频显示的控制方法的整体流程示意图。
具体实施方式
为了让本领域的技术人员能够更好地了解本发明的技术方案,下面结合附图对本发明作进一步的阐述。
如图1所示,本发明揭示了一种视频显示的控制方法,包括以下步骤:(1)通过视频源选择单元进行视频源选择;(2)通过显示参数配置单元对选择的视频源进行显示参数设置;(3)通过显示使能单元使能视频显示后显示视频;所述的视频源选择单元包括视频源选择接口及由其调用的视频源选择驱动单元;所述的显示参数配置单元包括显示参数配置接口及由其接调用的显示驱动单元;所述的显示使能单元包括显示使能接口及由其调用的显示使能驱动单元。
具体实现方式如下:
通过视频源选择接口调用视频源选择驱动单元选择视频源,视频源可以是车载的DVD,也可以是连接到车载影音设备的USB存储器,或者是车载摄像头等;视频源选择驱动单元API“createfile”访问视频设备(此处的视频设备为一个逻辑抽象层),当成功访问视频设备后根据API“createfile”返回的句柄利用API“DiviceIoControl”进行设置视频源(通过设置视频源,即选择一具体的视频设备)及获取视频的信号状态(即判断选定的视频源是否有正常的视频信号),若访问视频设备不成功或无法设置视频源或获取不到视频的正常的信号状态则返回异常结果并结束调用。如果上述步骤都正常执行,这将该视频源的相关信息发送到显示参数配置单元。
若用户不使用默认的显示效果(如亮度、对比度、饱和度、画中画、半透等),还可以进行显示效果的自定义;显示参数配置单元判断是否有外部指令要求对显示参数进行配置,若有则通过显示参数配置接口调用显示驱动单元对选中的视频源的相应显示参数进行配置,否则则跳过显示参数配置;若无法成功配置显示参数则返回异常结果并结束调用;
配置好显示参数或者跳过显示参数配置后,将该视频源的相关信息发送到显示使能单元。
显示使能单元通过显示使能接口调用的显示使能驱动单元使能视频显示;使能驱动单元通过API“directdraw”创建视频表面,然后获取该视频表面内存地址,若无法创建视频表面或无法获取该视频表面内存地址则返回异常结果并结束调用;将获取的视频表面内存地址通过API“DiviceIoControl”设置为MCU内部的图像信号处理单元的视频写入的地址,并将视频信号处理后通过显示屏显示。
本发明将使能驱动单元内存地址(即视频表面内存地址)和MCU内部的图像信号处理单元的视频写入的地址关联,从而实现将视频输入进行显示的目的,这能够高效降低MCU(或CPU)的占用率达60%以上。
本实施例只是本发明的较优实施方式,需要说明的是,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。