From patchwork Thu Sep 12 09:23:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Moritz Barsnick X-Patchwork-Id: 15038 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 EEBBE44A18B for ; Thu, 12 Sep 2019 12:23:22 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D65DE6880BF; Thu, 12 Sep 2019 12:23:22 +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.15.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E427688108 for ; Thu, 12 Sep 2019 12:23:16 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568280196; bh=SP2Hzah7HGDkChcj6BRPdSKErJQsBkL1XsdgnU/Ci7s=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Rsc6XMRa63527cEfIUyflw85yJNg07wLr/NMuKq6wbhCExRJN9I0KLBMJmUP0Nz9B jw2mQ4d4UNjjA7THzSiGN8MKVaBEexKgXndPN4sX9TP3rduWde4DaCPXad3rkvtWrg hzXIiz7YNN9HlKUZwkUk1dCiGYgDymYE4THtX3RQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from paradise.fritz.box ([89.182.225.50]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LqylH-1id1F23uiZ-00edCu; Thu, 12 Sep 2019 11:23:16 +0200 From: Moritz Barsnick To: FFmpeg development discussions and patches Date: Thu, 12 Sep 2019 11:23:04 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 In-Reply-To: References: MIME-Version: 1.0 X-Provags-ID: V03:K1:Gd09CFsVNZ3fez0MCiXIgzDBWUqz5cqpGWwYqeRNlJI3iGmknvU xnRb1HOwLrLWOqfVecYgKFVf9hlL72zX8jMkTBEOGEAENdRDEShuoLKGNmKjb1e2DXa0z+8 QI23L4RjF8vd1RMWHmjjM0bDyRYGYcQXn2dUSHpu1sKcokSqaJYnJtNJ1jyJwGTsKxBaLJ1 svjEMvjC6H5TouO6WzKrg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:oHu/zShJpRk=:j/9zUkvUMtSBrdD7wIRSv4 WlZgif251i3U011Msis56Zvh+HtdBc92XNWjmkW567J5lofGZ47gvKIFCNeeGfvGvzSpvpr8R T5N5xUYDPKvT/djUiNgV6dTOmQMSknCyB4M6tupb0C8TZRMtpXG8oj4ULoZA5qAkQTChTS/GJ pS3ZHxRLsb549FUcFOPhw+OaKAs9sJ4cqqkOwQJNoaQksmkEa4uVwbQ9BRFG9CARr2d0zwzeb V1xXcwHovVOzSQ/2pc0M/QX9y8amVOw76B9Ymi2jV7RmOc3TPb930lQoNr1xxPg7IOQBCf+G8 vs4zjapEzHs3DNE0fewUV8siNRgXOcoADs+cGeK+dCwlZSdAccI8RWxduqRTg9/rv8hvkZMf5 GqMerzfh2j9T50uoOicQAg4ezQfBNy8r8ZBMWG+24nXNzu5tOhKVJvZSB756KJJdPK7osXenz x8qcswLkHU6J+G7qp+ACxEU3up0rihCHfg5RnsPHYN8k54YX8u2cLEbbXls5toksNZNE+Qavy rIZrWWBZulKvmv2YMl9XMMUpRuVuNUThzuE5EZTAwtRB5J8F4LDTXjoT5DSGJpGHiQZZCu0pX XZ1TGsFqZ6DQFAJa8AIyHDW/dfE+IlpcDNDxiMHoULcV3/AzWMVELCVaBmGbmBtrcZsnNzzqx Z4ZD14yn/IX9PGv9ffW9L1FrXYxnUxrQZ29NmBye9nWtphILFU1eUgtCoru0l5onVLGc446NC b+JOjvDWnLzS8wYJv5aVpvgbyvoZqZ1rKeb2iUACfXJitb+hobZ7D2w511sJkfgFmxelK2ZZC 7Szc2gpa9LjofrhJZno+cmlnHe8Yxb2NG57jZjrZw4hin8wOx21ZAIF8Cz9ZB4A7g7I/ZgakQ l7zgooEe6lW9GApO6ez3fgL1t7H7SU7n+yRKT9LWwxl3MLNN2QqhngIsBGRmaTzcHVVja6FRs VRj/DyuIqT31ZCtd8xaraPrDq7UlHVnaCP6H7YP5ESHLZrHW361otfbGz52ANNifC4eUauMRu eCrwQhoxM+ByZovEiz/xpeMbl6ZXDytLg7QdcO7vAhSRDbB4X/Y2VTmKtUH9uzn2+LY321tya YJu6quY3r1r7vJYkjoQ6faCaWXqr39DURrbwgsyZgRB+NM4VrLpUjEKz6jEGjL5XwkzcNgXSv rGcZBC4BsxBLKshkkDymY1sCz+dPpeVlBE+sBB+JXoUng7zJlknd2kqt7Nw7Wzcf8mZfnZDeT okq9ihUNHNzh7dBIvTCIxGhdpZ+zBj30UovW8gg== Subject: [FFmpeg-devel] [PATCH v3 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. Signed-off-by: Moritz Barsnick --- 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, };