From patchwork Sun Nov 12 02:40:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Natsuki Kai X-Patchwork-Id: 6005 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp676765jah; Sat, 11 Nov 2017 18:41:08 -0800 (PST) X-Google-Smtp-Source: AGs4zMYItdcDm/wsVmsCC6566FSTtGz8+FuUvN13tulHkbKbJIDIRiwcwWiFG+nZm5nsZvhiqzml X-Received: by 10.28.26.138 with SMTP id a132mr3593633wma.124.1510454468641; Sat, 11 Nov 2017 18:41:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510454468; cv=none; d=google.com; s=arc-20160816; b=oCzqs9YcMhZ+DIs1Q5g/mxOGNx4Kd5hTa6jB8aqDG+yYqttL2MOjAvRoimlW99NQ2u RklLGEusfN3UMxRs89XDzGJzM8hKByyNQHEIwKziP0AYfeAMGdn5/+DXECYj5lz26Uou rL1npO5oOpBS3PN1UUOka7DsbqI/OS88poH/5iFULNbAp8HixLUWGYCX+o+BV9RIWgFe pmkPYqFeT7Kliv+14NsxU1MiKAoyY6fEezOpmCo1cbCLvrhcjevzMnwLRNX6pJR4kUld TuHYOXRCA0JaxgIl3uZPdHyGcMKB6ZDcRQ2m8Q9Re2U4wuqY5u1n9fxj+QnG1kygEqaZ ZXSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:message-id:date:from:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=7veSyQpyfrfy+lWEzu9OSy+DTwzW8ud0eO/OKk6WPXU=; b=oFoB38GuOGKHlB4h88bOiv7EPtQxdmWq7vhMU1Q5OrqarCeFZt9+Jiu2OqCIhY1ndX GE7Gt6i6eNptjRHjfB5V2+w1NWRHzZr3T9+gaTXhK8ctsIRfbqoUpYxVZRuSvprxfA0s XQlGFaeZEWPyTxr4UGVfL65SKK+fs7NPaZEBgu9nkY3lnLsVi6Gg+EFujOcUqjES5gOR v5RRDw9zkR5iePz0FNeyJ6mdlY04HnJnk4zPbqwocNkeJEy5Ylwe9GNh5Aw96QoRo81F 10pXx/jBS0mMgwaveeQGj/cB1MONHCiV1FUgKzLDsvt2D1r9ICfLi7tF14tgkAhGCMwC XVFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Z4WdVAzG; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q69si11935238wrb.233.2017.11.11.18.41.07; Sat, 11 Nov 2017 18:41:08 -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=@gmail.com header.s=20161025 header.b=Z4WdVAzG; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A8CA068A2CB; Sun, 12 Nov 2017 04:40:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f169.google.com (mail-qt0-f169.google.com [209.85.216.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3ADA468A2CA for ; Sun, 12 Nov 2017 04:40:45 +0200 (EET) Received: by mail-qt0-f169.google.com with SMTP id z56so1862811qta.4 for ; Sat, 11 Nov 2017 18:40:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=NLT5c+Pp2pWnggO9rpfX/OJmKBMDbAmIgQTz0mTX9Hs=; b=Z4WdVAzGriN8TJdvraXkNAslzTduT0VvsAKtPOPP5DYjV0u4JMZv9NwabwjA+gL6+B nidjQx/PTkS39S7n6UegLEog3YtGyNw4zFChmFhDcgFNnx55be8f7pG3wTDz/kTXQxLY 97mgQzTNliZC7yhY9mLMdhuxFpaVnLg7is+FtmiGG4Jg9sNo7rbWaj1oxJ59RSlP4vhj rTYIVOZUidolLddF6fRGLVndJs4xnggw1Fr7HdjekSjBhrVk8m2Zh8D7RmG4eZvks5zj MkPGkk+FoQlzJ5j29GSxzlp3ERYVHVzcPniWO5Qjd/od/11xwF88OFWySBjMGWNbLVMa 6ocw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NLT5c+Pp2pWnggO9rpfX/OJmKBMDbAmIgQTz0mTX9Hs=; b=FECKyRtfkbsrQOtQ/r78Q11lItn0mQb7+KTyz7yqd+9LoRoD38uWteEbb+7UcXlXCL GiXAUtg86TojnLXFKMaSV2Yux5zltabc+kjtF0nlIXFye64tByZV9oos0aUziZGvu1NW AjFuSfLt06VlPOaaTr8ju2uHDY+ff1jI6st6p11gOGS9E3mDJBvyqEpdwecnAgl5eOLp g5smDE6ebAhBKSqvbHbLn8m0dfmWsv/aqnbjCUGw8i+RH/1daShTG9pYBTVmKOwB3uZO XnuYqN9N7sUvUnUcx3hp3f9R2brIuDn1fW9CfoWCUQH0iJyjh3Q8w0MhAOtgIftbNAkK AHjQ== X-Gm-Message-State: AJaThX49W0f3qFGRn4fPPn6ye1VbDo59OiLcy4rc/kbSwP018zpYhWC8 33Isuhry5vH+qrxz1JpYcUVGD5WCLlH2RHleXlO2xUp+ X-Received: by 10.200.22.91 with SMTP id x27mr1871471qtk.226.1510454458095; Sat, 11 Nov 2017 18:40:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.144.139 with HTTP; Sat, 11 Nov 2017 18:40:57 -0800 (PST) From: Natsuki Kai Date: Sun, 12 Nov 2017 11:40:57 +0900 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] avcodec/qsvenc Question for Intel QSV low latency 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hello guys, this is my first posting to ffmpeg-devel, and I believe my mail format is correct. I'm using ffmpeg for encoding video in real-time, so low encode delay is needed. Once I call "avcodec_send_frame(avctx, frame)", I'd like to get the encoded data from "avcodec_receive_packet(avctx, avpkt)". However I cannot do that in ffmpeg and Intel QSV (qsv), "avcodec_receive_packet()" returns nothing when I input the first frame to qsv encoder by calling "avcodec_send_frame()". Of cource, after second frame inputs, qsv encoder returns valid data. I'd like to get a valid data from first calling. I've tried some cases and as a result, my requirement is satisfied when avcodec/qsvenc.c will be fixed like below diff info. Then I have a question. Why q->async_fifo is set to be q->async_depth "+ 1"? Anybody knows? return AVERROR(ENOMEM); --- a/avcodec/qsvenc.c +++ b/avcodec/qsvenc.c @@ -803,7 +803,7 @@ q->param.AsyncDepth = q->async_depth; - q->async_fifo = av_fifo_alloc((1 + q->async_depth) * + q->async_fifo = av_fifo_alloc((q->async_depth) * (sizeof(AVPacket) + sizeof(mfxSyncPoint*) + sizeof(mfxBitstream*))); if (!q->async_fifo)