本文主要是介绍[Android] MediaCodec configure过程中的 profile 和 level,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android 的 MediaCodec 组件会在 configure 的过程中携带 profile 和 level 信息,比如
int32_t profile = 8
int32_t level = 16384
这些信息表明将要到来的stream的编码profile 和 level,因此底层在分配硬件解码器资源的时候是需要结合 分辨率,帧率,profile,level ,编码格式等等这些 流的编码参数来进行硬件资源的选择和分配。
android 里, profile 和 level 的枚举值存储在文件 frameworks/base/media/java/android/media/MediaCodecInfo.java里。
比如
public static final int AVCLevel5 = 0x4000; //16384
public static final int AVCProfileHigh = 0x08; //8
由于这些值定义在java层,因此流程进入mediacodec 的 native 端后,这些值将以整形的方式存在,所以如果希望获取到具体含义,那么可以通过 jni 来获取这些枚举值的实际意义。
profile 和 level 的含义见:
[多媒体] 关于H264的 profile 和 level_h264 level 41-CSDN博客
这篇关于[Android] MediaCodec configure过程中的 profile 和 level的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!