簡體   English   中英

Android MediaCodec編碼器 - 三星設備的奇怪結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM