Edit:
Похоже, проблема в том, что для этого устройства не должно быть не более 16 измерений... но несколько из 32. Вещь - я до сих пор не знаю, как определить, что количественно оценивается как проблемное устройство. Это похоже на использование qcom (что я видел, что это проблема на Android 4.X, но это Android 5.1.1).
Я кодирую видео в своем приложении для Android. Я использую Android MediaCodec для этого, конвертируя RGB каждого кадра в YUV и проходя в пикселях.
Используемый мной код существует некоторое время и работает на любом устройстве, с которым я сталкивался.
Пользователь пришел ко мне с сообщением об ошибке, что их MP4 выглядели странно. Устройство представляет собой Samsung T337A (вкладка Galaxy 4).
Вот как выглядит экспорт MP4:
ПРИМЕЧАНИЕ. По какой-то нечетной причине это происходит не во всех разрешениях. Это подтвердилось на 768x432 и 1280x720, но, к примеру, этого не происходит с 640x352 (мое приложение гарантирует, что все разрешения по умолчанию делятся на 16).
В Nexus 5X (который использует тот же полуплоский формат YUV) выход работает со всеми разрешениями.
Так что-то с этим устройством и, возможно, с другими устройствами, о которых я не знаю?
Я просмотрел весь вывод, и он выглядит нормально и идентичен описанному выше Nexus 5X (который работает 100% времени).
Используется MediaCodecInfo - OMX.qcom.video.encoder.avc, используемый цветной формат - 2135033992 (COLOR_FormatYUV420Flexible). Так что в принципе, ничего странного.
Код немного экспансивный, я при необходимости отправлю, но просто ищу общие идеи о том, почему это происходит. Я бы понял, если это было более распространено, но тот же код работает для огромного множества других устройств, поэтому происходит что-то смешное...