343a5fd345a84572ea5693a805119067d5b0fbc8 killed all mmal hardware decoding, but there was still some junk lying around. There's IMGFMT_MMAL still, but that's harmless to keep around.
Unified · Split
| @@ -274,8 +274,6 @@ const struct autoprobe_info hwdec_autoprobe_info[] = { · 273 unmodified lines | |||
| 274 | {"vdpau-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | 274 | {"vdpau-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, |
| 275 | {"drm", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | 275 | {"drm", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, |
| 276 | {"drm-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | 276 | {"drm-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, |
| 277 | {"mmal", HWDEC_FLAG_AUTO}, | ||
| 278 | {"mmal-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | ||
| 279 | {"mediacodec", HWDEC_FLAG_AUTO}, | 277 | {"mediacodec", HWDEC_FLAG_AUTO}, |
| 280 | {"mediacodec-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | 278 | {"mediacodec-copy", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, |
| 281 | {"videotoolbox", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, | 279 | {"videotoolbox", HWDEC_FLAG_AUTO | HWDEC_FLAG_WHITELIST}, |
| @@ -723,10 +721,6 @@ static void init_avctx(struct mp_filter *vd) · 441 unmodified lines | |||
| 723 | 721 | ||
| 724 | ctx->codec_timebase = mp_get_codec_timebase(ctx->codec); | 722 | ctx->codec_timebase = mp_get_codec_timebase(ctx->codec); |
| 725 | 723 | ||
| 726 | // This decoder does not read pkt_timebase correctly yet. | ||
| 727 | if (strstr(lavc_codec->name, "_mmal")) | ||
| 728 | ctx->codec_timebase = (AVRational){1, 1000000}; | ||
| 729 | |||
| 730 | ctx->hwdec_failed = false; | 724 | ctx->hwdec_failed = false; |
| 731 | ctx->hwdec_request_reinit = false; | 725 | ctx->hwdec_request_reinit = false; |
| 732 | ctx->avctx = avcodec_alloc_context3(lavc_codec); | 726 | ctx->avctx = avcodec_alloc_context3(lavc_codec); |
| @@ -1360,8 +1354,6 @@ static int control(struct mp_filter *vd, enum dec_ctrl cmd, void *arg) · 627 unmodified lines | |||
| 1360 | AVCodecContext *avctx = ctx->avctx; | 1354 | AVCodecContext *avctx = ctx->avctx; |
| 1361 | if (!avctx) | 1355 | if (!avctx) |
| 1362 | break; | 1356 | break; |
| 1363 | if (ctx->use_hwdec && strcmp(ctx->hwdec.method_name, "mmal") == 0) | ||
| 1364 | break; // MMAL has arbitrary buffering, thus unknown | ||
| 1365 | *(int *)arg = avctx->has_b_frames; | 1357 | *(int *)arg = avctx->has_b_frames; |
| 1366 | return CONTROL_TRUE; | 1358 | return CONTROL_TRUE; |
| 1367 | } | 1359 | } |