[Libav-user] HW decoding on Android

Carl Eugen Hoyos cehoyos at ag.or.at
Thu Jul 11 20:34:32 CEST 2013


On Monday 08 July 2013 11:13:09 am Abel Alonso wrote:
> > Iirc, you were able to work-around that problem:
> > Does libstagefright decoding with ffmpeg work now or not?
>
> I've just tested it and it doesn't work. It continues crashing. I think
> that is related with the format issue I've commented before.

Could you test attached patch?
I can't even test compilation here.

Thank you, Carl Eugen
-------------- next part --------------
diff --git a/libavcodec/libstagefright.cpp b/libavcodec/libstagefright.cpp
index bb49d8a..63f7aef 100644
--- a/libavcodec/libstagefright.cpp
+++ b/libavcodec/libstagefright.cpp
@@ -330,7 +330,12 @@ static av_cold int Stagefright_init(AVCodecContext *avctx)
         avctx->pix_fmt = AV_PIX_FMT_YUYV422;
     else if (colorFormat == OMX_COLOR_FormatCbYCrY)
         avctx->pix_fmt = AV_PIX_FMT_UYVY422;
-    else
+    else if (colorFormat == QOMX_COLOR_FormatYUV420PackedSemiPlanar64x32Tile2m8ka) {
+        av_log(avctx, AV_LOG_ERROR, "YUV420PackedSemiPlanar64x32Tile2m8ka not supported\n");
+        ret = AVERROR_PATCHWELCOME;
+        s->client->disconnect();
+        goto fail;
+    } else
         avctx->pix_fmt = AV_PIX_FMT_YUV420P;
 
     outFormat->findCString(kKeyDecoderComponent, &s->decoder_component);


More information about the Libav-user mailing list