From patchwork Wed Jan 23 23:01:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 11846 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 2D4E744EDC4 for ; Thu, 24 Jan 2019 01:01:23 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4888B68AC7D; Thu, 24 Jan 2019 01:01:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B15668A884 for ; Thu, 24 Jan 2019 01:01:05 +0200 (EET) Received: by mail-wr1-f52.google.com with SMTP id u4so4445050wrp.3 for ; Wed, 23 Jan 2019 15:01:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=sDU/kiffSo/uXt71k5kwil+NLSS0oigI0u0gvbRf1iA=; b=CTfxZKWSRTn4WuDD44voZQHYvH+leydNUQpNvXx5SXH6HrClKlmibwcXkyZ85tVM5H QKCjo3BONMM3BPwHrZGVmEUtUEMa8tBX6SAkkBJTQTTP/ySUEx4RIYN7dqsq6/gg3aEV lnuwiEhIq4ocker0OW3zJ5HZ7CiGEALx5lG2gtxzLddTI0wF3n7r/jt3t2Y2tIfb3Oxd o7S8PhFI1f5TnLCUzgS7J3gmmqDZYu/MDiqGB+UES5PZL8Z7UnWSKscl5c9nqjaYShzJ Z46kjipqwlfs8IVnIrh40EKL4ooppoJiS8qLSRZHPiC8eneLIhBVlnvdFPBSOvSi3tAG eEKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=sDU/kiffSo/uXt71k5kwil+NLSS0oigI0u0gvbRf1iA=; b=HOqglGqLJY9MuxOq1OBrw+aSSfhuT5bz8rhJSmaFB7kiiwVCykscwszHkk/XAE/0Gj nQ9MxHS+VFeKggv0mRBMMRqgJx+NqGoglSKB5oLbceDbZLawA4Fsws1PyN/7tV3zS4wj lyII5u5ULAIFU43/xfgOfKQMYmq8JXgcTsrwfekACIohjexMYXmRepT1UXpI56CRduwp ZcvHK74q3+mderOS270m9tVf9WwIRZBVWEL/+EPE+o5fR7mu5kIKaH5/KlPfEHQcLYBF fSQobi0xa19GQwshC4BGSaOZDDtlyudrp8eNuyablDNpbNhIRUk1ptBFAKz8FVQ3QIme klPg== X-Gm-Message-State: AJcUukfq9MullnPNvwulOuNABnsiy/17VXFHvgKvemE+fH0oklGht+Ee 5IDL2EnpxDeLzd6v1X+cDxek+9acXLk= X-Google-Smtp-Source: AHgI3IZ/QIvAZvVtgzSxj34vmDeeGx/f8OvJpeFSk9SmoRkXGuwGelw0iG0Aq17bf7piInzrI/iUXA== X-Received: by 2002:adf:f3c6:: with SMTP id g6mr473031wrp.111.1548284482660; Wed, 23 Jan 2019 15:01:22 -0800 (PST) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id a62sm48786478wmf.47.2019.01.23.15.01.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Jan 2019 15:01:21 -0800 (PST) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Wed, 23 Jan 2019 23:01:10 +0000 Message-Id: <20190123230114.1086-4-sw@jkqxz.net> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190123230114.1086-1-sw@jkqxz.net> References: <20190123230114.1086-1-sw@jkqxz.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/7] cbs: Add macros to support defining unit type tables 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" --- libavcodec/cbs_internal.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libavcodec/cbs_internal.h b/libavcodec/cbs_internal.h index 667c90cb14..aefe1a81e7 100644 --- a/libavcodec/cbs_internal.h +++ b/libavcodec/cbs_internal.h @@ -117,6 +117,27 @@ int ff_cbs_write_unsigned(CodedBitstreamContext *ctx, PutBitContext *pbc, #define MAX_UINT_BITS(length) ((UINT64_C(1) << (length)) - 1) +#define CBS_UNIT_TYPE_POD(type, structure) { \ + .unit_type = type, \ + .content_type = CBS_CONTENT_TYPE_POD, \ + .content_size = sizeof(structure), \ + } +#define CBS_UNIT_TYPE_INTERNAL_REFS(type, structure, nb_offsets, offsets) { \ + .unit_type = type, \ + .content_type = CBS_CONTENT_TYPE_INTERNAL_REFS, \ + .content_size = sizeof(structure), \ + .nb_ref_offsets = nb_offsets, \ + .ref_offsets = offsets, \ + } +#define CBS_UNIT_TYPE_COMPLEX(type, structure, free_func) { \ + .unit_type = type, \ + .content_type = CBS_CONTENT_TYPE_COMPLEX, \ + .content_size = sizeof(structure), \ + .content_free = free_func, \ + } +#define CBS_UNIT_TYPE_END_OF_LIST { CBS_INVALID_UNIT_TYPE } + + extern const CodedBitstreamType ff_cbs_type_av1; extern const CodedBitstreamType ff_cbs_type_h264; extern const CodedBitstreamType ff_cbs_type_h265;