• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# AVCapability
2
3
4## 概述
5
6AVCapability模块提供用于编解码能力查询的函数。
7
8**系统能力:** SystemCapability.Multimedia.Media.CodecBase
9
10**起始版本:**
11
1210
13
14
15## 汇总
16
17
18### 文件
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [native_avcapability.h](native__avcapability_8h.md) | 声明用于编解码能力查询到的Native API。<br>**引用文件**:<multimedia/player_framework/native_avcapability.h> <br>**库**:libnative_media_codecbase.so|
23
24
25### 结构体
26
27| 名称 | 描述 |
28| -------- | -------- |
29| struct&nbsp;&nbsp;[OH_AVRange](_o_h___a_v_range.md) | 范围包含最小值和最大值。 |
30
31
32### 类型定义
33
34| 名称 | 描述 |
35| -------- | -------- |
36| typedef struct [OH_BitrateMode](#oh_bitratemode-1) [OH_BitrateMode](#oh_bitratemode) | 编码器的比特率模式。 |
37| typedef struct [OH_AVRange](#oh_avrange-1) [OH_AVRange](#oh_avrange) | 范围包含最小值和最大值。 |
38| typedef enum [OH_AVCodecCategory](#oh_avcodeccategory-1) [OH_AVCodecCategory](#oh_avcodeccategory) | 编解码器类别。 |
39
40
41### 枚举
42
43| 名称 | 描述 |
44| -------- | -------- |
45| [OH_BitrateMode](#oh_bitratemode-1) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;BITRATE_MODE_CBR = 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;BITRATE_MODE_VBR = 1,<br/>&nbsp;&nbsp;&nbsp;&nbsp;BITRATE_MODE_CQ = 2<br/>} | 编码器的比特率模式。 |
46| [OH_AVCodecCategory](#oh_avcodeccategory-1) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;HARDWARE = 0,<br/>&nbsp;&nbsp;&nbsp;&nbsp;SOFTWARE<br/>} | 编解码器类别。 |
47
48
49### 函数
50
51| 名称 | 描述 |
52| -------- | -------- |
53| OH_AVCapability \*[OH_AVCodec_GetCapability](#oh_avcodec_getcapability) (const char \*mime, bool isEncoder) | 获取系统推荐的编解码器能力。 |
54| OH_AVCapability \*[OH_AVCodec_GetCapabilityByCategory](#oh_avcodec_getcapabilitybycategory) (const char \*mime, bool isEncoder, [OH_AVCodecCategory](#oh_avcodeccategory) category) | 获取指定类别中的编解码器能力。通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。 |
55| bool [OH_AVCapability_IsHardware](#oh_avcapability_ishardware) (OH_AVCapability \*capability) | 检查能力实例是否描述了硬件编解码器。 |
56| const char \*[OH_AVCapability_GetName](#oh_avcapability_getname) (OH_AVCapability \*capability) | 获取编解码器名称。 |
57| int32_t [OH_AVCapability_GetMaxSupportedInstances](#oh_avcapability_getmaxsupportedinstances) (OH_AVCapability \*capability) | 获取编解码器支持的最大实例数。 |
58| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderBitrateRange](#oh_avcapability_getencoderbitraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*bitrateRange) | 获取编码器支持的比特率范围。 |
59| bool [OH_AVCapability_IsEncoderBitrateModeSupported](#oh_avcapability_isencoderbitratemodesupported) (OH_AVCapability \*capability, [OH_BitrateMode](#oh_bitratemode) bitrateMode) | 检查编码器是否支持特定的比特率模式。 |
60| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderQualityRange](#oh_avcapability_getencoderqualityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*qualityRange) | 获取编码器支持的质量范围。 |
61| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetEncoderComplexityRange](#oh_avcapability_getencodercomplexityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*complexityRange) | 获取编码器支持的编码器复杂性范围。 |
62| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetAudioSupportedSampleRates](#oh_avcapability_getaudiosupportedsamplerates) (OH_AVCapability \*capability, const int32_t \*\*sampleRates, uint32_t \*sampleRateNum) | 获取音频编解码器支持的采样速率。 |
63| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetAudioChannelCountRange](#oh_avcapability_getaudiochannelcountrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*channelCountRange) | 获取音频编解码器支持的音频通道计数范围。 |
64| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthAlignment](#oh_avcapability_getvideowidthalignment) (OH_AVCapability \*capability, int32_t \*widthAlignment) | 获取视频编解码器支持的视频宽度对齐。 |
65| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoHeightAlignment](#oh_avcapability_getvideoheightalignment) (OH_AVCapability \*capability, int32_t \*heightAlignment) | 获取视频编解码器支持的视频高度对齐。 |
66| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthRangeForHeight](#oh_avcapability_getvideowidthrangeforheight) (OH_AVCapability \*capability, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取指定高度情况下视频编解码器支持的视频宽度范围。 |
67| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoHeightRangeForWidth](#oh_avcapability_getvideoheightrangeforwidth) (OH_AVCapability \*capability, int32_t width, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取指定宽度情况下视频编解码器支持的视频高度范围。 |
68| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoWidthRange](#oh_avcapability_getvideowidthrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取视频编解码器支持的视频宽度范围。 |
69| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoHeightRange](#oh_avcapability_getvideoheightrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取视频编解码器支持的视频高度范围。 |
70| bool [OH_AVCapability_IsVideoSizeSupported](#oh_avcapability_isvideosizesupported) (OH_AVCapability \*capability, int32_t width, int32_t height) | 检查视频编解码器是否支持特定的视频大小。 |
71| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoFrameRateRange](#oh_avcapability_getvideoframeraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取视频编解码器支持的视频帧率范围。 |
72| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoFrameRateRangeForSize](#oh_avcapability_getvideoframeraterangeforsize) (OH_AVCapability \*capability, int32_t width, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取指定视频大小的视频编解码器支持的视频帧率范围。 |
73| bool [OH_AVCapability_AreVideoSizeAndFrameRateSupported](#oh_avcapability_arevideosizeandframeratesupported) (OH_AVCapability \*capability, int32_t width, int32_t height, int32_t frameRate) | 检查视频编解码器是否支持视频大小和帧率的特定组合。 |
74| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetVideoSupportedPixelFormats](#oh_avcapability_getvideosupportedpixelformats) (OH_AVCapability \*capability, const int32_t \*\*pixelFormats, uint32_t \*pixelFormatNum) | 获取视频编解码器支持的视频像素格式。 |
75| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetSupportedProfiles](#oh_avcapability_getsupportedprofiles) (OH_AVCapability \*capability, const int32_t \*\*profiles, uint32_t \*profileNum) | 获取编解码器支持的配置文件。 |
76| [OH_AVErrCode](_core.md#oh_averrcode) [OH_AVCapability_GetSupportedLevelsForProfile](#oh_avcapability_getsupportedlevelsforprofile) (OH_AVCapability \*capability, int32_t profile, const int32_t \*\*levels, uint32_t \*levelNum) | 获取特定配置文件支持的编解码器级别。 |
77| bool [OH_AVCapability_AreProfileAndLevelSupported](#oh_avcapability_areprofileandlevelsupported) (OH_AVCapability \*capability, int32_t profile, int32_t level) | 检查编解码器是否支持配置文件和级别的特定组合。 |
78
79## 类型定义说明
80
81
82### OH_AVCodecCategory
83
84
85```
86typedef enum OH_AVCodecCategory OH_AVCodecCategory
87```
88
89**描述**
90
91编解码器类别。
92
93**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
94
95**起始版本:**
96
9710
98
99
100### OH_AVRange
101
102
103```
104typedef struct OH_AVRange OH_AVRange
105```
106
107**描述**
108
109范围包含最小值和最大值。
110
111**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
112
113**起始版本:**
114
11510
116
117
118### OH_BitrateMode
119
120
121```
122typedef enum OH_BitrateMode OH_BitrateMode
123```
124
125**描述**
126
127编码器的比特率模式。
128
129**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
130
131**起始版本:**
132
13310
134
135
136## 枚举类型说明
137
138
139### OH_AVCodecCategory
140
141
142```
143enum OH_AVCodecCategory
144```
145
146**描述**
147
148编解码器类别。
149
150**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
151
152**起始版本:**
153
15410
155
156| 枚举值 | 描述 |
157| -------- | -------- |
158| HARDWARE | 硬件编解码。 |
159| SOFTWARE | 软件编解码。 |
160
161
162### OH_BitrateMode
163
164
165```
166enum OH_BitrateMode
167```
168
169**描述**
170
171编码器的比特率模式。
172
173**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
174
175**起始版本:**
176
17710
178
179| 枚举值 | 描述 |
180| -------- | -------- |
181| BITRATE_MODE_CBR | 恒定比特率模式。 |
182| BITRATE_MODE_VBR | 可变比特率模式。 |
183| BITRATE_MODE_CQ | 恒定质量模式。 |
184
185
186## 函数说明
187
188
189### OH_AVCapability_AreProfileAndLevelSupported()
190
191
192```
193bool OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level)
194```
195
196**描述**
197
198检查编解码器是否支持配置文件和级别的特定组合。
199
200**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
201
202**参数:**
203
204| 名称 | 描述 |
205| -------- | -------- |
206| capability | 编解码能力指针 |
207| profile | 编解码器配置文件 |
208| level | 编解码器级别 |
209
210**返回:**
211
212如果支持配置文件和级别的组合,则返回true。 如果不支持,则为false。
213
214**起始版本:**
215
21610
217
218
219### OH_AVCapability_AreVideoSizeAndFrameRateSupported()
220
221
222```
223bool OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate)
224```
225
226**描述**
227
228检查视频编解码器是否支持视频大小和帧率的特定组合。
229
230**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
231
232**参数:**
233
234| 名称 | 描述 |
235| -------- | -------- |
236| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
237| width | 视频水平像素数。 |
238| height | 视频垂直像素数。 |
239| frameRate | 每秒帧数。 |
240
241**返回:**
242
243如果支持视频大小和帧率的组合,则返回true。 如果不支持,则为false。
244
245**起始版本:**
246
24710
248
249
250### OH_AVCapability_GetAudioChannelCountRange()
251
252
253```
254OH_AVErrCode OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability *capability, OH_AVRange *channelCountRange)
255```
256
257**描述**
258
259获取音频编解码器支持的音频通道计数范围。
260
261**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
262
263**参数:**
264
265| 名称 | 描述 |
266| -------- | -------- |
267| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 |
268| channelCountRange | 输出参数。音频通道计数范围。 |
269
270**返回:**
271
272如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
273
274**起始版本:**
275
27610
277
278
279### OH_AVCapability_GetAudioSupportedSampleRates()
280
281
282```
283OH_AVErrCode OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability *capability, const int32_t **sampleRates, uint32_t *sampleRateNum)
284```
285
286**描述**
287
288获取音频编解码器支持的采样速率。
289
290**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
291
292**参数:**
293
294| 名称 | 描述 |
295| -------- | -------- |
296| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 |
297| sampleRates | 输出参数。指向采样速率数组的指针。 |
298| sampleRateNum | 输出参数。采样率数组的元素数目。 |
299
300**返回:**
301
302如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
303
304**起始版本:**
305
30610
307
308
309### OH_AVCapability_GetEncoderBitrateRange()
310
311
312```
313OH_AVErrCode OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability *capability, OH_AVRange *bitrateRange)
314```
315
316**描述**
317
318获取编码器支持的比特率范围。
319
320**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
321
322**参数:**
323
324| 名称 | 描述 |
325| -------- | -------- |
326| capability | 编码器能力指针。不能填入解码器能力指针。 |
327| bitrateRange | 输出参数。编码器码率范围。 |
328
329**返回:**
330
331如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
332
333**起始版本:**
334
33510
336
337
338### OH_AVCapability_GetEncoderComplexityRange()
339
340
341```
342OH_AVErrCode OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability *capability, OH_AVRange *complexityRange)
343```
344
345**描述**
346
347获取编码器支持的编码器复杂性范围。
348
349**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
350
351**参数:**
352
353| 名称 | 描述 |
354| -------- | -------- |
355| capability | 编码器能力指针。不能填入解码器能力指针。 |
356| complexityRange | 输出参数。编码器复杂度范围。 |
357
358**返回:**
359
360如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
361
362**起始版本:**
363
36410
365
366
367### OH_AVCapability_GetEncoderQualityRange()
368
369
370```
371OH_AVErrCode OH_AVCapability_GetEncoderQualityRange (OH_AVCapability *capability, OH_AVRange *qualityRange)
372```
373
374**描述**
375
376获取编码器支持的质量范围。
377
378**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
379
380**参数:**
381
382| 名称 | 描述 |
383| -------- | -------- |
384| capability | 编码器能力指针。不能填入解码器能力指针。 |
385| qualityRange | 输出参数。编码器质量范围。 |
386
387**返回:**
388
389如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
390
391**起始版本:**
392
39310
394
395
396### OH_AVCapability_GetMaxSupportedInstances()
397
398
399```
400int32_t OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability *capability)
401```
402
403**描述**
404
405获取编解码器支持的最大实例数。
406
407**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
408
409**参数:**
410
411| 名称 | 描述 |
412| -------- | -------- |
413| capability | 编解码能力指针。 |
414
415**返回:**
416
417返回支持的最大编解码器实例数。
418
419**起始版本:**
420
42110
422
423
424### OH_AVCapability_GetName()
425
426
427```
428const char* OH_AVCapability_GetName (OH_AVCapability *capability)
429```
430
431**描述**
432
433获取编解码器名称。
434
435**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
436
437**参数:**
438
439| 名称 | 描述 |
440| -------- | -------- |
441| capability | 编解码能力指针。 |
442
443**返回:**
444
445返回编解码器名称字符串。
446
447**起始版本:**
448
44910
450
451
452### OH_AVCapability_GetSupportedLevelsForProfile()
453
454
455```
456OH_AVErrCode OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability *capability, int32_t profile, const int32_t **levels, uint32_t *levelNum)
457```
458
459**描述**
460
461获取特定配置文件支持的编解码器级别。
462
463**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
464
465**参数:**
466
467| 名称 | 描述 |
468| -------- | -------- |
469| capability | 编解码能力指针。 |
470| profile | 编解码器配置文件。 |
471| levels | 输出参数。指向级别数组的指针。 |
472| levelNum | 输出参数。级别数组的元素数目。 |
473
474**返回:**
475
476如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
477
478**起始版本:**
479
48010
481
482
483### OH_AVCapability_GetSupportedProfiles()
484
485
486```
487OH_AVErrCode OH_AVCapability_GetSupportedProfiles (OH_AVCapability *capability, const int32_t **profiles, uint32_t *profileNum)
488```
489
490**描述**
491
492获取编解码器支持的配置文件。
493
494**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
495
496**参数:**
497
498| 名称 | 描述 |
499| -------- | -------- |
500| capability | 编解码能力指针。 |
501| profiles | 输出参数。指向配置文件数组的指针。 |
502| profileNum | 输出参数。配置文件数组的元素数目。 |
503
504**返回:**
505
506如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
507
508**起始版本:**
509
51010
511
512
513### OH_AVCapability_GetVideoFrameRateRange()
514
515
516```
517OH_AVErrCode OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability *capability, OH_AVRange *frameRateRange)
518```
519
520**描述**
521
522获取视频编解码器支持的视频帧率范围。
523
524**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
525
526**参数:**
527
528| 名称 | 描述 |
529| -------- | -------- |
530| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
531| frameRateRange | 输出参数。视频帧率范围。 |
532
533**返回:**
534
535如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
536
537**起始版本:**
538
53910
540
541
542### OH_AVCapability_GetVideoFrameRateRangeForSize()
543
544
545```
546OH_AVErrCode OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability *capability, int32_t width, int32_t height, OH_AVRange *frameRateRange)
547```
548
549**描述**
550
551获取指定视频大小的视频编解码器支持的视频帧率范围。
552
553**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
554
555**参数:**
556
557| 名称 | 描述 |
558| -------- | -------- |
559| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
560| width | 视频水平像素数。 |
561| height | 视频垂直像素数。 |
562| frameRateRange | 输出参数。视频帧率范围。 |
563
564**返回:**
565
566如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
567
568**起始版本:**
569
57010
571
572
573### OH_AVCapability_GetVideoHeightAlignment()
574
575
576```
577OH_AVErrCode OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability *capability, int32_t *heightAlignment)
578```
579
580**描述**
581
582获取视频编解码器支持的视频高度对齐。
583
584**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
585
586**参数:**
587
588| 名称 | 描述 |
589| -------- | -------- |
590| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
591| heightAlignment | 输出参数。视频高度对齐。 |
592
593**返回:**
594
595如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
596
597**起始版本:**
598
59910
600
601
602### OH_AVCapability_GetVideoHeightRange()
603
604
605```
606OH_AVErrCode OH_AVCapability_GetVideoHeightRange (OH_AVCapability *capability, OH_AVRange *heightRange)
607```
608
609**描述**
610
611获取视频编解码器支持的视频高度范围。
612
613**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
614
615**参数:**
616
617| 名称 | 描述 |
618| -------- | -------- |
619| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
620| heightRange | 输出参数。视频高度范围。 |
621
622**返回:**
623
624如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
625
626**起始版本:**
627
62810
629
630
631### OH_AVCapability_GetVideoHeightRangeForWidth()
632
633
634```
635OH_AVErrCode OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability *capability, int32_t width, OH_AVRange *heightRange)
636```
637
638**描述**
639
640获取指定宽度情况下视频编解码器支持的视频高度范围。
641
642**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
643
644**参数:**
645
646| 名称 | 描述 |
647| -------- | -------- |
648| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
649| width | 视频水平像素数。 |
650| heightRange | 输出参数。视频高度范围。 |
651
652**返回:**
653
654如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
655
656**起始版本:**
657
65810
659
660
661### OH_AVCapability_GetVideoSupportedPixelFormats()
662
663
664```
665OH_AVErrCode OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability *capability, const int32_t **pixelFormats, uint32_t *pixelFormatNum)
666```
667
668**描述**
669
670获取视频编解码器支持的视频像素格式。
671
672**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
673
674**参数:**
675
676| 名称 | 描述 |
677| -------- | -------- |
678| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
679| pixelFormats | 输出参数。指向视频像素格式数组的指针。 |
680| pixelFormatNum | 输出参数。像素格式数组的元素数目。 |
681
682**返回:**
683
684如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
685
686**起始版本:**
687
68810
689
690
691### OH_AVCapability_GetVideoWidthAlignment()
692
693
694```
695OH_AVErrCode OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability *capability, int32_t *widthAlignment)
696```
697
698**描述**
699
700获取视频编解码器支持的视频宽度对齐。
701
702**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
703
704**参数:**
705
706| 名称 | 描述 |
707| -------- | -------- |
708| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
709| widthAlignment | 输出参数。视频宽度对齐 |
710
711**返回:**
712
713如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
714
715**起始版本:**
716
71710
718
719
720### OH_AVCapability_GetVideoWidthRange()
721
722
723```
724OH_AVErrCode OH_AVCapability_GetVideoWidthRange (OH_AVCapability *capability, OH_AVRange *widthRange)
725```
726
727**描述**
728
729获取视频编解码器支持的视频宽度范围。
730
731**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
732
733**参数:**
734
735| 名称 | 描述 |
736| -------- | -------- |
737| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
738| widthRange | 输出参数。视频宽度范围 |
739
740**返回:**
741
742如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
743
744**起始版本:**
745
74610
747
748
749### OH_AVCapability_GetVideoWidthRangeForHeight()
750
751
752```
753OH_AVErrCode OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability *capability, int32_t height, OH_AVRange *widthRange)
754```
755
756**描述**
757
758获取指定高度情况下视频编解码器支持的视频宽度范围。
759
760**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
761
762**参数:**
763
764| 名称 | 描述 |
765| -------- | -------- |
766| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
767| height | 视频垂直像素数。 |
768| widthRange | 输出参数。视频宽度范围。 |
769
770**返回:**
771
772如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
773
774**起始版本:**
775
77610
777
778
779### OH_AVCapability_IsEncoderBitrateModeSupported()
780
781
782```
783bool OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability *capability, OH_BitrateMode bitrateMode)
784```
785
786**描述**
787
788检查编码器是否支持特定的比特率模式。
789
790**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
791
792**参数:**
793
794| 名称 | 描述 |
795| -------- | -------- |
796| capability | 编码器能力指针。不能填入解码器能力指针。 |
797| bitrateMode | 比特率模式。 |
798
799**返回:**
800
801如果支持该比特率模式,则返回true;如果不支持该比特率模式,则返回false。
802
803**起始版本:**
804
80510
806
807
808### OH_AVCapability_IsHardware()
809
810
811```
812bool OH_AVCapability_IsHardware (OH_AVCapability *capability)
813```
814
815**描述**
816
817检查能力实例是否描述了硬件编解码器。
818
819**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
820
821**参数:**
822
823| 名称 | 描述 |
824| -------- | -------- |
825| capability | 编解码能力指针。 |
826
827**返回:**
828
829如果能力实例描述的是硬件编解码器,则返回true, 如果功能实例描述的是软件编解码器,则为false。
830
831**起始版本:**
832
83310
834
835
836### OH_AVCapability_IsVideoSizeSupported()
837
838
839```
840bool OH_AVCapability_IsVideoSizeSupported (OH_AVCapability *capability, int32_t width, int32_t height)
841```
842
843**描述**
844
845检查视频编解码器是否支持特定的视频大小。
846
847**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
848
849**参数:**
850
851| 名称 | 描述 |
852| -------- | -------- |
853| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
854| width | 视频水平像素数。 |
855| height | 视频垂直像素数。 |
856
857**返回:**
858
859如果支持该视频大小,则返回true,如果不支持该视频大小,则返回false。
860
861**起始版本:**
862
86310
864
865
866### OH_AVCodec_GetCapability()
867
868
869```
870OH_AVCapability* OH_AVCodec_GetCapability (const char *mime, bool isEncoder)
871```
872
873**描述**
874
875获取系统推荐的编解码器能力。
876
877**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
878
879**参数:**
880
881| 名称 | 描述 |
882| -------- | -------- |
883| mime | MIME类型描述字符串,请参阅[AVCODEC_MIMETYPE](_codec_base.md#变量)。 |
884| isEncoder | 编码器为true,解码器为false。 |
885
886**返回:**
887
888如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。
889
890**起始版本:**
891
89210
893
894
895### OH_AVCodec_GetCapabilityByCategory()
896
897
898```
899OH_AVCapability* OH_AVCodec_GetCapabilityByCategory (const char *mime, bool isEncoder, OH_AVCodecCategory category)
900```
901
902**描述**
903
904获取指定类别中的编解码器能力。
905
906通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。
907
908**系统能力:**  SystemCapability.Multimedia.Media.CodecBase
909
910**参数:**
911
912| 名称 | 描述 |
913| -------- | -------- |
914| mime | MIME类型描述字符串,请参阅[AVCODEC_MIMETYPE](_codec_base.md#变量)。 |
915| isEncoder | 编码器为true,解码器为false。 |
916| category | 编解码器类别。 |
917
918**返回:**
919
920如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。
921
922**起始版本:**
923
92410
925