-
Notifications
You must be signed in to change notification settings - Fork 24
Contribute
See our TODO page for work that needs to be done, and what is currently in progress
We use a mailing list to communicate and review patches:
- IRC: #x265 on freenode
- devel list: x265-devel@videolan.org
- commit list: x265-commits@videolan.org
- patchworks: http://patches.videolan.org/project/x265-devel/list/
As is common for Open Source projects, we require a signed contributor agreement before we can accept changes. This protects the project from being sued by former contributors (or their employers) for copyright or patent infringement.
You must download the document, fill it in, return it to us by one of the methods described in the document. We will countersign and return it to you. You only need to do this once.
x265 will follow Git's standard branching methodology. The repository will have two named branches, stable and master. The master branch is where all new development will be performed, while the stable branch is for bug fixes only until we get to a release cycle. Each time a bug fix commit is made to stable, that bug fix is merged into the master branch.
When we decide we want to release the contents of the master branch, we merge the master branch onto stable and then begin a short period of heavy testing leading up to a new revision tag being made on the stable branch. Once the tag is made, the master branch is opened again for new development.
Since this is such a young project, there will be no set release tag cadence. It will happen as often as is convenient and necessary, but hopefully at least once a month.
If you introduce a new x265_param member, you must add documentation for it and make it fully configurable.
- x265.h needs good documentation
- x265_param_parse() must be updated
- x265_param2string() must be updated
- getopt() (and CLI help) support needs to be added to x265cli.h
- the param must be documented in doc/reST/cli.rst
- X265_BUILD must be incremented, the binary interface has changed
- test(s) have to be added to smoke-tests.txt and regression-tests.txt
Much of the above is also true if you change any public function definitions or public structures.