From patchwork Wed Nov 29 15:24:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 6449 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp4630229jah; Wed, 29 Nov 2017 07:24:41 -0800 (PST) X-Google-Smtp-Source: AGs4zMa4mkxw8ipZFpbyYOOUeur3UPufP1s/1rGQlRvk2fu4RId1LsDXwSSv+m05QNbxErv8yjJf X-Received: by 10.28.112.22 with SMTP id l22mr2679260wmc.35.1511969081518; Wed, 29 Nov 2017 07:24:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511969081; cv=none; d=google.com; s=arc-20160816; b=qdLc5YpVA0NJ1oVk1s65hI79Wseryf0/llHCtblYXAsztbgGhnyOVDJyecHwC8svML SARczjEjYtHl5iS3jssrFTpqGhNngxb9KWnduswojATsZzyT7a0lPZdazrWERsXh+Aer TW3A4fKwRBw/esL342wuoAO0uXIxHQNaFjDoRGUdlRMneck7BqL8N+eFu5r4+izzBhnk 9kU2ZWTVh7rDhpxf5EPV+1i2PQoke/k+HHg8FOA9PM1zLIWUxvAdSw8JhS6zbZu52DL0 a+XnFS3wRN+W/zaBA1/yuK6OzZdHU783hhSCTu25vt/TfAByd8CnWDy0t4oAR0d0umnA 5P8Q== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=5ep5SYbIjM+wEBshIEIJMy2hBaxQo5i91FPHi2F36cQ=; b=sRfmMwIa/HaqS1Z8I4eJadG3ZRGVSgOMVez5CwIWpU2FCcYMckwQpUm3bzDY+eEWi6 Mv/Gx5vRsmtHW3QzGNH3oW/0+3yZXjDmtRMwgnqLr2vKMS9nf7No6AwYgmKHSPwZUUUM oKAEDZIOgbWYWIctwkpUcPbpM0LIcJzKwDHNJy0cfZUMS6vtjrImYvuD3o3IB4XOMFEJ +pgIqgp+16xxZtS7CZ+Tgs9cnPbPHldsk1ogUFXhMqR5M8y1DVxMtB3ACIdBBmRXQIMf LPSViuWNo0GIx0GnSTYWANrI5mcZSMd1GXgiDDINqgd0gw9nbZAEA/+zohl3JLAALeoh Q9SA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com header.s=20161025 header.b=ZtWgV3lB; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e139si1568890wma.128.2017.11.29.07.24.41; Wed, 29 Nov 2017 07:24:41 -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=@googlemail.com header.s=20161025 header.b=ZtWgV3lB; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7A90B68A487; Wed, 29 Nov 2017 17:24:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F3D3C68A472 for ; Wed, 29 Nov 2017 17:24:30 +0200 (EET) Received: by mail-wm0-f47.google.com with SMTP id 9so7028045wme.4 for ; Wed, 29 Nov 2017 07:24:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BawSq5cK83ffAvcKpCUjdTZMvabKgmQ2HDyFHhKoQk4=; b=ZtWgV3lBGHdM78PFcLjMKVCA0u6rud0bByUhss2PXvhK7dVFJLI+KenJC3IbufpYvZ y0PnutXtYMRFnXNT17eAkytao8DmWrxVenqUjW33HEipx9s9ETK04W8ANwL6c86miOjN RhCifXkVxqhx7WvqChI2W1WNvzDsC97XdkCHKD44PjhaF5uhx7UigoOcct+mJJhkMyBc GRI7lKSuvcdj/pPgmF+JGxUG9SzWABc7vvAe7hyrEA5yDIPKtF69SZl/k7Ow3DgyEaQc xx0dsVfx7CtiLuA3v73IcdkM4naJrEHDiNL41IJCIo5Dt42TFGQj8ZSm1c01yNNO+p11 SVaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BawSq5cK83ffAvcKpCUjdTZMvabKgmQ2HDyFHhKoQk4=; b=fddz1beI+eyCBPMsqw70pjhcyHGsjcYhAWhdcKAlgIbzeMJRkJOKqCRlkm6QCsAyRF Tvx2/PC3tQtb9oueoOUZTOVb38I0iVLioZdMgDsRtzFcUdGMVptkMarSzcthHLtl8yKl alPtOLHRa3Gb/HPyV9FEGzZDEjdKqOz//8gwQeL2KXhJCvfjxGTQapSUKcK0oZkFmfu8 qxKmDoIi35lIMbxghg8hVY1Uif84b11dCXcC9A8Vl8U4isjZsjsvSlOBwH7SHZL3/RDQ IRYiew/t5cZOrPEzeIQWjgADLYw1lpnUerU9XL2OkH6Ee6HsAdXg1lgLjw/rcup3JKfw k5IQ== X-Gm-Message-State: AJaThX4nvPKdy597FV50aMjklcK/sWpa9H51B2jDWcj8y3leG2FxmhIh DmVMerOO6HoSZectCKqWH8nkfw== X-Received: by 10.80.138.34 with SMTP id i31mr8245789edi.8.1511969073166; Wed, 29 Nov 2017 07:24:33 -0800 (PST) Received: from debian.speedport.ip (p2003006CCD4EDC9660A8CE5075EAFF87.dip0.t-ipconnect.de. [2003:6c:cd4e:dc96:60a8:ce50:75ea:ff87]) by smtp.googlemail.com with ESMTPSA id j39sm1896463ede.38.2017.11.29.07.24.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 29 Nov 2017 07:24:32 -0800 (PST) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Wed, 29 Nov 2017 16:24:42 +0100 Message-Id: <20171129152442.4108-1-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.15.0 Subject: [FFmpeg-devel] [PATCH] vp9: use superframe split BSF 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: wm4 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" webm usually has invisible superframes merged with normal frames. (vpxenc muxes them in this form, which is evidence enough that this is the standard webm packet format. It's rather unclear whether ffmpeg is even allowed to remux them with split packets.) The vp9 decoder needs them to be in separate packets for multithreading to work. Add the BSF to the decoder, so the conversion happens automatically. This contains the important part of fa1749dd34c55fb9, which was apparently skipped in commit d417e95af76. This restores Libav API compatibility. --- libavcodec/version.h | 2 +- libavcodec/vp9.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/version.h b/libavcodec/version.h index 55bb5c5e01..d67b689142 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 58 #define LIBAVCODEC_VERSION_MINOR 6 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MICRO 102 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 1ea2869c4c..6241f01de1 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1795,6 +1795,7 @@ AVCodec ff_vp9_decoder = { .init_thread_copy = ONLY_IF_THREADS_ENABLED(vp9_decode_init_thread_copy), .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context), .profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles), + .bsfs = "vp9_superframe_split", .hw_configs = (const AVCodecHWConfigInternal*[]) { #if CONFIG_VP9_DXVA2_HWACCEL HWACCEL_DXVA2(vp9),