なぜ同じコードなのに機種によってここまで違うのか・・・ 答えはハードウェアエンコーダーにあります。 1〜3枚目の動画で利用されていたエンコーダーはそれぞれ以下の通りです。 MediaCodecListからMediaCodecInfoを取得すると、利用可能なエンコーダー/デコーダーを取得する事ができます。 1枚目:OMX.qcom.video.encoder.avc 2枚目:OMX.SEC.AVC.Encoder 3枚目:OMX.Nvidia.h264.encoder 全然違いますね・・・ 1枚目はQualcomm製で、2枚目はSamsung Exynos。3枚目はNVIDIA Tegra系の端末に搭載されているハードウェアエンコーダーです。 さて、それぞれの対応です。 Qualcomm 問題ないので、このまま! Samsung Exynos これはビットマップをYUV420SemiPlan
![Android - MediaCodecの罠](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1ac467615cc5c05448bd25f26f8226f85ed31b5/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEivk_p0jH5JjmN5UxQMmxS5gH6eP6advyrKKCcbzHzTybM_VoNVdewCPRjTumxRX4GmKQpD0KPCaR5RVe-J78Oe2KoZliFurqHJMLKT_4JO2qghHT_hK1nO6eBXTOjS3Z68UdPSYXfjr-7U%2Fw1200-h630-p-k-no-nu%2F%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%2B2015-01-16%2B14.01.09.png)