我们可以用C重写MediaCodec API吗?

Bre*_*sai 5 video android encode android-ndk mediacodec

我正在考虑在我的Nexus平板电脑上使用硬件编码,因为我需要使用一些视频算法,我想把它做成C.

有一个本机媒体示例Google NDK which support native use of OMX可以执行解码作业.但似乎它还不支持编码.现在我们有了MediaCodec API,它可以提供硬件编码.我检查了java文件,似乎它的大部分功能是用C语言编写的.所以我想知道这是否可行:

1)找到相应的C文件
2)将这些C文件编译成.so文件
3)根据MediaCodec.java文件写一个.cpp文件,这个.cpp文件将调用.so文件中的函数并执行类似的功能作为MediaCodec.java.

然后我可以在C中进行编码.

是对的吗?这可能吗?如果可能的话,我是否需要在平板电脑上修改系统?

谢谢!