[x265] [PATCH] presets: Updating presets to improve coding efficiency and speed
Pradeep Ramachandran
pradeep at multicorewareinc.com
Tue Dec 22 04:35:30 CET 2015
Ok thanks - will fix and resend.
Pradeep.
On Tue, Dec 22, 2015 at 7:38 AM, Deepthi Nandakumar <
deepthi at multicorewareinc.com> wrote:
> Yes, you're right, Tom. Also this patch will not apply at the current tip,
> since Tom committed a patch to presets.rst yesterday.
>
> On Tue, Dec 22, 2015 at 7:30 AM, Tom Vaughan <
> tom.vaughan at multicorewareinc.com> wrote:
>
>> Pradeep,
>> In presets.rst you put 2 rows in for limit-refs. The 2nd one should be
>> limit-modes.
>>
>> +| limit-modes | 0 | 0 | 0 | 0 | 0
>> | 0 | 1 | 1 | 1 | 0 |
>>
>> Also, I don't see limit-modes changed for slow, slower and veryslow.
>>
>> Please double-check that everything matches our planned changes before we
>> commit this.
>>
>> Tom
>>
>> -----Original Message-----
>> From: x265-devel [mailto:x265-devel-bounces at videolan.org] On Behalf Of
>> Pradeep Ramachandran
>> Sent: Monday, December 21, 2015 12:42 AM
>> To: x265-devel at videolan.org
>> Subject: [x265] [PATCH] presets: Updating presets to improve coding
>> efficiency and speed
>>
>> # HG changeset patch
>> # User Pradeep Ramachandran <pradeep at multicorewareinc.com> # Date
>> 1450687279 -19800
>> # Mon Dec 21 14:11:19 2015 +0530
>> # Node ID df793ec188d2cb6ea9dc886296ccb4c7448e4523
>> # Parent 0315c0c389c99185cbaa73a0e8acfe9ef60dd817
>> presets: Updating presets to improve coding efficiency and speed.
>>
>> This commit results in vast improvements in encoding speed and efficiency
>> for several presests. Most important features are increasing # references
>> for some presets and enabling limit-refs and limit-mode to limit impact on
>> speed.
>>
>> diff -r 0315c0c389c9 -r df793ec188d2 doc/reST/cli.rst
>> --- a/doc/reST/cli.rst Thu Dec 17 23:27:58 2015 +0530
>> +++ b/doc/reST/cli.rst Mon Dec 21 14:11:19 2015 +0530
>> @@ -685,7 +685,7 @@
>> (within your decoder level limits) if you enable one or
>> both of these flags.
>>
>> - This feature is EXPERIMENTAL and functional at all RD levels.
>> + Default 3.
>>
>> .. option:: --limit-modes, --no-limit-modes
>>
>> diff -r 0315c0c389c9 -r df793ec188d2 doc/reST/presets.rst
>> --- a/doc/reST/presets.rst Thu Dec 17 23:27:58 2015 +0530
>> +++ b/doc/reST/presets.rst Mon Dec 21 14:11:19 2015 +0530
>> @@ -22,7 +22,7 @@
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | | ultrafast | superfast | veryfast | faster | fast
>> | medium | slow | slower | veryslow | placebo |
>>
>> +=====================+===========+===========+==========+========+======+
>> ========+======+========+==========+=========+
>> -| ctu | 32 | 32 | 32 | 64 | 64
>> | 64 | 64 | 64 | 64 | 64 |
>> +| ctu | 32 | 32 | 64 | 64 | 64
>> | 64 | 64 | 64 | 64 | 64 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | min-cu-size | 16 | 8 | 8 | 8 | 8
>> | 8 | 8 | 8 | 8 | 8 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> @@ -36,7 +36,9 @@
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | scenecut | 0 | 40 | 40 | 40 | 40
>> | 40 | 40 | 40 | 40 | 40 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> -| ref | 1 | 1 | 1 | 1 | 2
>> | 3 | 3 | 3 | 5 | 5 |
>> +| ref | 1 | 1 | 2 | 2 | 3
>> | 3 | 4 | 4 | 5 | 5 |
>> ++---------------------+-----------+-----------+----------+--------+------
>> +--------+------+--------+----------+---------+
>> +| limit-refs | 0 | 0 | 3 | 3 | 3
>> | 3 | 3 | 2 | 1 | 0 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | me | dia | hex | hex | hex | hex
>> | hex | star | star | star | star |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> @@ -48,6 +50,8 @@
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | amp | 0 | 0 | 0 | 0 | 0
>> | 0 | 0 | 1 | 1 | 1 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> +| limit-refs | 0 | 0 | 0 | 0 | 0
>> | 0 | 1 | 1 | 1 | 0 |
>> ++---------------------+-----------+-----------+----------+--------+------
>> +--------+------+--------+----------+---------+
>> | max-merge | 2 | 2 | 2 | 2 | 2
>> | 2 | 3 | 3 | 4 | 5 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | early-skip | 1 | 1 | 1 | 1 | 0
>> | 0 | 0 | 0 | 0 | 0 |
>> @@ -66,7 +70,7 @@
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | aq-mode | 0 | 0 | 1 | 1 | 1
>> | 1 | 1 | 1 | 1 | 1 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> -| cuTree | 0 | 0 | 0 | 0 | 1
>> | 1 | 1 | 1 | 1 | 1 |
>> +| cuTree | 1 | 1 | 1 | 1 | 1
>> | 1 | 1 | 1 | 1 | 1 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> | rdLevel | 2 | 2 | 2 | 2 | 2
>> | 3 | 4 | 6 | 6 | 6 |
>>
>> +---------------------+-----------+-----------+----------+--------+------+
>> --------+------+--------+----------+---------+
>> diff -r 0315c0c389c9 -r df793ec188d2 source/common/param.cpp
>> --- a/source/common/param.cpp Thu Dec 17 23:27:58 2015 +0530
>> +++ b/source/common/param.cpp Mon Dec 21 14:11:19 2015 +0530
>> @@ -159,7 +159,7 @@
>> param->subpelRefine = 2;
>> param->searchRange = 57;
>> param->maxNumMergeCand = 2;
>> - param->limitReferences = 0;
>> + param->limitReferences = 3;
>> param->limitModes = 0;
>> param->bEnableWeightedPred = 1;
>> param->bEnableWeightedBiPred = 0;
>> @@ -279,9 +279,9 @@
>> param->bEnableWeightedPred = 0;
>> param->rdLevel = 2;
>> param->maxNumReferences = 1;
>> + param->limitReferences = 0;
>> param->rc.aqStrength = 0.0;
>> param->rc.aqMode = X265_AQ_NONE;
>> - param->rc.cuTree = 0;
>> param->rc.qgSize = 32;
>> param->bEnableFastIntra = 1;
>> }
>> @@ -296,9 +296,9 @@
>> param->bEnableWeightedPred = 0;
>> param->rdLevel = 2;
>> param->maxNumReferences = 1;
>> + param->limitReferences = 0;
>> param->rc.aqStrength = 0.0;
>> param->rc.aqMode = X265_AQ_NONE;
>> - param->rc.cuTree = 0;
>> param->rc.qgSize = 32;
>> param->bEnableSAO = 0;
>> param->bEnableFastIntra = 1; @@ -306,13 +306,11 @@
>> else if (!strcmp(preset, "veryfast"))
>> {
>> param->lookaheadDepth = 15;
>> - param->maxCUSize = 32;
>> param->bFrameAdaptive = 0;
>> param->subpelRefine = 1;
>> param->bEnableEarlySkip = 1;
>> param->rdLevel = 2;
>> - param->maxNumReferences = 1;
>> - param->rc.cuTree = 0;
>> + param->maxNumReferences = 2;
>> param->rc.qgSize = 32;
>> param->bEnableFastIntra = 1;
>> }
>> @@ -322,8 +320,7 @@
>> param->bFrameAdaptive = 0;
>> param->bEnableEarlySkip = 1;
>> param->rdLevel = 2;
>> - param->maxNumReferences = 1;
>> - param->rc.cuTree = 0;
>> + param->maxNumReferences = 2;
>> param->bEnableFastIntra = 1;
>> }
>> else if (!strcmp(preset, "fast")) @@ -331,7 +328,7 @@
>> param->lookaheadDepth = 15;
>> param->bFrameAdaptive = 0;
>> param->rdLevel = 2;
>> - param->maxNumReferences = 2;
>> + param->maxNumReferences = 3;
>> param->bEnableFastIntra = 1;
>> }
>> else if (!strcmp(preset, "medium")) @@ -348,6 +345,7 @@
>> param->subpelRefine = 3;
>> param->maxNumMergeCand = 3;
>> param->searchMethod = X265_STAR_SEARCH;
>> + param->maxNumReferences = 4;
>> param->lookaheadSlices = 4; // limit parallelism as already
>> enough work exists
>> }
>> else if (!strcmp(preset, "slower")) @@ -365,6 +363,8 @@
>> param->subpelRefine = 3;
>> param->maxNumMergeCand = 3;
>> param->searchMethod = X265_STAR_SEARCH;
>> + param->maxNumReferences = 4;
>> + param->limitReferences = 2;
>> param->bIntraInBFrames = 1;
>> param->lookaheadSlices = 4; // limit parallelism as already
>> enough work exists
>> }
>> @@ -384,6 +384,7 @@
>> param->maxNumMergeCand = 4;
>> param->searchMethod = X265_STAR_SEARCH;
>> param->maxNumReferences = 5;
>> + param->limitReferences = 1;
>> param->bIntraInBFrames = 1;
>> param->lookaheadSlices = 0; // disabled for best quality
>> }
>> @@ -405,6 +406,7 @@
>> param->searchMethod = X265_STAR_SEARCH;
>> param->bEnableTransformSkip = 1;
>> param->maxNumReferences = 5;
>> + param->limitReferences = 0;
>> param->rc.bEnableSlowFirstPass = 1;
>> param->bIntraInBFrames = 1;
>> param->lookaheadSlices = 0; // disabled for best quality
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>> _______________________________________________
>> x265-devel mailing list
>> x265-devel at videolan.org
>> https://mailman.videolan.org/listinfo/x265-devel
>>
>
>
>
> --
> Deepthi Nandakumar
> Engineering Manager, x265
> Multicoreware, Inc
>
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20151222/9437d043/attachment-0001.html>
More information about the x265-devel
mailing list