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