From patchwork Mon Aug 16 15:51:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 29572 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp2159432iov; Mon, 16 Aug 2021 08:51:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx5b6t3rxjDLv/eKiw+wG1qiBjp2YbW5Y5z5/3cPLBQG7dzM0bryO6Psjyul3CrVUoyZNdM X-Received: by 2002:a17:906:4c8c:: with SMTP id q12mr16860983eju.254.1629129112165; Mon, 16 Aug 2021 08:51:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629129112; cv=none; d=google.com; s=arc-20160816; b=vGO1Jt3WqmuGMemVjpGiGsARujXEHgJXQeQ/qKY7xnYi3Iz8Y+1zl6Cz6Qqgo/xF8P s+ZSu75RzMxIwz/T5wV7c8G08oi5xCyWAvwbwz8qmZ1XsMn+86QE4fxVKrcD3uUDCob9 Fkvf3PefvKSMRK8LQS6uksEDO2POFKubBX0ZOtRiWK6PgHYmh923zP/SuHqNk1pLn5E6 JIFOokd5KNwLniz1V0aRf0LZhe+zeRU71E+vxjKw7E6nXuF0UhbQDGXqw4cumAWRmqEH Aw8BVD7SE6MarXmb12ezwYYcUvt1x+uQyj7vwn0pX4wkX0mPu4e0J+c8qiPYCdYMd5la C8yg== 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:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=qod5o9PJXtN7utGs454UXIHNg2ii8T4cFdI6dqDsFr0=; b=PmCJFt/vxmn0zgqvpqnYE54cYynvNNfxu0fg+PMKVejCDIlIgV56REoJ0uUED0f7iA Z28pmEzCeoEf1GBbDmhlL0/nsgJu14Wc69S3b1BnHoBdW8aaXcB5hEQ4pmn0CPVXujhO QQuQTNAWWU+YjnTNwh7ARUpAsLiF58Ro7iL/tIq3IGZH2WIQyziw///vRea5EELAaRsI WeqPEqipAsV5HU5YIAuFk41jxd0/eCv1KB1G53wuqWcdi6Q6pR8tS5rmtw0qhZeRj8Ge PkineXdzk5MZR/FVvrRj35zQ4fGY27136fOPT0Ed3FIbTtc1iSYg+4CsKVe1lj0gEA3k yziQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=CeoeMmXJ; 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=QUARANTINE 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 m5si10550771eds.430.2021.08.16.08.51.51; Mon, 16 Aug 2021 08:51:52 -0700 (PDT) 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=CeoeMmXJ; 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=QUARANTINE 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 5399168A4DC; Mon, 16 Aug 2021 18:51:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C92FE68A480 for ; Mon, 16 Aug 2021 18:51:29 +0300 (EEST) Received: by mail-pj1-f44.google.com with SMTP id u13-20020a17090abb0db0290177e1d9b3f7so33155319pjr.1 for ; Mon, 16 Aug 2021 08:51:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=XApGw6jzVZswxJzcrcCXXUQK/SY4Ttp05WZ8i8Vg5+Y=; b=CeoeMmXJtSkdey4IVRC2CezrMxf5fTajLsptcczY3yxux5r/B2D/7PE7UwC3mlBNh4 yF4FT0mWD1M5C9HKOhxLXBxQ0ha1i54KeQDvzX8qs4QyEhwcECAWxO6mu9WY0HA+/BoU gUvvrgLx0kA83x0EaB9ucYuwY+VFvWzqndO0zOMO/bmsm1PlDUXc/Cq9AsRJ2rNW4msY YwZ9znrig3OMHTJVgKiOYLwA04xip9MG9bw1MB/a3LXBwiL/LSWOtYBzyb6A/rsj6mrF QuIOsFH7qDVDKfjCt9DHPp+dtpVHGN3i6pl1n7SyWTgYYs/wqqE0zD4nrLFohLelEJA0 Ijzg== 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=XApGw6jzVZswxJzcrcCXXUQK/SY4Ttp05WZ8i8Vg5+Y=; b=l+h0ZMwqjrYpkB1T8Ryj7YyV1zhWJ6eueojKaaGsIRzqiTMhUWAO9YmGKYPD2lFvH4 6/mug/lXBjBzRKa2/xhYGRUAYYhwmuWRBU4CVkzHJEhrbYVq8kmfYBEEDDEQDdgEfH+S DorZ7QQTGwRiIfj05ZJiPU7sMjdfm2t8HI9uGG8Qg349vSaS86DUyBgx9d/A8aTgoyeJ 4sOmlsLnk3BlQrhMk08BKzj/Nhh9QyCl1pAF31XnXA2e7Ps7VGXlnsrtb3YqvdZ2VywL JfTtwd7Iajqo0k0YUz0+EnJQT+SuICDRh05Tqzk2vreMTKnBCxG0u29n6UOcYqBj0q8T o/4Q== X-Gm-Message-State: AOAM531eQOpQDA5g7DxnsuHQ/XDW86DMVgEjxlfaOi/snhsH9hqBll83 MSfzCvDfcHMEqVBbVNmVr006ZIIu+ZGSaA== X-Received: by 2002:a17:903:3047:b0:12d:c724:8c22 with SMTP id u7-20020a170903304700b0012dc7248c22mr2762140pla.59.1629129087732; Mon, 16 Aug 2021 08:51:27 -0700 (PDT) Received: from localhost.localdomain ([191.84.255.227]) by smtp.gmail.com with ESMTPSA id h20sm12192503pfn.173.2021.08.16.08.51.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Aug 2021 08:51:27 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 16 Aug 2021 12:51:00 -0300 Message-Id: <20210816155102.9731-2-jamrial@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210816155102.9731-1-jamrial@gmail.com> References: <20210816155102.9731-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] avcodec: add a Film Grain codec property flag X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: NXO1VL+j74Tx Signed-off-by: James Almer --- doc/APIchanges | 3 +++ fftools/ffprobe.c | 1 + libavcodec/avcodec.c | 2 ++ libavcodec/avcodec.h | 1 + libavcodec/version.h | 4 ++-- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 28cc0344ad..45272aca2c 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-08-xx - xxxxxxxxxx - lavc 59.5.100 - avcodec.h + Add FF_CODEC_PROPERTY_FILM_GRAIN + 2021-08-14 - xxxxxxxxxx - lavu 57.4.100 - imgutils.h Add av_image_copy_plane_uc_from() diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index 2e60e47334..acfec09656 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2656,6 +2656,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id print_int("coded_width", dec_ctx->coded_width); print_int("coded_height", dec_ctx->coded_height); print_int("closed_captions", !!(dec_ctx->properties & FF_CODEC_PROPERTY_CLOSED_CAPTIONS)); + print_int("film_grain", !!(dec_ctx->properties & FF_CODEC_PROPERTY_FILM_GRAIN)); } print_int("has_b_frames", par->video_delay); sar = av_guess_sample_aspect_ratio(fmt_ctx, stream, NULL); diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 6d60026c07..2dd7dd84e0 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -658,6 +658,8 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) } else { if (enc->properties & FF_CODEC_PROPERTY_CLOSED_CAPTIONS) av_bprintf(&bprint, ", Closed Captions"); + if (enc->properties & FF_CODEC_PROPERTY_FILM_GRAIN) + av_bprintf(&bprint, ", Film Grain"); if (enc->properties & FF_CODEC_PROPERTY_LOSSLESS) av_bprintf(&bprint, ", lossless"); } diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 5e32c5b0bf..f3f401871b 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1818,6 +1818,7 @@ typedef struct AVCodecContext { unsigned properties; #define FF_CODEC_PROPERTY_LOSSLESS 0x00000001 #define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002 +#define FF_CODEC_PROPERTY_FILM_GRAIN 0x00000004 /** * Additional data associated with the entire coded stream. diff --git a/libavcodec/version.h b/libavcodec/version.h index c2482428ca..8cdbb4ecf3 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,8 +28,8 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 59 -#define LIBAVCODEC_VERSION_MINOR 4 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MINOR 5 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \