gpt4 book ai didi

android-mediacodec - 什么是 COLOR_FormatYUV420Flexible?

转载 作者:行者123 更新时间:2023-12-03 09:43:01 28 4
gpt4 key购买 nike

我希望在我的 android 编码器上编码 video/avc。编码器 (Samsung S5) 发布 COLOR_FormatYUV420Flexible 作为其支持的格式之一。耶!
但我不太明白它是什么以及如何使用它。文档说:

Flexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components.

Chroma planes are subsampled by 2 both horizontally and vertically. Use this format with Image. This format corresponds to YUV_420_888, and can represent the COLOR_FormatYUV411Planar, COLOR_FormatYUV411PackedPlanar, COLOR_FormatYUV420Planar, COLOR_FormatYUV420PackedPlanar, COLOR_FormatYUV420SemiPlanar and COLOR_FormatYUV420PackedSemiPlanar formats


这似乎表明我可以将此 const 与几乎任何类型的 YUV 数据一起使用:刨床、半刨床、打包等。这似乎不太可能:除非我准确指定 U/的位置,否则编码器将如何知道如何解释数据V值是?
除了这个 const 之外,我还需要提供任何元数据吗?它只是工作吗?

最佳答案

差不多,但不完全。

这个常数几乎可以用于任何形式的 YUV(平面、半平面、压缩等)。但是,问题是,不是你可以选择布局,编码器必须支持它——相反。编码器会选择表面布局,并通过灵活的描述来描述它,你需要支持它,不管它是哪一种。

实际上,在使用它时,您不会调用 getInputBuffers()getInputBuffer(int index) ,您调用getInputImage(int index) ,返回 Image ,它包含指向三个平面开始的指针,以及它们的行和像素步长。

注意 - 调用 queueInputBuffer 时之后,您必须提供一个尺寸参数,这可能很难弄清楚 - 请参阅 https://stackoverflow.com/a/35403738/3115956有关详细信息。

关于android-mediacodec - 什么是 COLOR_FormatYUV420Flexible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38421564/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com