From patchwork Fri Nov 10 21:40:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 5962 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp3883867jah; Fri, 10 Nov 2017 13:41:34 -0800 (PST) X-Google-Smtp-Source: AGs4zMYfEtFdjp/YBazMiuR7Z2ElH51cMHpx2/2NKFGRsoB8jTuQm8sX+R7cy722MR9dlhISkya1 X-Received: by 10.28.20.141 with SMTP id 135mr1240467wmu.74.1510350094319; Fri, 10 Nov 2017 13:41:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510350094; cv=none; d=google.com; s=arc-20160816; b=IdHc9xv1ZsrY6rsY72Ntkbk0ynmF/jwLJvEbnq8ryed7wllhSL1RN0E9tuc9+1XNhy UtKIkhIMBXzAeFwUhinPIQsqpVIpNAJQ1ZVJiN0pbmsHUlJE/EVS7F4fzqXK5jLveb11 T/5lzW1yegLq0MpA0BYUsztTGTj0Yn/p71OVAdwsQsnM0dveShmrNqb4Jnup0PE4s6oe K8CKvkT+Ulm5doCbecNpMYLM5IyHnoMGnhdLxf8u/7CtLXH1RU2ZaDtO/lOvGNkbvL35 qt7TPkK3zWS6pUOFKGovgynTT3RPnz1Zlj+sEPEj9KKf0KdcvUN0ifa7SUXmldqWZ3JK oYGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=V2Qa9wDlZpp6BaniLQxthwNF5S+fHpW7NZK4ntJ8zic=; b=inOW7jyTJwuk4j9vVOl5hVzrcZ0YhdtbGEd2t0yZ2XpHhnnsMddlFZ49m6adPV4SbJ VINj/asRoQVM+xj6Vu8s3c4/498E4KCRffw9XUQmXq52riT2+Qd/3L2mF4i0/eYLHYo+ OPzmei+Csn4bYpNxnkZnRZ6xVSEdIXXHAxmvWWF1JS6leLZACVhkLzofyUAzS1PCxCj1 h4gvfy7SW0XEJcCIc2+hSVmAsHkCLIOto3+m897t+OFg8Kxzd6/zD6jEOkWWSfUjIgi8 bQAHZkaGjqDrfANNIpDBVU+QBgxt/DiUVCYVMGIR5rersk4CjWj6gz6ENUlLmqUoegh0 /gyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@tmm1-net.20150623.gappssmtp.com header.s=20150623 header.b=tKcDtMvn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 74si8658832wrm.334.2017.11.10.13.41.33; Fri, 10 Nov 2017 13:41:34 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@tmm1-net.20150623.gappssmtp.com header.s=20150623 header.b=tKcDtMvn; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A8AB689E9C; Fri, 10 Nov 2017 23:41:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f194.google.com (mail-pf0-f194.google.com [209.85.192.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 89CD7689DD6 for ; Fri, 10 Nov 2017 23:40:53 +0200 (EET) Received: by mail-pf0-f194.google.com with SMTP id j28so5217292pfk.8 for ; Fri, 10 Nov 2017 13:41:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tmm1-net.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=djZR+SwZ3+cym5B3glTg9o0NACFFumOJRWfg/ZGLW+U=; b=tKcDtMvnMJJTTv8+FMnkDtx2Pns9kyOFXg0g4+UTXlJXl1MFZk2G9tijMTwWsz3BOx 0H92lck+xABo6KRPQaOsIq3n1bv9jLIt/JWNopOIhxP3iWyJqQVgSt8fkWYJLHxrxpMk 6PujMlUEWtW59lRS/5EzPKYn1O16GKRwZ4Bs4HKGU5dzsGAHq3kX+o/2/zH2G09gCesI cRkZmmu56VbEMr/lVpZLojShrMqJHbOvvOymR52QG1A+9tmj332rrgq9fXacM5oV46ye Hhu5HMhI2xPxQ7B7Y9TvWY4L3MTko0iiwFsGPY2vLvjLOZvw6wBT7Mtgqyge1TPpu3fj /joA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=djZR+SwZ3+cym5B3glTg9o0NACFFumOJRWfg/ZGLW+U=; b=nwgbekxZ34NegtXZe8Fdbx4J98XaM+PUDUNKITxgKktOpcfI5hNuI++adyh0z/jbSs HL7E7EU7KQEAIMru8BOAjXBx7XUYfwPilzaLSq9LQwtz/ClYjHXCCSYtUR3BsQPkYngt k+1bCF/Vlt4s4Fc5Tei5ukL+tnFpKIlyJgb2E5cYTolO1uszMyFOAa+3D0FHzgr7B0hf 5uLHDzb2K6dYY1cSFKEQk1eHBZYvI8xeiKo+kWlBmZi02B/YnbUkHXBG+c/fMbwphrDS DSjEXdqve2a02RNWLp6x/G8qEk5EEUluQCedIMdLSGaOHoR2yH2sX4LjOGaojnQa6/E9 szAQ== X-Gm-Message-State: AJaThX5RXcPA/fvKx3ox3lzg8Rev3RHL3EhsUjU6NviPaGallhpOOx3/ bNo+KCSzcn7l6TGRFPzI8cfKEttI X-Received: by 10.84.194.3 with SMTP id g3mr1720375pld.374.1510350065554; Fri, 10 Nov 2017 13:41:05 -0800 (PST) Received: from tmm1-imac.local.net (c-73-252-174-83.hsd1.ca.comcast.net. [73.252.174.83]) by smtp.gmail.com with ESMTPSA id 81sm20734554pfh.145.2017.11.10.13.41.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 10 Nov 2017 13:41:04 -0800 (PST) From: Aman Gupta To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Nov 2017 13:40:48 -0800 Message-Id: <20171110214059.84891-3-ffmpeg@tmm1.net> X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171110214059.84891-1-ffmpeg@tmm1.net> References: <20171110214059.84891-1-ffmpeg@tmm1.net> Subject: [FFmpeg-devel] [PATCH v4 03/14] avcodec/videotoolbox: reset bitstream_size in end_frame X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: nfxjfg@googlemail.com, Aman Gupta MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Aman Gupta This allows decode_slice to be invoked multiple times before end_frame, causing slices to accumulate before being fed into the VT decoder. An upcoming commit will re-use decode_slice for SPS and PPS nalus, so they can be propagated into the VT decoder session along with slide data. --- libavcodec/videotoolbox.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c index 24f74ee86e..a4a282c33a 100644 --- a/libavcodec/videotoolbox.c +++ b/libavcodec/videotoolbox.c @@ -300,8 +300,6 @@ int ff_videotoolbox_h264_start_frame(AVCodecContext *avctx, VTContext *vtctx = avctx->internal->hwaccel_priv_data; H264Context *h = avctx->priv_data; - vtctx->bitstream_size = 0; - if (h->is_avc == 1) { return videotoolbox_buffer_copy(vtctx, buffer, size); } @@ -600,8 +598,10 @@ static int videotoolbox_h264_end_frame(AVCodecContext *avctx) { H264Context *h = avctx->priv_data; AVFrame *frame = h->cur_pic_ptr->f; - - return videotoolbox_common_end_frame(avctx, frame); + VTContext *vtctx = avctx->internal->hwaccel_priv_data; + int ret = videotoolbox_common_end_frame(avctx, frame); + vtctx->bitstream_size = 0; + return ret; } static int videotoolbox_hevc_end_frame(AVCodecContext *avctx)