From patchwork Sat May 18 17:00:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marvin Scholz X-Patchwork-Id: 51571 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9fc3:0:b0:48e:c0f8:d0de with SMTP id k3csp100288vqy; Fri, 13 Sep 2024 16:19:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV3qHyjWC/jfayIHV0HEFwas++ILT4F+ZkZzZa1HTU8Z/0+qQn4+7rv0+JT4MYUS0FDIYt3aU4m7JHQZM+bjijq@gmail.com X-Google-Smtp-Source: AGHT+IFloXgxuoYDNAaAnMft3PREjZmhJKlyfHxNsf8D6eUnLw7FV5z184Gx98jlRt/Rj/CCf9Aj X-Received: by 2002:a2e:be0f:0:b0:2ef:2c40:dd67 with SMTP id 38308e7fff4ca-2f787c1ad86mr31244191fa.3.1726269550723; Fri, 13 Sep 2024 16:19:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726269550; cv=none; d=google.com; s=arc-20240605; b=d1QiBZynjHBpLB4YZFRO3q1ouA2jqWf7HhRWFP1r2/kJXGHrFpKPHpfWdvf56yE8Ye TKn/GBx8oc2awifv+AzndwxNLMsPIerrsIXYupMiBRFVW9njUFOFjpG0nGr3ecagJ/iI 4jk+QKFHTShlhNXvVZLUTpOoJG49xDA7F95CDo0arciQFBSRvdD9LTgO+ACUH0f6caed CYFjFExtBhbCwfqBNi6ewwvl16Xv3lXWD6/j89CCDxczHg2DOkDPy4h0oJF1cU/BgLPr IkM4+fhYhNBc5WvXSFo+PMRw6uqa3A05OVPAQbkC3YogikW/0IxOKg0sb1DWk4Bj0ASi mQIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:date:from:to:message-id:dkim-signature :delivered-to; bh=jLGr6onnoccBWHDRSaRvHapaTGNR70HuWgz4ruG7nN0=; fh=5IeVwzS1vbVKjIV8MP3mnmnRtZGb8uteQ9r4QD2keV0=; b=grVtEpe/+ebmQAtCOvyeBDm+3hHdprATUj+ZvhoM5wLVBI/2DANBOKAp7sens3FQIj GaY1hit7+78lFDAthd9skTUbpONUMlim5d7eC2Qqsn+B+8hlVHnqTLlWI6EXXFnxIw9p 5vc5hKbbD6aGqH3pPHFJGO9b17C4YyYBWQXy/iSrgLhl6YgYeecEIDzSwfEPUsFj48Nr xP/Rsbh2zTj9IlTT692LreR36bIBIKPQ4VbAKUNId9NJMHBOgAmtgqs/3uYzZFYfXv00 +uJhHqv27iOxW4rjgpajkBvSSEtnpcgdyG6hSmK2km/PAfncqjlLk5JG/hB7F4Kgfw8W DSaw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=kVGQd3gy; 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; dara=fail header.i=@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 38308e7fff4ca-2f79d2c832csi842581fa.129.2024.09.13.16.19.10; Fri, 13 Sep 2024 16:19:10 -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=20230601 header.b=kVGQd3gy; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CBFD668DF2B; Fri, 13 Sep 2024 22:22:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E6D5568AE42 for ; Fri, 13 Sep 2024 22:22:20 +0300 (EEST) Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5c40942358eso380957a12.1 for ; Fri, 13 Sep 2024 12:22:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726255340; x=1726860140; darn=ffmpeg.org; h=subject:date:from:to:message-id:from:to:cc:subject:date:message-id :reply-to; bh=uxk720K+8Q+31Xp9+67PfHx9ldJM8Sx7M3zLNWu7Zwo=; b=kVGQd3gyOUOJKHYeVT3BTL7pLHzzJZyqM8qOc8f4L+oXD76gczLnbQF+/Pe0JyKTNJ yR3zMr3bHwCelgMuxlRPkvfoDzGOJ2v+ixptsr51Ku/owkxvUoN1E1yS8CoyQ6pxtj+o x99ojkgieaqLchdv7Sy7GAg4pLz9AO0EXdX3/YP5QvAOsYDSEYfrdZpSe25wjUHcZTrK Q/4+zopsQ8jHL43EMb3qEoddQMRXdgTd40wR9j57jRPyngMehuZBXEkNJuyJQ3SFy2kF VniOUG3v7hBlRj7C9bsnALyAKRo/em/r0R4h+5ZiEO71aRq3yV8nLwl6S7Ix3O9KPycc aYDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726255340; x=1726860140; h=subject:date:from:to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uxk720K+8Q+31Xp9+67PfHx9ldJM8Sx7M3zLNWu7Zwo=; b=auF4KO3JsjhcGriE7L7YSjwkzQllNvMuq7he3opyd83gV5iLTfszHo0WW7GcXiHddP vyk9FmSJfCiYrVITm3iIb4DVhLpVlQkBTwbiOangUMs3up1YkAC9Gnfzykjr4OnN2xRM odQzZXKSiqTydpHZ1BC/ij9RJ/Ww5kS4EJZu4eHmE85/y2p3SylDGHzGb/ThD6iftaas IuPgiaK2gOTn/f3+Qw4aYZ3sPwon1m3KmCLXfzu0R6YSqSs5FrPP3s8xlHtBySaJEDMH bSWCBNdhkgGvoY0OmBYFcW30yVCn699G5dP/UwwmDTy8bhadl1gzwUxMcyDo5ja1ggIH llzw== X-Gm-Message-State: AOJu0YxQ51BjBBUbX6fKOH2S6kA9KPeM/GEynDgbSqnJzdOexnuMTtvS hH94xznmUguUox39Hgqi1HtVIQ0QkWjpj5qIDUfx1y0Imam4NeZl7w1fAA== X-Received: by 2002:a05:6402:1f0c:b0:5be:f5b0:fc38 with SMTP id 4fb4d7f45d1cf-5c4015e5da3mr19370371a12.10.1726255339417; Fri, 13 Sep 2024 12:22:19 -0700 (PDT) Received: from localhost (p200300cccf026100f587b9af6c661ff7.dip0.t-ipconnect.de. [2003:cc:cf02:6100:f587:b9af:6c66:1ff7]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c3ebd76eb6sm7924418a12.61.2024.09.13.12.22.18 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Sep 2024 12:22:18 -0700 (PDT) Message-Id: To: From: "Marvin Scholz" Date: Sat, 18 May 2024 19:00:50 +0200 Subject: [FFmpeg-devel] [PATCH v2 1/2] doc/developer: add examples to clarify code style 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ZFtp7gSVHZf3 Given the frequency that new developers, myself included, get the code style wrong, it is useful to add some examples to clarify how things should be done. --- doc/developer.texi | 101 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) base-commit: 6229e4ac425b4566446edefb67d5c225eb397b58 diff --git a/doc/developer.texi b/doc/developer.texi index 41b21938ef..ea143549b4 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -115,7 +115,7 @@ Objective-C where required for interacting with macOS-specific interfaces. @section Code formatting conventions -There are the following guidelines regarding the indentation in files: +There are the following guidelines regarding the code style in files: @itemize @bullet @item @@ -135,6 +135,105 @@ K&R coding style is used. @end itemize The presentation is one inspired by 'indent -i4 -kr -nut'. +@subsection Examples +Some notable examples to illustrate common code style in FFmpeg: + +@itemize @bullet + +@item +Space around assignments and after +@code{if}/@code{do}/@code{while}/@code{for} keywords: + +@example c, good +// Good +if (condition) + av_foo(); +@end example + +@example c, good +// Good +for (size_t i = 0; i < len; i++) + av_bar(i); +@end example + +@example c, good +// Good +size_t size = 0; +@end example + +However no spaces between the parentheses and condition, unless it helps +readability of complex conditions, so the following should not be done: + +@example c, bad +// Bad style +if ( condition ) + av_foo(); +@end example + +@item +No unnecessary parentheses, unless it helps readability: + +@example c, good +// Good +int fields = ilace ? 2 : 1; +@end example + +@item +No braces around single-line blocks: + +@example c, good +// Good +if (bits_pixel == 24) + avctx->pix_fmt = AV_PIX_FMT_BGR24; +else if (bits_pixel == 8) + avctx->pix_fmt = AV_PIX_FMT_GRAY8; +else @{ + av_log(avctx, AV_LOG_ERROR, "Invalid pixel format.\n"); + return AVERROR_INVALIDDATA; +@} +@end example + +@item +Avoid assignments in conditions where it makes sense: + +@example c, good +// Good +video_enc->chroma_intra_matrix = av_mallocz(sizeof(*video_enc->chroma_intra_matrix) * 64) +if (!video_enc->chroma_intra_matrix) + return AVERROR(ENOMEM); +@end example + +@example c, bad +// Bad style +if (!(video_enc->chroma_intra_matrix = av_mallocz(sizeof(*video_enc->chroma_intra_matrix) * 64))) + return AVERROR(ENOMEM); +@end example + +@example c, good +// Ok +while ((entry = av_dict_iterate(options, entry))) + av_log(ctx, AV_LOG_INFO, "Item '%s': '%s'\n", entry->key, entry->value); +@end example + +@item +When declaring a pointer variable, the @code{*} goes with the variable not the type: + +@example c, good +// Good +AVStream *stream; +@end example + +@example c, bad +// Bad style +AVStream* stream; +@end example + +@end itemize + +If you work on a file that does not follow these guidelines consistently, +change the parts that you are editing to follow these guidelines but do +not make unrelated changes in the file to make it conform to these. + @subsection Vim configuration In order to configure Vim to follow FFmpeg formatting conventions, paste the following snippet into your @file{.vimrc}: From patchwork Fri Sep 13 19:17:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marvin Scholz X-Patchwork-Id: 51569 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9fc3:0:b0:48e:c0f8:d0de with SMTP id k3csp41739vqy; Fri, 13 Sep 2024 13:39:13 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUwO1/IfGW/IRRcvUCGrQcPb5H9ixfvjgjy4IYQWh3YpEod9ioNtWLB3V/RRxoDgq3LvU+CxIQikG2xm7i8Avg5@gmail.com X-Google-Smtp-Source: AGHT+IHmffRmp6aoIWJSQwfFXSg0NSSCv7hhZLfTgZZyaAIaquH9hzv9/IdVF1cOXcE8Yy+2+mcI X-Received: by 2002:ac2:4c41:0:b0:52e:f58b:65ee with SMTP id 2adb3069b0e04-53678ff48ebmr5228825e87.57.1726259953638; Fri, 13 Sep 2024 13:39:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726259953; cv=none; d=google.com; s=arc-20240605; b=EDYX6EbB52LAfoAByJE1v8m97j2AsU/YT2r3daIZ5DOmXRTZtJEjMZVCX7ECYmOVXK hWakdUi+2x0ZbbMLle0S8vboAnLqnx4yXQ5eD3Si4tvZzNy3yGDesutFGNp1umKtS3/6 37CTIxEFkrp2UCBYzjV8f0K6gvKWKv2e6jo7+i+ziZkmLxn96/Uv3Cj1zObiTzzR5FVI 3zhVTxG0AxtKh9lOWuHr4ys49HDEG5y27TzV3CyslWT8FBJoyxpYGHNsypAm0UshPGNG fAZW6ixU3cuFkhIEsF4oafphjMDo8r9qBfjNwSRNqVFGBo4zdH7yIdla32UugH8Z3dlx 1dUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:date:from:to:message-id:in-reply-to :dkim-signature:delivered-to; bh=ywqL6KuqBI0l7UfBgaZ/tTj1JizmDWI9r+i5npl5W7M=; fh=5IeVwzS1vbVKjIV8MP3mnmnRtZGb8uteQ9r4QD2keV0=; b=QbfcL4JVfyS8Z5iso288i3aSF1prjt4NHFINajQBLe+Na9Y3aFiWJgHnNSgm0lynd2 g9XY/mDGhgNB4OBLemkWqquEVuLv9A6URzDBIiTGPcdtXL512fQzABkVsBBGxn7Vbfx6 yeaIJGW2r/yPoXDhdVFtSQrtfM6DaLjj1pA9s7Qdgc08wKyLcE6iaTNkfcYwjyGNZPxL MxGxpZJmhn49IxDW3Y4NtqKp70pIa/xepvYFyGPE7p/pywu59ddO4bDX0N6J97vdUvtu P9Go5QY/8OPRz4DmhZXivBSVevX7RQ8gsBsGI1P/mctywAdGl5wvxD6snE3aLUnPtBAv gOFg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=FDhSj5RX; 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; dara=fail header.i=@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 2adb3069b0e04-536870bc4cesi30617e87.592.2024.09.13.13.39.12; Fri, 13 Sep 2024 13:39:13 -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=20230601 header.b=FDhSj5RX; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 033CA68DF61; Fri, 13 Sep 2024 22:22:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9F9A268DF2B for ; Fri, 13 Sep 2024 22:22:21 +0300 (EEST) Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5c3ca32971cso3126043a12.0 for ; Fri, 13 Sep 2024 12:22:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726255341; x=1726860141; darn=ffmpeg.org; h=subject:date:from:to:message-id:in-reply-to:from:to:cc:subject:date :message-id:reply-to; bh=ABtHgfgmltRkhmukpAvWv9akuDs8ycF30XyjyAoPdxU=; b=FDhSj5RXOJdGEFPuNFiGIq7WxEmjOVH5lpanG1mID3eLqrQPVgyUCK73kbbUGM00+E u+ODxRHAdfJiifIe9OJGeT1D6Kksxx9jMyIpj9vJTVRhaVMYKGnWjvfyMrilO6EGL98h qnz9KjapifCfdyb07NQ2sBN3IxkwUc/95BuezwI/6pUyyfEFUD6GvjzU9lBK138CmCs+ 3FK2Ccd8TM+1KiV1A5SYm6y1KO3iSnNZE3EaTLMll5QLcJcI+mVCaLQD3Bddyo7wyrwI tQ1UjGLGmGAg41Nf9ItyitZzlPvfgWBzSjZXaP6P/3DIaLhQiwNBjlLSWp4ghRcTFAdd obZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726255341; x=1726860141; h=subject:date:from:to:message-id:in-reply-to:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ABtHgfgmltRkhmukpAvWv9akuDs8ycF30XyjyAoPdxU=; b=fC3+KZ6SbRpBFzHWSaSGCuiPgSvBA4/BLYmnmyygChhANtLC2tFQ+bACjFXJDgjXjv cysk/61WG0g4+7Q+OrutzF2w9jsxKLAV2LWAzY0aybnDy5tpnHp1A8OkfBbtXlZIVn6F LHx9zxCCCWUWNtzh649S849QOjsb6oRS2wzRBkCNOCYdlldyMlKp8hM8+uoAcsxsPbc2 hi8En3hvNmknRCCqjJ2C8RmBl48XJGJz9DXmgmdlIchyKxLMcnPvxAtshmob5Okk/HNg bkshQupAyL4E/d3WH+NsYYNSUAJHU+GnqksbXSajhkdRT0Er/Y5PYbRe1abqTsuYjvsA OZ5g== X-Gm-Message-State: AOJu0YyAEmmtcNzSqZ32shPWWbeNR3SKSQ6vQcuoVaPdoE/6IqW1NFbT J+eYPcpf4dmcBCE7NtXB+ruuwLJJXYRUlz7pzk/ONxmJtwfN5/29MFa6cw== X-Received: by 2002:a05:6402:5207:b0:5c0:ad76:f70e with SMTP id 4fb4d7f45d1cf-5c413e08965mr5648454a12.6.1726255340184; Fri, 13 Sep 2024 12:22:20 -0700 (PDT) Received: from localhost (p200300cccf026100f587b9af6c661ff7.dip0.t-ipconnect.de. [2003:cc:cf02:6100:f587:b9af:6c66:1ff7]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c3ebd76eb6sm7924418a12.61.2024.09.13.12.22.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Sep 2024 12:22:19 -0700 (PDT) In-Reply-To: Message-Id: To: From: "Marvin Scholz" Date: Fri, 13 Sep 2024 21:17:26 +0200 Subject: [FFmpeg-devel] [PATCH v2 2/2] doc: add styles for good/bad code examples 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: I1uxpzMCKOcF Makes it easier to immediately see if the code examples given in the style documentation are good or bad examples, making it harder to accidentally confuse a bad example for a good one. --- doc/style.min.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) px}.with-icon .pull-left{padding-right:30px}.with-icon .pull-right{padding-left:30px}dd{margin-left:20px}code{background-color:#242424;color:#7fc77f;display:inline-block;margin:5px}.table{margin:20px 0;border-radius:4px}.table th,.table td,.table tr{border:1px solid #171717}.table tr th{background-color:#3e3e3e;border-bottom:2px solid #e6e6e6}.table tr:nth-child(odd){background-color:#242424}#sidebar-wrapper, .navbar{background-color:#171717;overflow-x:hidden}#sidebar-wrapper .sidebar-brand img,#sidebar-wrapper .navbar-brand img, .navbar .sidebar-brand img, .navbar .navbar-brand img{opacity:0.6;margin-right:8px}#sidebar-wrapper .sidebar-brand:hover,#sidebar-wrapper .navbar-brand:hover, .navbar .sidebar-brand:hover, .navbar .navbar-brand:hover{color:#fff}#sidebar-wrapper .sidebar-brand:hover img,#sidebar-wrapper .navbar-brand:hover img, .navbar .sidebar-brand:hover img, .navbar .navbar-brand:hover img{opacity:1}#sidebar-wrapper .sidebar-nav li ul, .navbar .sidebar-nav li ul{list-styl e-type:none;padding:0}#sidebar-wrapper .sidebar-nav li ul li, .navbar .sidebar-nav li ul li{line-height:20px}#sidebar-wrapper .sidebar-nav li ul li a, .navbar .sidebar-nav li ul li a{padding-left:20px}.content-header{height:auto;background-color:#242424}.content-header h1{color:#e6e6e6;display:block;margin:0;margin-bottom:20px;line-height:normal;border-bottom:none}#download h4, #index h4{margin-top:180px}#download h4.first, #index h4.first{margin-top:20px}#download h4.first small, #index h4.first small{color:inherit;font-size:1em}#download .btn-download-wrapper, #index .btn-download-wrapper{text-align:center;margin:160px auto}#download .btn-download-wrapper .btn, #index .btn-download-wrapper .btn{font-size:3em;padding:3%;display:inline-block;margin-bottom:5px}#download .btn-download-wrapper small, #index .btn-download-wrapper small{display:block;font-size:0.4em}#download h2.description, #index h2.description{color:#e6e6e6;font-size:2em;font-weight:bold;margin:120px 50px;line-height: 2em}#download h2.description .label, #index h2.description .label{font-size:0.5em}#download .btn-download-wrapper{margin:40px auto}#download .os-selector{text-align:center;color:#e6e6e6;margin:30px 0}#download .os-selector a.btn-build{color:#e6e6e6;display:block;padding:20px;border-radius:2px}#download .os-selector .btn-build[href="#build-linux"]{background-color:#e43}#download .os-selector .btn-build[href="#build-linux"]:hover{color:#e43;background-color:#e6e6e6}#download .os-selector .btn-build[href="#build-windows"]{background-color:#06a}#download .os-selector .btn-build[href="#build-windows"]:hover{color:#06a;background-color:#e6e6e6}#download .os-selector .btn-build[href="#build-mac"]{background-color:darkgrey}#download .os-selector .btn-build[href="#build-mac"]:hover{color:darkgrey;background-color:#e6e6e6}#download .os-selector .tab-content{margin-top:20px}#download .os-selector #build-linux h3{color:#e43}#download .os-selector #build-windows h3{color:#06a}#download .os-selec tor #build-mac h3{color:darkgrey}footer{background-color:#242424;border-top:1px #101010 solid;padding:20px 0%}footer a{display:block}footer img[alt="FFmpeg"]{width:50%;display:block;margin:auto} + */body{background-color:#313131;color:#e6e6e6;text-align:justify}body, h1, h2, h3, h4, h5, h6{font-family:"Lucida Grande","Lucida Sans Unicode","Lucida Sans","Helvetica Neue",Helvetica,Verdana,Tahoma,sans-serif}a{color:#4cae4c}a strong{color:#e6e6e6}a:hover{color:#7fc77f}a:hover strong{color:#4cae4c}main{width:100% ! important;min-height:600px;margin:auto}h1, h2, h3, h4{font-weight:bold;text-align:left}h1, h2, h3{color:#bebebe}h1 strong, h2 strong, h3 strong{color:#e6e6e6}h4, h5, h6{color:#3c8b3c}h1{border-bottom:4px #bebebe solid;padding:20px 2%}h3{border-bottom:2px #bebebe solid;padding:15px 1%}h4{border-bottom:1px solid #e6e6e6;padding:10px 0;margin:20px 0;color:#e6e6e6}.list-group .list-group-item{background-color:#3e3e3e;border-color:black}.list-group.list-group-big .list-group-item{padding:25px}.list-group a.list-group-item{color:#7fc77f}.list-group a.list-group-item:hover{background-color:#313131;color:#4cae4c}.well{background-color:#242424;border-color:black;color:#bebebe}. well strong{color:#e6e6e6}.well code{background-color:#313131}.well hr{border-color:#3c8b3c}.well h3{margin:5px 0 15px 0;border:0;padding:0}.well a{color:#4cae4c}.well a.btn{color:white}.well small{display:block;padding:0 10px;font-style:italic}.well.example{padding-top:40px;margin-bottom:130px}.well.example pre{margin:50px;margin-bottom:30px;font-size:1.5em}.well.example .btn{margin-right:50px;margin-bottom:20px}.well.well-with-icon{min-height:136px}.well.well-with-icon .pull-right,.well.well-with-icon .pull-left{background-color:#4cae4c;color:#e6e6e6;padding:10px;border-radius:5px;margin:5px}.well.well-with-icon .pull-right{margin-left:20px}.well.well-with-icon .pull-left{margin-right:20px}a.well{display:block}a.well:hover{text-decoration:none;opacity:0.8}.info, .warning{margin:10px;padding:10px;background-color:#3e3e3e;color:#e6e6e6}.info code, .warning code{background-color:#313131}.info{border-left:10px #4cae4c solid}.warning{border-left:10px #ae4c4c solid}.with-icon{padding:30 px}.with-icon .pull-left{padding-right:30px}.with-icon .pull-right{padding-left:30px}dd{margin-left:20px}code{background-color:#242424;color:#7fc77f;display:inline-block;margin:5px}.table{margin:20px 0;border-radius:4px}.table th,.table td,.table tr{border:1px solid #171717}.table tr th{background-color:#3e3e3e;border-bottom:2px solid #e6e6e6}.table tr:nth-child(odd){background-color:#242424}#sidebar-wrapper, .navbar{background-color:#171717;overflow-x:hidden}#sidebar-wrapper .sidebar-brand img,#sidebar-wrapper .navbar-brand img, .navbar .sidebar-brand img, .navbar .navbar-brand img{opacity:0.6;margin-right:8px}#sidebar-wrapper .sidebar-brand:hover,#sidebar-wrapper .navbar-brand:hover, .navbar .sidebar-brand:hover, .navbar .navbar-brand:hover{color:#fff}#sidebar-wrapper .sidebar-brand:hover img,#sidebar-wrapper .navbar-brand:hover img, .navbar .sidebar-brand:hover img, .navbar .navbar-brand:hover img{opacity:1}#sidebar-wrapper .sidebar-nav li ul, .navbar .sidebar-nav li ul{list-styl e-type:none;padding:0}#sidebar-wrapper .sidebar-nav li ul li, .navbar .sidebar-nav li ul li{line-height:20px}#sidebar-wrapper .sidebar-nav li ul li a, .navbar .sidebar-nav li ul li a{padding-left:20px}.content-header{height:auto;background-color:#242424}.content-header h1{color:#e6e6e6;display:block;margin:0;margin-bottom:20px;line-height:normal;border-bottom:none}#download h4, #index h4{margin-top:180px}#download h4.first, #index h4.first{margin-top:20px}#download h4.first small, #index h4.first small{color:inherit;font-size:1em}#download .btn-download-wrapper, #index .btn-download-wrapper{text-align:center;margin:160px auto}#download .btn-download-wrapper .btn, #index .btn-download-wrapper .btn{font-size:3em;padding:3%;display:inline-block;margin-bottom:5px}#download .btn-download-wrapper small, #index .btn-download-wrapper small{display:block;font-size:0.4em}#download h2.description, #index h2.description{color:#e6e6e6;font-size:2em;font-weight:bold;margin:120px 50px;line-height: 2em}#download h2.description .label, #index h2.description .label{font-size:0.5em}#download .btn-download-wrapper{margin:40px auto}#download .os-selector{text-align:center;color:#e6e6e6;margin:30px 0}#download .os-selector a.btn-build{color:#e6e6e6;display:block;padding:20px;border-radius:2px}#download .os-selector .btn-build[href="#build-linux"]{background-color:#e43}#download .os-selector .btn-build[href="#build-linux"]:hover{color:#e43;background-color:#e6e6e6}#download .os-selector .btn-build[href="#build-windows"]{background-color:#06a}#download .os-selector .btn-build[href="#build-windows"]:hover{color:#06a;background-color:#e6e6e6}#download .os-selector .btn-build[href="#build-mac"]{background-color:darkgrey}#download .os-selector .btn-build[href="#build-mac"]:hover{color:darkgrey;background-color:#e6e6e6}#download .os-selector .tab-content{margin-top:20px}#download .os-selector #build-linux h3{color:#e43}#download .os-selector #build-windows h3{color:#06a}#download .os-selec tor #build-mac h3{color:darkgrey}footer{background-color:#242424;border-top:1px #101010 solid;padding:20px 0%}footer a{display:block}footer img[alt="FFmpeg"]{width:50%;display:block;margin:auto}.example.user-good pre{color:#bfbfbf;border:1px solid #357735;border-left:10px solid #357735;background-color:#242424}.example.user-bad pre{color:#bfbfbf;border:1px solid #ae4c4c;border-left:10px solid #ae4c4c;background-color:#242424} diff --git a/doc/style.min.css b/doc/style.min.css index 6843fda57d..a502310bb9 100644 --- a/doc/style.min.css +++ b/doc/style.min.css @@ -20,4 +20,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */body{background-color:#313131;color:#e6e6e6;text-align:justify}body, h1, h2, h3, h4, h5, h6{font-family:"Lucida Grande","Lucida Sans Unicode","Lucida Sans","Helvetica Neue",Helvetica,Verdana,Tahoma,sans-serif}a{color:#4cae4c}a strong{color:#e6e6e6}a:hover{color:#7fc77f}a:hover strong{color:#4cae4c}main{width:100% ! important;min-height:600px;margin:auto}h1, h2, h3, h4{font-weight:bold;text-align:left}h1, h2, h3{color:#bebebe}h1 strong, h2 strong, h3 strong{color:#e6e6e6}h4, h5, h6{color:#3c8b3c}h1{border-bottom:4px #bebebe solid;padding:20px 2%}h3{border-bottom:2px #bebebe solid;padding:15px 1%}h4{border-bottom:1px solid #e6e6e6;padding:10px 0;margin:20px 0;color:#e6e6e6}.list-group .list-group-item{background-color:#3e3e3e;border-color:black}.list-group.list-group-big .list-group-item{padding:25px}.list-group a.list-group-item{color:#7fc77f}.list-group a.list-group-item:hover{background-color:#313131;color:#4cae4c}.well{background-color:#242424;border-color:black;color:#bebebe}. well strong{color:#e6e6e6}.well code{background-color:#313131}.well hr{border-color:#3c8b3c}.well h3{margin:5px 0 15px 0;border:0;padding:0}.well a{color:#4cae4c}.well a.btn{color:white}.well small{display:block;padding:0 10px;font-style:italic}.well.example{padding-top:40px;margin-bottom:130px}.well.example pre{margin:50px;margin-bottom:30px;font-size:1.5em}.well.example .btn{margin-right:50px;margin-bottom:20px}.well.well-with-icon{min-height:136px}.well.well-with-icon .pull-right,.well.well-with-icon .pull-left{background-color:#4cae4c;color:#e6e6e6;padding:10px;border-radius:5px;margin:5px}.well.well-with-icon .pull-right{margin-left:20px}.well.well-with-icon .pull-left{margin-right:20px}a.well{display:block}a.well:hover{text-decoration:none;opacity:0.8}.info, .warning{margin:10px;padding:10px;background-color:#3e3e3e;color:#e6e6e6}.info code, .warning code{background-color:#313131}.info{border-left:10px #4cae4c solid}.warning{border-left:10px #ae4c4c solid}.with-icon{padding:30