From patchwork Tue Jul 7 22:47:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongle Lin X-Patchwork-Id: 20862 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 1E1BF44A7B0 for ; Wed, 8 Jul 2020 01:48:17 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E776168B2DB; Wed, 8 Jul 2020 01:48:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0BCEC689F1A for ; Wed, 8 Jul 2020 01:48:10 +0300 (EEST) Received: by mail-pj1-f50.google.com with SMTP id md7so310817pjb.1 for ; Tue, 07 Jul 2020 15:48:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Fm1BNC4W1Jg7oQQ5BFkFjmyKqfg/lrxPVF/0wxLEPsw=; b=nfwwpDbriv7Nt/nsXkKvOInCUXIt5opS/QauiykaxBA9LLqF7ktiqgojO0aZjqftiJ 1jzqk+onnRGqnw+wP14cr6iWqCfKZ/Xom3rYcvpu6uOK1mfrqmxcgOXdH93JCUJp1I1i 2V77E3Gv6w9S2jQ4aorhXwh2XGjwiZDt9TfRUPeaoHpoQSagoB/WbqPaUAZPmqpHLxbc N0ld10XrKX++1izcy+Cg7yP/MXtUurTxHSk7uvDxa/GuY2E/YsuRgYJo1TYGDI+3z1ip Y6nWuyn5Pzpk7i9cb3S5V4V7IcGX6wj3qJTy42b74ZLRVY48YbhELK1wsZtsnJzS0BVf S6AQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fm1BNC4W1Jg7oQQ5BFkFjmyKqfg/lrxPVF/0wxLEPsw=; b=evtf2NO6aEzpWmG7elyq5J9t6DRAY7W88U62bE0rH6Z5VRasL+SnYtV04qfyZ4sBPG jbiJWW78wTakfVKBDsA9Qm00Qec3ef/spqjoPncYd8DkF/DS1n5KHVuDv6KdgaupXhke fWtPXFAtKFhvCeWuvfMhNdboApq08sGLK+S3tw5IidQIUq+YmC9/39IbkAwOIPyeQKxr fHDjqoO3dDJjVHyI2wZtlZYqbMJ8FgKu0DlpajpU7lwn4vLeqd/dKmTvAofZSXBeXM4w 0rSBCenFxLfKb5FrsQEruA/lUrFrX88Seii0hswjw8bj8zydi9/92Yx1sTW9hT/MXXNn 2DRg== X-Gm-Message-State: AOAM532GV/r/rNWGBLlMIb1vwiidoV/ktljp6w+nqC4PIPlnax5YzQtz UI7lVWc3vxNuPEbq0b1HLHlA2cWO X-Google-Smtp-Source: ABdhPJxMuKTJTigG5lgud7lxJszpjzUceH+qiRRbCrsNnr86Dts1IznRJa8tvky9gQ/x9wA9GEdaJQ== X-Received: by 2002:a17:902:7298:: with SMTP id d24mr16224568pll.320.1594162088950; Tue, 07 Jul 2020 15:48:08 -0700 (PDT) Received: from yonglel.c.googlers.com.com (197.59.83.34.bc.googleusercontent.com. [34.83.59.197]) by smtp.gmail.com with ESMTPSA id q24sm19482785pfg.95.2020.07.07.15.48.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 15:48:08 -0700 (PDT) From: Yongle Lin X-Google-Original-From: Yongle Lin To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Jul 2020 22:47:29 +0000 Message-Id: <20200707224729.2788660-1-yonglel@google.com> X-Mailer: git-send-email 2.27.0.383.g050319c2ae-goog In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavutil/video_enc_params: add block type 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: Yongle Lin Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" add block type field to AVVideoBlockParams so we could either export or visualize it later. --- libavutil/video_enc_params.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libavutil/video_enc_params.h b/libavutil/video_enc_params.h index 43fa443154..52c0058f5b 100644 --- a/libavutil/video_enc_params.h +++ b/libavutil/video_enc_params.h @@ -57,6 +57,11 @@ enum AVVideoEncParamsType { AV_VIDEO_ENC_PARAMS_H264, }; +enum AVVideoBlockFlags { + AV_VIDEO_ENC_BLOCK_INTRA = 1ULL << 0, /* Indicates block uses intra prediction */ + AV_VIDEO_ENC_BLOCK_SKIP = 1ULL << 1, /* Indicates block is not coded (skipped) */ +}; + /** * Video encoding parameters for a given frame. This struct is allocated along * with an optional array of per-block AVVideoBlockParams descriptors. @@ -126,6 +131,17 @@ typedef struct AVVideoBlockParams { * corresponding per-frame value. */ int32_t delta_qp; + + /** + * Type flag of the block + * Each bit field indicates a type flag + */ + enum AVVideoBlockFlags flags; + + /** + * Reference frames used for prediction + */ + uint8_t ref[8]; } AVVideoBlockParams; /*