After a lot of trials and errors, it appears the rendering problem
has nothing to do with color depth. The problem is that the codec
is configured with skip_loop_filter = AVDISCARD_ALL. I'm not sure
what's the reason for that choice. By comparison, it was using
AVDISCARD_DEFAULT in kitkat-x86 branch. If I change the value to
AVDISCARD_DEFAULT instead, I get correct decoding.
Fixes:
a5d3c4c2 "stagefright-plugins: Implement frame dropping and AV sync"
avctx->idct_algo = 0;
avctx->skip_frame = AVDISCARD_DEFAULT;
avctx->skip_idct = AVDISCARD_DEFAULT;
- avctx->skip_loop_filter = AVDISCARD_ALL;
+ avctx->skip_loop_filter = AVDISCARD_DEFAULT;
avctx->error_concealment = 3;
if (fast) avctx->flags2 |= AV_CODEC_FLAG2_FAST;