From patchwork Mon Dec 16 22:21:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wonkap Jang X-Patchwork-Id: 16834 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 660F04488E3 for ; Tue, 17 Dec 2019 00:21:52 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 40AF868ADC1; Tue, 17 Dec 2019 00:21:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 844CD68AA1E for ; Tue, 17 Dec 2019 00:21:45 +0200 (EET) Received: by mail-pl1-f202.google.com with SMTP id b8so6337217plz.12 for ; Mon, 16 Dec 2019 14:21:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to; bh=Nwn84YBkc2i2GTKFmSHBU2JyFlfuq5jc67qKaMCuLiQ=; b=flMOlfmApMoHgMY2BmYYQfHbbqNYDvYLDvYCh/9adv79KfyM84FWDfDWHFM9WgD6xX ClBWWP7RrGtdmA/nhP35c3ltRFTKriAKCxC0GzoeAVgkFDPUW/c7uL2epqGgOLTPOOAP 2yFGG1zAXzFKQU/rtZyA5F8kAXvT+5ev/m5P+YdJEsu454nz1JQ8735Wpjgfflv8zCs6 PH6ss3CCjWCj5bTW3qAGK0hVJlpyoo1vF/glWmnkm9UeYHIRYbPqKbGhCwGvP7wESN8z VdM1hB8rH0QmngWRBj2ltcIpiv+YWz3x1srU1fpRsA90we/JlRlc+5QMakkXyOvLjQdx +Ffg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to; bh=Nwn84YBkc2i2GTKFmSHBU2JyFlfuq5jc67qKaMCuLiQ=; b=hACEWO2mQ+n0TuCYmfFqDyIdVB6j3XV6SXlujwiqC8pMebau0BWN3rcqZ60bIp78kf bQCEOyNRnrGgl/ICuzWU/eK88GvQuy2rjVelBcfh0vsEsTYQ6VokbU5A8y3YLtV6jMlz oi/3OG4MWbVccze4cQ1mb6Ney7zKonW7qjB9N6Bngv72eZeC57XcGNESoJYu17tKTZw/ z4fJUU05RjkATtLYIR7E/w+zwHKTwAiFblAADYi4dkZeAyD15PFrPFC7F0IAM8uIP3QW +T15lqp+BTrAlrKdyTNJ6cP5uJ1eIiWYJ9ayvTPPxZNb9hpd41t1GEvO1EdlC69YX/7k YsBA== X-Gm-Message-State: APjAAAXL1NPcG01aIRELdV4MiZwlF/vmfvC2CpL5iw010huhnD+FIHGA mjk+GuH+4aijmv6X+BwJYDqm3vwUPD9ms6xA7xDGIFmOaQInIxT9m7CGht1LLwDH3yaZM/q+Era MLw0xzObYIGTjtjtOufuz2+/9Agbwy5jMU410EqaTrK5+oYAYGSlN3z91UujhfJo= X-Google-Smtp-Source: APXvYqxtepdf/ruEQEr+kZPitYEqbAKTSMU4T+7fN2mZsF6IYBJon8hlvcAzpQi+Yue+jJTuGItpORPAa68= X-Received: by 2002:a63:de4c:: with SMTP id y12mr8962331pgi.107.1576534903507; Mon, 16 Dec 2019 14:21:43 -0800 (PST) Date: Mon, 16 Dec 2019 14:21:41 -0800 Message-Id: <20191216222141.68466-1-wonkap@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.24.1.735.g03f4e72817-goog From: Wonkap Jang To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] doc/encoders: add VP9 temporal scalability encoding option 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" Documentation change for adding support for encoding with temporal scalability in VP9. --- doc/encoders.texi | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index 4ee518a124..7efc446a6c 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1885,16 +1885,14 @@ Enable error resiliency features. Increase sharpness at the expense of lower PSNR. The valid range is [0, 7]. -@item VP8-specific options -@table @option @item ts-parameters Sets the temporal scalability configuration using a :-separated list of key=value pairs. For example, to specify temporal scalability parameters with @code{ffmpeg}: @example ffmpeg -i INPUT -c:v libvpx -ts-parameters ts_number_layers=3:\ -ts_target_bitrate=250000,500000,1000000:ts_rate_decimator=4,2,1:\ -ts_periodicity=4:ts_layer_id=0,2,1,2 OUTPUT +ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\ +ts_periodicity=4:ts_layer_id=0,2,1,2:ts_layering_mode=3 OUTPUT @end example Below is a brief explanation of each of the parameters, please refer to @code{struct vpx_codec_enc_cfg} in @code{vpx/vpx_encoder.h} for more @@ -1903,13 +1901,28 @@ details. @item ts_number_layers Number of temporal coding layers. @item ts_target_bitrate -Target bitrate for each temporal layer. +Target bitrate for each temporal layer in kbps. +(bitrate should be inclusive of the lower temporal layer). @item ts_rate_decimator Frame rate decimation factor for each temporal layer. @item ts_periodicity Length of the sequence defining frame temporal layer membership. @item ts_layer_id Template defining the membership of frames to temporal layers. +@item ts_layering_mode +(optional) Selecting the temporal structure from a set of pre-defined temporal layering modes. +Currently supports the following options. +@table @option +@item 0 +No temporal layering flags are provided internally, +relies on flags being passed in using metadata in AVFrame. +@item 2 +Two temporal layers. 0-1... +@item 3 +Three temporal layers. 0-2-1-2...; with single reference frame. +@item 4 +Same as option "3", except there is a dependency between +the two temporal layer 2 frames within the temporal period. @end table @end table