Merge commit 'b7ab6e18eecad43593ad2a0e9fc9eba7f24751cb'
authorHendrik Leppkes <h.leppkes@gmail.com>
Sat, 12 Sep 2015 11:29:29 +0000 (13:29 +0200)
committerHendrik Leppkes <h.leppkes@gmail.com>
Sat, 12 Sep 2015 11:29:29 +0000 (13:29 +0200)
* commit 'b7ab6e18eecad43593ad2a0e9fc9eba7f24751cb':
  mmaldec: disable timestamp interpolation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
1  2 
libavcodec/mmaldec.c

diff --combined libavcodec/mmaldec.c
@@@ -2,20 -2,20 +2,20 @@@
   * MMAL Video Decoder
   * Copyright (c) 2015 Rodger Combs
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -26,6 -26,7 +26,7 @@@
  
  #include <bcm_host.h>
  #include <interface/mmal/mmal.h>
+ #include <interface/mmal/mmal_parameters_video.h>
  #include <interface/mmal/util/mmal_util.h>
  #include <interface/mmal/util/mmal_util_params.h>
  #include <interface/mmal/util/mmal_default_components.h>
@@@ -277,6 -278,9 +278,9 @@@ static int ffmal_update_format(AVCodecC
      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 {
@@@ -361,8 -365,10 +365,8 @@@ static av_cold int ffmmal_init_decoder(
              ret = AVERROR(ENOSYS);
              goto fail;
          }
 -        av_bitstream_filter_filter(ctx->bsfc, avctx, NULL, &dummy_p, &dummy_int, NULL, 0, 0);
 -    }
 -
 -    if (avctx->extradata_size) {
 +        av_bitstream_filter_filter(ctx->bsfc, avctx, "private_spspps_buf", &dummy_p, &dummy_int, NULL, 0, 0);
 +    } else if (avctx->extradata_size) {
          if ((status = mmal_format_extradata_alloc(format_in, avctx->extradata_size)))
              goto fail;
          format_in->extradata_size = avctx->extradata_size;
@@@ -449,7 -455,7 +453,7 @@@ static int ffmmal_add_packet(AVCodecCon
          if (ctx->bsfc) {
              uint8_t *tmp_data;
              int tmp_size;
 -            if ((ret = av_bitstream_filter_filter(ctx->bsfc, avctx, NULL,
 +            if ((ret = av_bitstream_filter_filter(ctx->bsfc, avctx, "private_spspps_buf",
                                                    &tmp_data, &tmp_size,
                                                    avpkt->data, avpkt->size,
                                                    avpkt->flags & AV_PKT_FLAG_KEY)) < 0)