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