<div dir="ltr">From 22613d8e014fd52b0b1114d29cef9a0673787fb0 Mon Sep 17 00:00:00 2001<br>From: Srikanth Kurapati <<a href="mailto:srikanth.kurapati@multicorewareinc.com" target="_blank">srikanth.kurapati@multicorewareinc.com</a>><br>Date: Wed, 14 Oct 2020 13:40:10 +0530<br>Subject: [PATCH] x265 wiki page updates for release version 3.5<br><br>includes archival procedure updates plus general edits in home and contribute pages<br>---<br> Contribute.md | 30 +++++++++++++--------------<br> Home.md       | 56 ++++++++++++++++++++++++++++++++++++++++++---------<br> 2 files changed, 62 insertions(+), 24 deletions(-)<br><br>diff --git a/Contribute.md b/Contribute.md<br>index 5fd299c..543492e 100644<br>--- a/Contribute.md<br>+++ b/Contribute.md<br>@@ -13,7 +13,7 @@ We use a mailing list to communicate and review patches:<br> <br> ## Contributor License Agreement ##<br> <br>-As is common for Open Source projects, we require a signed [contributor agreement](<a href="https://bitbucket.org/multicoreware/x265_git/downloads/x265ContributorAgreement.pdf" target="_blank">https://bitbucket.org/multicoreware/x265_git/downloads/x265ContributorAgreement.pdf</a>)<br>+As is common for Open Source Projects, we require a signed [contributor agreement](<a href="https://bitbucket.org/multicoreware/x265_git/downloads/x265ContributorAgreement.pdf" target="_blank">https://bitbucket.org/multicoreware/x265_git/downloads/x265ContributorAgreement.pdf</a>)<br> before we can accept changes.  This protects the project from being sued by former<br> contributors (or their employers) for copyright or patent infringement.<br> <br>@@ -39,8 +39,8 @@ can explain how git concepts map to Mercurial.  This [blog](<a href="http://stevelosh.com/" target="_blank">http://stevelosh.com</a><br> The first rule for contributing changes is to never develop from a<br> downloaded source package.  Always clone the x265 main repository at<br> <a href="https://bitbucket.org/multicoreware/x265_git" target="_blank">https://bitbucket.org/multicoreware/x265_git</a> and then develop within your<br>-cloned repository so your changes can be revisioned controlled from the<br>-beginning.<br>+cloned repository so your changes can be revisioned and version controlled from the<br>+beginning itself.<br> <br> A primary principle of distributed revision control is that every<br> developer with a clone has full and total access to the revision<br>@@ -61,10 +61,10 @@ then make more commits and repeat.  By the time your changes are ready<br> for public distribution, you might have dozens of commits and several<br> merges with incoming changes.  Here is how you tidy up all your work for<br> submission to our mailing list, the primary goal here is to rebase all<br>-of your changes on top of the current x265 tip so your patches will<br>+of your changes on top of the current x265 tip so that your patches will<br> apply cleanly on the maintainer's repository:<br> <br>-(these instructions are recommended to be done on terminal (either windows commnand prompt/git bash terminal/ if windows OS or linux terminal in case of Linux OS or ios terminal incase of iOs)<br>+(these instructions are recommended to be done on terminal (either windows command prompt/git bash terminal/ if windows OS or linux terminal in case of Linux OS or ios terminal incase of iOs)<br> <br> 1. Before beginning , make sure all of your changes have been checked in, or reverted if you did not want to keep them. You must start with a clean working directory. Login to the terminal and go to the folder which contains the repository.<br> ***CLI: git status ; git commit or git reset --hard***<br>@@ -94,7 +94,7 @@ this point you can review all of the changes you have made.  You can remove inad<br> 1. Separate white-space changes from logic changes.  Commits should never do both<br> <br> Now build and test the last commit to ensure all tests pass, etc.<br>-If any performance improvements are intended, the amount gained should<br>+If any performance or video encoding quality improvements are intended, the amount gained should<br> be included in the email subject or body, or in the commit message<br> itself.<br> <br>@@ -107,8 +107,8 @@ Finally you can email your patches to the mailing list.<br> * Eg : ***git format-patch master -1 cd9dda0793c5b874c711eafe5ffde15c0ac208cc -o patches***<br> 1. You should be able to see your new patches in the directory which was mentioned . The patches will have the commit message of the specific commit<br> <br>-Now build and test the last commit to ensure all tests pass, etc.<br>-If any performance improvements are intended, the amount gained should<br>+Now build and test the patches to ensure all tests pass, etc.<br>+If any performance or video encoding quality improvements are intended, the amount gained should<br> be included in the email subject or body, or in the commit message<br> itself.<br> <br>@@ -134,7 +134,7 @@ for continuing on:<br> In any case, you want to discard your old line of development and start<br> your new work from the current x265 tip.<br> <br>-**Maintenance of Hg repository**<br>+**Maintenance of Git repository**<br> <br> Once your patch is approved and pushed to the x265 Git repository, we have automated the process of getting all the new patches from the git repository and importing & pushing it to the respective branch of x265 Hg repository. By this way we ensure both the VCS are in sync and up to date.<br> <br>@@ -142,12 +142,12 @@ Once your patch is approved and pushed to the x265 Git repository, we have autom<br> <br> If you introduce a new x265_param member, you must add documentation for it and make it fully configurable.<br> <br>-1. x265.h needs good documentation<br>+1. x265.h needs good documentation as comments in the param data structures.<br> 2. x265_param_parse() must be updated<br> 3. x265_param2string() must be updated<br>-4. getopt() (and CLI help) support needs to be added to x265cli.h<br>-5. the param must be documented in doc/reST/cli.rst<br>-6. X265_BUILD must be incremented, the binary interface has changed<br>-7. test(s) have to be added to smoke-tests.txt and regression-tests.txt<br>+4. getopt() (and CLI help) support needs to be added to x265cli.h and cpp files<br>+5. The param option usage and relevance must be documented in doc/reST/cli.rst and corresponding rst documentation files.<br>+6. X265_BUILD must be incremented, as the binary interface has changed.<br>+7. TestCases have to be added to smoke-tests.txt and regression-tests.txt.<br> <br>-Much of the above is also true if you change any public function definitions or public structures.<br>\ No newline at end of file<br>+Much of the above is also true if you change any public function definitions or public structures available as part of API to the library.<br>\ No newline at end of file<br>diff --git a/Home.md b/Home.md<br>index 8f36e14..b75c2fc 100644<br>--- a/Home.md<br>+++ b/Home.md<br>@@ -25,13 +25,53 @@ MD5 (x265_3.1.2.tar.gz) = a528ab27660d6bcfc46188ae602b3c2e<br> MD5 (x265_3.2.tar.gz) = 374e6359a00d17fd82195c02c341c861<br> MD5 (x265_3.2.1.tar.gz) = 94808045a34d88a857e5eaf3f68f4bca<br> ```<br>+# Preparing Git Release tar balls<br>+<br>+Release source archive tar balls can be created by the following procedure in the below sections.<br>+<br>+## HOW TO POPULATE THE X265 VERSION TEXT FILE ##<br>+```<br>+The purpose of the x265 version file is to maintain and provide version information for archived repositories.  This file<br>+is available in the repository folder as x265Version.txt.  Every line in the file captures the version information in key value pairs format <Key: Value>.<br>+The following set of mandatory key value pairs are required for correct display of version string on the console.<br>+<br>+## VERSION INFORMATION FORMAT ##<br>+## Name: Values ##<br>+releasetag: [tag name] refers to the latest version tag for customers, users, developers or contributors in the format [x.x] or x.x_RC[number]<br>+releasetagdistance: [commit count] the number of revisions done since the release tagging has been done for bug fixes or feature enhancements due to testing.<br>+repositorychangeset: [git changeset] is the git generated SHA-1 key changeset string of the repository tip at which archival is performed.<br>+<br>+EXAMPLES:<br>+For tar ball generation of Release Tag.<br>+## Name: Values ##<br>+releasetag: Release_3.4<br>+repositorychangeset: a82c6c7<br>+releasetagdistance: 0<br>+<br>+When archives are generated after the Release for customers, users etc<br>+<br>+## Name: Values ##<br>+releasetag: Release_3.5<br>+releasetagdistance: 28<br>+repositorychangeset: a82c6c7<br>+<br>+For archival at a commit before the latest tag. same procedure as above works considering the previous tag as the latest one.<br>+<br>+After filling the x265version file for git repositories and saving the same.  The tarball can be generated using the git archive command.<br>+$git archive --format=tar.gz -o x265-3.5.tar.gz --prefix=x265-test/ HEAD<br>+<br>+In case of multiple entries for the release information attribute-value pairs.  The latest set of required attribute-value pairs in file will be considered.<br>+The same file can be appended at the end for every release.  In order to prepare archives for various tags(prior releases), user can provide the tagname as the changeset option for simplicity.<br>+Please refer to [documentation](<a href="https://x265.readthedocs.io/en/master/" target="_blank">https://x265.readthedocs.io/en/master/</a>) for version option details and git manual for more information about archival. The procedure suffices for zip and other<br>+relevant compression formats typically supported git and decompression tools available for various operating systems (OSs).<br>+```<br> <br> # Building x265<br> <br>-To compile x265 you must first install Git and [CMake](<a href="http://www.cmake.org/cmake/resources/software.html" target="_blank">http://www.cmake.org/cmake/resources/software.html</a>) 2.8.8 or later.<br>+To compile x265 you must first install Git (for live repositories) and [CMake](<a href="http://www.cmake.org/cmake/resources/software.html" target="_blank">http://www.cmake.org/cmake/resources/software.html</a>) 2.8.8 or later.<br> To ensure your build of x265 is capable of full performance, install<br> [YASM](<a href="http://www.tortall.net/projects/yasm/releases" target="_blank">http://www.tortall.net/projects/yasm/releases</a>) 1.2.0 or newer if you are using x265 v2.6 or older, or<br>-[NASM](<a href="http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D" target="_blank">http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D</a>) 2.13 or newer if you are compiling from the default branch to compile<br>+[NASM](<a href="http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D" target="_blank">http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D</a>) 2.13 or newer if you are compiling from the master branch to compile<br> assembly primitives.  Then follow these easy steps:<br> <br> For detailed instructions, consult our build [README](<a href="https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt" target="_blank">https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt</a>).  Basic instructions are outlined below.<br>@@ -46,11 +86,10 @@ $ sudo apt-get install git-all cmake cmake-curses-gui build-essential yasm<br> $ git clone <a href="https://bitbucket.org/multicoreware/x265_git.git" target="_blank">https://bitbucket.org/multicoreware/x265_git.git</a><br> $ cd x265/build/linux<br> $ ./make-Makefiles.bash<br>-$ make<br>+$ make -j8<br> ```<br>-<br>-The primary target that we support is x86. x265 can also be built on linux platforms on ARM and POWERPC targets using the same build insructions above<br>-(exclude yasm from the list of packages on these targets). Our support for these platforms is growing as our user base on these platforms increase.<br>+The primary target hardware architecture that we support is x86. x265 can also be built on Linux platforms on ARM and POWERPC target machines using the same build instructions above<br>+(exclude yasm from the list of packages on these target platforms). Our support for these platforms is growing as our user base on these platforms is increasing.<br> <br> We also support cross-compilation for ARM targets from linux platforms on x86 targets by using the g++ arm cross-compiler. This has been tested on Ubuntu linux<br> 14.04 running on an x86 CPU. On other distributions, package names and names of cross compilation tools may differ. This is an experimental feature, and has undergone very limited testing.<br>@@ -60,16 +99,15 @@ $ sudo apt-get install git-all cmake cmake-curses-gui build-essential gcc-arm-li<br> $ git clone <a href="https://bitbucket.org/multicoreware/x265_git.git" target="_blank">https://bitbucket.org/multicoreware/x265_git.git</a><br> $ cd x265/build/arm-linux<br> $ ./make-Makefiles.bash<br>-$ make<br>+$ make -j8<br> ```<br> ## Windows (Visual Studio) Instructions ##<br> ```<br> $ git clone <a href="https://bitbucket.org/multicoreware/x265_git.git" target="_blank">https://bitbucket.org/multicoreware/x265_git.git</a><br> ```<br>-<br> Then run make-solutions.bat in the build\ folder that corresponds to<br> your favorite compiler, configure your build options, click 'configure',<br>-click 'generate', then close cmake-gui.  You will be rewarded with an<br>+click 'generate', then close cmake-GUI.  You will be rewarded with an<br> x265.sln file.  Also see [cmake](<a href="http://www.cmake.org/cmake/help/runningcmake.html" target="_blank">http://www.cmake.org/cmake/help/runningcmake.html</a>)<br> documentation.<font color="#888888"><br> <br>--<br>2.20.1.windows.1</font>  <br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><b style="background-color:rgb(255,255,255)"><font color="#0b5394">With Regards,</font></b><div><b style="background-color:rgb(255,255,255)"><font color="#0b5394">Srikanth Kurapati.</font></b></div></div></div></div>