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 [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/> BITRATE_MODE_CBR = 0,<br/> BITRATE_MODE_VBR = 1,<br/> BITRATE_MODE_CQ = 2<br/>} | 编码器的比特率模式。 | 46| [OH_AVCodecCategory](#oh_avcodeccategory-1) {<br/> HARDWARE = 0,<br/> 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