From patchwork Wed Sep 11 13:34:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Moritz Barsnick X-Patchwork-Id: 15020 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 78BEE44A48C for ; Wed, 11 Sep 2019 16:34:53 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 611AF687FC3; Wed, 11 Sep 2019 16:34:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AFB79687FB6 for ; Wed, 11 Sep 2019 16:34:46 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568208886; bh=FXpUkxIP+560uCOQRa7XmANyK56fvwIKxC6AYMuZzJE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=CTr6iH9dn3wTIes1qt7u4J1BQOGRG5GGxaSvkeodYT8fMZzxsFiJQyFlSXzM203c9 kriVNQixnRhBIs6agV7H7cki123m1TZI4ILuuhwhxLLYdLW/fTqyB96Azoe+2dJcWo E+Og+xJqqd0o+XBlUilEFTDd8cMTvVMFEk4Zp2Sc= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from paradise.fritz.box ([89.182.224.149]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0M97Nh-1hyO7P0RW1-00CQA9; Wed, 11 Sep 2019 15:34:46 +0200 From: Moritz Barsnick To: FFmpeg development discussions and patches Date: Wed, 11 Sep 2019 15:34:30 +0200 Message-Id: <456c8458535f26fc2f46045693724294b26cb6ed.1568205721.git.barsnick@gmx.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:KM4YVX6NnXVEQgSgtf1t0uJpdAEBx+oSOrzRx4uEicPuHaqtTAC eEDq+UsHG7eoI0LBC95rDmHQXlookjpP4hkK+wM/PGaL8IhR+hMWTR63NX7ngBtL7JNpsNM YLmdrbWtpSHempBNqJzWlbhgLZjHJOJvLulb0KjqzTA3bDSyhY1mwy4EE+mtU64x68l+3cx i1Q3dGWjt9DH1zGTpGEZg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:kCXJEI274FQ=:rBLTtKPlk8LtSr6vvds6qv lsY6jEb2+NkxOz6YbLm875pN2vbyYG24GDCoZPSr6gYRBCIdy4Egjfp9pCFvGslnEeF1Tc2q1 hNKWalnyiQ2vzJn8U8awgq06TyUUhzi3Xi6dGw0ju6K+DceUsQ6t3NVSXDdJ75teup7vci0GV o8s3ai5ui9eJpze5ivknJWGMmaz+XRw0Vg0nipIzWnYMbi90kYLO+NsF/RnvwXsnxXXtquYWe 0BilEUiP/49TsBHMGZjaiHpqN/pAhWO9dL6xcp5+0+4v6bJdNe+VDv1aTwQOdXjPp1eTzHrhY yZY6HQcQfaHgjCMuOjsNzUpTy4qWLTXFu1xImrUF/jNzvC4y+lgoqSA8CQt6AdWBkNTWDi3Wg 3xE0fRhQuIdZKUCq50gCip2yJ0Bo5cb1KzgjCDD3d1JdK6WcoOPSHWdFL5Ogvuq1Bjp/OEbK7 MuhDDKTdz+1cFp4q5nkjgBIqHewCvC0vQWI2vsAd51YJODoM3ZrtXa3O1Mo/ro/DxGkCm5MWV ZNZP5H+eFNHU28p0uHTL1IH1QfPFm2tpVzF7A/Ja/wqasYKJD21NOnYNeyomvGRalYphawB65 cAdWc8PzM3nv52wAn3uEFj74rro6Q9TkM1H7LLRR/+CBXw6JqEidg/y6LN8PH1QtEuGMzotKh 3jtVkKHfeDDfw/0AjumZvmzueswUbVTeh0qI6NADnhoNiKzsyeNw/9R5aZ45cWfxWqQqnIpiW CZXKZjCzXhHHVlISzLVTYCFJs0wsYJcZCfzAlvC5iAGNQZg/MNJQTauuQGnHJgW6X6E0fHRdN P0Uj6CYnC4OXZsAzbEL3fv/1QwudafQEZiETmGwj3IlaoaPQpzgjEykwR9t/5gSKbQ4CWmQaQ 1PsxCBKWT9b2nvJB0mRRxfPeLAD8q3/aqiMIerQZvMk40DDsg5pALuXrszG1UvoCNEJSf1bi2 dyGO6k2yIsUWAOMdMr7SiDU9sS1Bp+v+rLbuAErhhoEOP8PzI6+NuFHZyg2E6aWLKkTJMK+OW xWCBJd/Et9I5GRqkd/uCVw+SOp8Bx9ssVsNbQm62zSjWVogPQkGmmMXqu2uYegnD8XuYhPKM5 qkGqRiOKDetfzfdSHrNb5E2okDBBfDSusSrJ4lFduFoDrUmKhJ3I2o804jTWMtPllH/ncOkoS BM9zBiONH1xc2Cjpx1HL4fddS5zzZe+GD6SK5CCWiVke94Mx+ZsLn9v62wzBK8VndUpOEf7ne HOREY9z+oo6y+ofcMZWkv9XkPZYVP7U/x3UFrWQ== Subject: [FFmpeg-devel] [PATCH v2 1/3] avformat/hashenc: rearrange options definition 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: Moritz Barsnick Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Only the frame* muxers support the format_version option. Use macros to ease the proliferation of identical options to coming muxers as well. --- libavformat/hashenc.c | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) -- 2.20.1 diff --git a/libavformat/hashenc.c b/libavformat/hashenc.c index 06fc085d18..210bfdea0e 100644 --- a/libavformat/hashenc.c +++ b/libavformat/hashenc.c @@ -36,18 +36,37 @@ struct HashContext { #define OFFSET(x) offsetof(struct HashContext, x) #define ENC AV_OPT_FLAG_ENCODING_PARAM -#if CONFIG_HASH_MUXER || CONFIG_FRAMEHASH_MUXER +#define HASH_OPT(defaulttype) \ + { "hash", "set hash to use", OFFSET(hash_name), AV_OPT_TYPE_STRING, {.str = defaulttype}, 0, 0, ENC } +#define FORMAT_VERSION_OPT \ + { "format_version", "file format version", OFFSET(format_version), AV_OPT_TYPE_INT, {.i64 = 2}, 1, 2, ENC } + +#if CONFIG_HASH_MUXER static const AVOption hash_options[] = { - { "hash", "set hash to use", OFFSET(hash_name), AV_OPT_TYPE_STRING, {.str = "sha256"}, 0, 0, ENC }, - { "format_version", "file format version", OFFSET(format_version), AV_OPT_TYPE_INT, {.i64 = 2}, 1, 2, ENC }, + HASH_OPT("sha256"), + { NULL }, +}; +#endif + +#if CONFIG_FRAMEHASH_MUXER +static const AVOption framehash_options[] = { + HASH_OPT("sha256"), + FORMAT_VERSION_OPT, { NULL }, }; #endif -#if CONFIG_MD5_MUXER || CONFIG_FRAMEMD5_MUXER +#if CONFIG_MD5_MUXER static const AVOption md5_options[] = { - { "hash", "set hash to use", OFFSET(hash_name), AV_OPT_TYPE_STRING, {.str = "md5"}, 0, 0, ENC }, - { "format_version", "file format version", OFFSET(format_version), AV_OPT_TYPE_INT, {.i64 = 2}, 1, 2, ENC }, + HASH_OPT("md5"), + { NULL }, +}; +#endif + +#if CONFIG_FRAMEMD5_MUXER +static const AVOption framemd5_options[] = { + HASH_OPT("md5"), + FORMAT_VERSION_OPT, { NULL }, }; #endif @@ -219,7 +238,7 @@ static int framehash_write_trailer(struct AVFormatContext *s) static const AVClass framehash_class = { .class_name = "frame hash muxer", .item_name = av_default_item_name, - .option = hash_options, + .option = framehash_options, .version = LIBAVUTIL_VERSION_INT, }; @@ -242,7 +261,7 @@ AVOutputFormat ff_framehash_muxer = { static const AVClass framemd5_class = { .class_name = "frame MD5 muxer", .item_name = av_default_item_name, - .option = md5_options, + .option = framemd5_options, .version = LIBAVUTIL_VERSION_INT, };