[英]Android MediaCodec encoder - weird results for Samsung device
編輯:
似乎問題是這個設備不需要16個維度的多個...但是32的倍數。事實是,我仍然不知道如何確定什么量化為有問題的設備。 這似乎使用qcom(我已經看到在Android 4.X上有問題,但這是Android 5.1.1)。
我正在Android應用中編碼視頻。 我正在使用Android MediaCodec這樣做,將每幀的RGB轉換為YUV並傳入像素。
我使用的代碼已經存在了一段時間,並且適用於我遇到過的任何設備。
一位用戶帶着一個錯誤報告來找我說他們的MP4很奇怪。 該設備是三星T337A (Galaxy Tab 4)。
這是MP4出口的樣子:
注 - 出於任何奇怪的原因,它不會在所有分辨率下發生。 它確認發生在768x432和1280x720,但不會發生在640x352(例如我的應用程序確保所有分辨率都可以被16整除)。
在Nexus 5X (使用相同的半平面YUV格式)上,輸出適用於所有分辨率。
所以這是該設備的東西,也許是我不知道的其他設備?
我查看了所有輸出,它看起來正常並且與我上面提到的Nexus 5X相同(100%的時間都可以工作)。
正在使用的MediaCodecInfo是OMX.qcom.video.encoder.avc,使用的顏色格式是2135033992(這是COLOR_FormatYUV420Flexible )。 所以基本上沒什么奇怪的。
代碼有點廣泛,我會在必要時發布,但只是尋找為什么會發生這種情況的一般想法。 我知道它是否更常見,但相同的代碼適用於大量其他設備,所以一些時髦的東西正在發生......
確保使用正確的步幅和緩沖偏移值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.