From b7ab6e18eecad43593ad2a0e9fc9eba7f24751cb Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 8 Sep 2015 19:42:24 +0200 Subject: [PATCH] mmaldec: disable timestamp interpolation This MMAL feature fills in missing timestamps from the framerate set on the input port. This is generally unwanted, since libavcodec decoders merely pass through timestamps without ever "fixing" them. The framerate is also unknown, and even the timebase doesn't have to be set. Signed-off-by: Luca Barbato --- libavcodec/mmaldec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/mmaldec.c b/libavcodec/mmaldec.c index 5692f505c0..f4bf9214fe 100644 --- a/libavcodec/mmaldec.c +++ b/libavcodec/mmaldec.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -277,6 +278,9 @@ static int ffmal_update_format(AVCodecContext *avctx) if ((status = mmal_port_parameter_set_uint32(decoder->output[0], MMAL_PARAMETER_EXTRA_BUFFERS, ctx->extra_buffers))) goto fail; + if ((status = mmal_port_parameter_set_boolean(decoder->output[0], MMAL_PARAMETER_VIDEO_INTERPOLATE_TIMESTAMPS, 0))) + goto fail; + if (avctx->pix_fmt == AV_PIX_FMT_MMAL) { format_out->encoding = MMAL_ENCODING_OPAQUE; } else {