CN113032041A - 一种编码方法、装置、电子设备以及计算机可读存储介质 - Google Patents
一种编码方法、装置、电子设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113032041A CN113032041A CN202110281670.5A CN202110281670A CN113032041A CN 113032041 A CN113032041 A CN 113032041A CN 202110281670 A CN202110281670 A CN 202110281670A CN 113032041 A CN113032041 A CN 113032041A
- Authority
- CN
- China
- Prior art keywords
- coding
- encoding
- display card
- version number
- software development
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种编码方法、装置、电子设备以及计算机可读存储介质。方法包括:响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包;利用所述编码软件开发工具包对所述待编码数据进行编码。该方法能够使得每一台编码设备的显卡都能发挥新版本的全部性能,应用新特性。
Description
技术领域
本发明涉及编码技术领域,尤其是涉及一种编码方法、装置、电子设备以及计算机可读存储介质。
背景技术
随着人们对音视频质量的要求越来越高,以及硬件算力的不断增强,音视频编解码技术也在不断地迭代、发展。从2014年至今为止,Nvidia官方共发布了11个视频编解码相关的NVENC/VideoCodecSDK版本,每个版本都带着与新一代硬件相匹配的特性和性能提升。但是这些版本并非向下兼容,各自都对驱动版本有限制区间,在实际应用过程中,都是使用其中一个版本,如果选择的版本较新,则驱动版本相对较低的显卡将无法使用编解码能力;反之驱动版本较新的显卡则无法发挥新版本的全部性能、应用新特性。
发明内容
本发明提供一种编码方法、装置、电子设备以及计算机可读存储介质,该方法能够使得每一台编码设备的显卡都能发挥新版本的全部性能,应用新特性。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种编码方法,包括:响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包;利用所述编码软件开发工具包对所述待编码数据进行编码。
其中,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号的步骤之前,包括:获取编码应用程序接口;对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包。
其中,所述获取编码应用程序接口包括:利用动态引入的方式获取所述编码应用程序接口。
其中,所述利用动态引入的方式获取所述编码应用程序接口包括:使用所述编码应用程序接口加载程序库,以获取动态链接库的句柄;检测所述动态链接库的返回值,若所述返回值显示加载成功,则获取所述编码应用程序接口。
其中,所述对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包,包括:利用空间命名的方式对所述编码应用程序接口进行封装;对封装后的所述编码应用程序接口进行单独编译,进而得到所述多个编码软件开发工具包。
其中,所述方法还包括:通过应用包装秤对所述多个编码软件开发工具包进行封装。
其中,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号包括:读取注册表信息,进而得到所述编码设备的显卡驱动版本号;或者读取系统文件,进而得到所述编码设备的显卡驱动版本号。
其中,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号包括:执行显卡组件中的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号。
其中,所述执行显卡组件中的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号,包括:创建数据传输通道以及读写句柄,以使得所述显卡驱动模块通过所述数据传输通道输出执行信息,并通过所述读写句柄对所述执行信息进行读、写;根据所述执行信息判断是否成功执行所述显卡驱动模块;若是,则关闭所述传输通道以及写句柄,基于读句柄读取所述执行信息中的所述返回信息,并关闭所述读句柄;根据所述返回信息得到所述编码设备的显卡驱动版本号。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种编码装置,包括:获取模块,用于响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;选择模块,用于基于所述显卡驱动版本号从多个编码软件开发工具包选择与所述显卡匹配的编码软件开发工具包;编码模块,用于利用所述编码软件开发工具包对所述待编码数据进行编码。
为解决上述技术问题,本发明提供的第三个技术方案为:提供一种电子设备,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行上述任一项所述的方法。
为解决上述技术问题,本发明提供的第四个技术方案为:提供一种计算机可读存储介质,存储有程序文件,所述程序文件能够被执行以实现上述任一项所述的方法。
本发明的有益效果,区别于现有技术的情况,本发明响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包;利用所述编码软件开发工具包对所述待编码数据进行编码。以此能够使得每一台编码设备的显卡都能发挥新版本的全部性能,应用新特性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本发明编码方法的第一实施例的流程示意图;
图2为本发明编码方法的第二实施例的流程示意图;
图3为本发明编码装置的一实施例的结构示意图;
图4为本发明电子设备的一实施例的结构示意图;
图5为本发明计算机可读存储介质的一实施例的结构示意图。
具体实施方式
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,为本发明编码方法的第一实施例的流程示意图。具体包括:
步骤S11:响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号。
具体地,在对待编码数据进行编码时,获取编码设备的显卡驱动版本号。待编码数据可以为视频数据,还可以为音频数据。编码设备可以为手机、电脑等具有显卡编码功能的设备。
由于显卡没有提供直接获取驱动版本号的接口,因此需要采用其他方式获取驱动版本。在一实施例中,可以读取注册表信息,进而得到所述编码设备的显卡驱动版本号。或者还可以读取系统文件,进而得到所述编码设备的显卡驱动版本号。
在另一实施例中,还可以通过调用命令执行管道,执行显卡组件目录下的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号。具体地,创建数据传输通道以及读写句柄,以使得显卡驱动模块通过所述数据传输通道输出执行信息,并通过所述读写句柄对所述执行信息进行读、写。具体地,根据所述执行信息判断是否成功执行所述显卡驱动模块;若成功执行先去驱动模块,则关闭所述传输通道以及写句柄,基于读句柄读取所述执行信息中的所述返回信息,并关闭所述读句柄;根据所述返回信息得到所述编码设备的显卡驱动版本号。
步骤S12:基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包。
具体地,在获取到显卡驱动版本号之后,根据显卡驱动版本号从多个编码软件开发工具包中选择与显卡匹配的编码软件开发工具包。
步骤S13:利用所述编码软件开发工具包对所述待编码数据进行编码。
利用选择的编码软件开发工具包对待编码数据进行编码。
本实施例所示方法,其能够根据显卡的驱动版本号选择适合显卡的编码软件开发工具包,是的显卡在进行数据编码时能够发挥新版本的全部性能,应用新特性。
请参见图2,为本发明编码方法的第二实施例的流程示意图,具体地,本实施例中步骤S23、步骤S24以及步骤S25与上述图1所示的第一实施例中的步骤S11、步骤S12以及步骤S13相同。与上述图1所示的第一实施例区别在于步骤S23之前还包括:
步骤S21:获取编码应用程序接口。
具体的,在windows平台上,Nvidia显卡厂商已经在应用层封装了编解码相关的库文件,这些库文件用于跟硬件接口打交道,在安装了对应Nvidia显卡驱动后,系统环境中即存在了编解码相关的库文件,在进行编码时,则需要选择合适的硬件接口。具体地,获取编码应用程序接口。在一实施例中,可以利用动态引入的方式获取所述编码应用程序接口,此处用到的库文件为nvEncodeAPI.dll。动态引入的方式就是使用windows的编码应用程序接口加载程序库,获取动态链接库的句柄。以此不需要在程序的开始处就把要引入的例程全部列出,只需要在调用前引入即可。并且加载程序库可以指定不同的动态链接库的句柄,如果指定的动态链接库出错,仅仅是调用编码应用程序接口失败,不会导致程序中止。因此需要检测所述动态链接库的返回值,若所述返回值显示加载成功,则获取所述编码应用程序接口,若返回值显示加载失败,则退出当前流程。
步骤S22:对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包。
具体地,可以先利用空间命名的方式对所述编码应用程序接口进行封装。在一实施例中,获取到的编码应用程序接口都具有其对应的头文件,可以利用空间命名的方式把每个头文件封装,以使得每一编码应用程序接口都具有其唯一的命名文件。进一步的,可以对封装后的所述编码应用程序接口进行单独编译,进而得到所述多个编码软件开发工具包,以此能够将多个编码软件开发工具包编译秤静态库,时期互不干扰。
在另一实施例中,还可以通过应用包装秤对所述多个编码软件开发工具包进行封装。具体地,应用包装秤在被创建时获取当前编码设备的显卡驱动版本号,以此在进行编码时,可以根据显卡驱动版本号选则匹配的编码软件开发工具包。
本实施例通过空间命名、静态库、应用包装秤等封装方法进行封装,实现了兼容性强多版本编码软件开发工具包,在进行编码时,根据显卡的驱动版本号选择适合显卡的编码软件开发工具包,是的显卡在进行数据编码时能够发挥新版本的全部性能,应用新特性。
请参见图3,为本发明编码装置的一实施例的结构示意图。具体地,本实施例的编码装置30包括获取模块31、选择模块32以及编码模块33。
其中,获取模块31用于响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号。
具体地,在对待编码数据进行编码时,获取编码设备的显卡驱动版本号。待编码数据可以为视频数据,还可以为音频数据。编码设备可以为手机、电脑等具有显卡编码功能的设备。
由于显卡没有提供直接获取驱动版本号的接口,因此需要采用其他方式获取驱动版本。在一实施例中,可以读取注册表信息,进而得到所述编码设备的显卡驱动版本号。或者还可以读取系统文件,进而得到所述编码设备的显卡驱动版本号。
在另一实施例中,还可以通过调用命令执行管道,执行显卡组件目录下的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号。具体地,创建数据传输通道以及读写句柄,以使得显卡驱动模块通过所述数据传输通道输出执行信息,并通过所述读写句柄对所述执行信息进行读、写。具体地,根据所述执行信息判断是否成功执行所述显卡驱动模块;若成功执行先去驱动模块,则关闭所述传输通道以及写句柄,基于读句柄读取所述执行信息中的所述返回信息,并关闭所述读句柄;根据所述返回信息得到所述编码设备的显卡驱动版本号。
进一步的,在一实施例中,获取模块31还用于获取编码应用程序接口。
具体地,在windows平台上,Nvidia显卡厂商已经在应用层封装了编解码相关的库文件,这些库文件用于跟硬件接口打交道,在安装了对应Nvidia显卡驱动后,系统环境中即存在了编解码相关的库文件,在进行编码时,则需要选择合适的硬件接口。具体地,获取编码应用程序接口。在一实施例中,可以利用动态引入的方式获取所述编码应用程序接口,此处用到的库文件为nvEncodeAPI.dll。动态引入的方式就是使用windows的编码应用程序接口加载程序库,获取动态链接库的句柄。以此不需要在程序的开始处就把要引入的例程全部列出,只需要在调用前引入即可。并且加载程序库可以指定不同的动态链接库的句柄,如果指定的动态链接库出错,仅仅是调用编码应用程序接口失败,不会导致程序中止。因此需要检测所述动态链接库的返回值,若所述返回值显示加载成功,则获取所述编码应用程序接口,若返回值显示加载失败,则退出当前流程。
进一步的,在一实施例中,获取模块31还用于对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包。
具体地,可以先利用空间命名的方式对所述编码应用程序接口进行封装。在一实施例中,获取到的编码应用程序接口都具有其对应的头文件,可以利用空间命名的方式把每个头文件封装,以使得每一编码应用程序接口都具有其唯一的命名文件。进一步的,可以对封装后的所述编码应用程序接口进行单独编译,进而得到所述多个编码软件开发工具包,以此能够将多个编码软件开发工具包编译秤静态库,时期互不干扰。
在另一实施例中,还可以通过应用包装秤对所述多个编码软件开发工具包进行封装。具体地,应用包装秤在被创建时获取当前编码设备的显卡驱动版本号,以此在进行编码时,可以根据显卡驱动版本号选则匹配的编码软件开发工具包。
选择模块32用于基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包。
具体地,在获取到显卡驱动版本号之后,根据显卡驱动版本号从多个编码软件开发工具包中选择与显卡匹配的编码软件开发工具包。
编码模块33用于利用所述编码软件开发工具包对所述待编码数据进行编码。
利用选择的编码软件开发工具包对待编码数据进行编码。
本实施例所示编码装置,其能够根据显卡的驱动版本号选择适合显卡的编码软件开发工具包,是的显卡在进行数据编码时能够发挥新版本的全部性能,应用新特性。
请参见图4,为本发明电子设备的一实施例的结构示意图,电子设备包括相互连接的存储器202和处理器201。
存储器202用于存储实现上述任意一项方法的程序指令。
处理器201用于执行存储器202存储的程序指令。
其中,处理器201还可以称为CPU(Central Processing Unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器202可以为内存条、TF卡等,可以存储设备的电子设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,电子设备才有记忆功能,才能保证正常工作。电子设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图5,为本发明计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有方法的程序文件203,其中,该程序文件203可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种编码方法,其特征在于,包括:
响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;
基于所述显卡驱动版本号从多个编码软件开发工具包选择与显卡匹配的编码软件开发工具包;
利用所述编码软件开发工具包对所述待编码数据进行编码。
2.根据权利要求1所述的编码方法,其特征在于,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号的步骤之前,包括:
获取编码应用程序接口;
对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包。
3.根据权利要求2所述的编码方法,其特征在于,所述获取编码应用程序接口包括:
利用动态引入的方式获取所述编码应用程序接口。
4.根据权利要求3所述的编码方法,其特征在于,所述利用动态引入的方式获取所述编码应用程序接口包括:
使用所述编码应用程序接口加载程序库,以获取动态链接库的句柄;
检测所述动态链接库的返回值,若所述返回值显示加载成功,则获取所述编码应用程序接口。
5.根据权利要求2所述的编码方法,其特征在于,所述对所述编码应用程序接口进行封装,进而得到所述多个编码软件开发工具包,包括:
利用空间命名的方式对所述编码应用程序接口进行封装;
对封装后的所述编码应用程序接口进行单独编译,进而得到所述多个编码软件开发工具包。
6.根据权利要求5所述的编码方法,其特征在于,所述方法还包括:
通过应用包装秤对所述多个编码软件开发工具包进行封装。
7.根据权利要求1所述的编码方法,其特征在于,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号包括:
读取注册表信息,进而得到所述编码设备的显卡驱动版本号;或者
读取系统文件,进而得到所述编码设备的显卡驱动版本号。
8.根据权利要求1所述的编码方法,其特征在于,所述响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号包括:
执行显卡组件中的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号。
9.根据权利要求8所述的方法,其特征在于,所述执行显卡组件中的显卡驱动模块,并截取执行过程中的返回信息,进而得到所述编码设备的显卡驱动版本号,包括:
创建数据传输通道以及读写句柄,以使得所述显卡驱动模块通过所述数据传输通道输出执行信息,并通过所述读写句柄对所述执行信息进行读、写;
根据所述执行信息判断是否成功执行所述显卡驱动模块;
若是,则关闭所述传输通道以及写句柄,基于读句柄读取所述执行信息中的所述返回信息,并关闭所述读句柄;
根据所述返回信息得到所述编码设备的显卡驱动版本号。
10.一种编码装置,其特征在于,包括:
获取模块,用于响应于对待编码数据进行编码,获取编码设备的显卡驱动版本号;
选择模块,用于基于所述显卡驱动版本号从多个编码软件开发工具包选择与所述显卡匹配的编码软件开发工具包;
编码模块,用于利用所述编码软件开发工具包对所述待编码数据进行编码。
11.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,存储有程序文件,所述程序文件能够被执行以实现如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281670.5A CN113032041A (zh) | 2021-03-16 | 2021-03-16 | 一种编码方法、装置、电子设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281670.5A CN113032041A (zh) | 2021-03-16 | 2021-03-16 | 一种编码方法、装置、电子设备以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032041A true CN113032041A (zh) | 2021-06-25 |
Family
ID=76471107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281670.5A Pending CN113032041A (zh) | 2021-03-16 | 2021-03-16 | 一种编码方法、装置、电子设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032041A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880020A (zh) * | 2022-06-01 | 2022-08-09 | 北京百度网讯科技有限公司 | 软件开发工具包管理方法、相关装置及计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216929A (zh) * | 2007-12-26 | 2008-07-09 | 广东威创视讯科技股份有限公司 | 一种处理图像的方法 |
CN101477702A (zh) * | 2009-02-06 | 2009-07-08 | 南京师范大学 | 计算机显卡的植入式真三维立体驱动方法 |
CN102902910A (zh) * | 2011-07-28 | 2013-01-30 | 腾讯科技(深圳)有限公司 | 驱动保护方法及系统 |
-
2021
- 2021-03-16 CN CN202110281670.5A patent/CN113032041A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216929A (zh) * | 2007-12-26 | 2008-07-09 | 广东威创视讯科技股份有限公司 | 一种处理图像的方法 |
CN101477702A (zh) * | 2009-02-06 | 2009-07-08 | 南京师范大学 | 计算机显卡的植入式真三维立体驱动方法 |
CN102902910A (zh) * | 2011-07-28 | 2013-01-30 | 腾讯科技(深圳)有限公司 | 驱动保护方法及系统 |
Non-Patent Citations (1)
Title |
---|
ITHEWEI: "FFmpeg编译with NVIDIA硬件加速", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/GG_SiMiDa/article/details/81303876> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880020A (zh) * | 2022-06-01 | 2022-08-09 | 北京百度网讯科技有限公司 | 软件开发工具包管理方法、相关装置及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228188B (zh) | 一种视图组件处理方法、电子设备及可读存储介质 | |
CN109697060B (zh) | 视频特效系统及其生成方法、装置、设备和存储介质 | |
EP1749266B1 (en) | System and method to conditionally shrink an executable module | |
CN106850650B (zh) | 用于游戏客户端访问数据的方法及客户端游戏系统 | |
CN112667246B (zh) | 应用功能扩展的方法、装置及电子设备 | |
CN110007985B (zh) | 小程序音乐播放器组件调用方法及设备 | |
CN108345458B (zh) | 一种静态编译语言与脚本语言的调用方法及系统 | |
CN113032041A (zh) | 一种编码方法、装置、电子设备以及计算机可读存储介质 | |
JP2019509547A (ja) | Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体 | |
CN111625290A (zh) | 一种Android平台下布局文件预加载方法、装置及电子设备 | |
JP2019523480A (ja) | Nandストレージデバイスのためのプリエンプティブ圧縮解除スケジューリング | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN111971655A (zh) | 用于超文本标记语言图形内容的本机运行时技术 | |
WO2014024255A1 (ja) | 端末および動画再生プログラム | |
CN110795388B (zh) | 一种二进制文件的处理方法、系统、设备及可读存储介质 | |
CN113238821A (zh) | 数据处理的加速方法、装置、电子设备及存储介质 | |
CN106897588B (zh) | 一种标签函数的处理方法及装置 | |
CN111399932A (zh) | 调用dll的方法、系统、浏览器的处理方法和浏览器 | |
US8627267B2 (en) | Apparatus and method for initializing system global variables by using multiple load/store instructions | |
CN118276929A (zh) | 一种二进制文件的跨平台兼容方法、设备、装置和系统 | |
CN113032045A (zh) | 应用程序的启动方法以及相关装置、设备 | |
CN104462249A (zh) | 网页加载方法和装置 | |
CN105094865A (zh) | 加载自定义ie内核的方法和装置 | |
CN115421667A (zh) | Kv缓存数据处理方法及装置 | |
CN113342330A (zh) | 前端工程生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |