[x265] [PATCH] level: choose high tier only if the determined level is greater than or equal to

Steve Borho steve at borho.org
Tue Feb 3 17:45:19 CET 2015


On 02/03, deepthi at multicorewareinc.com wrote:
> # HG changeset patch
> # User Deepthi Nandakumar <deepthi at multicorewareinc.com>
> # Date 1422945368 -19800
> #      Tue Feb 03 12:06:08 2015 +0530
> # Node ID 074d313dfc12b64c6b3d366c0b02ba08ef2143cc
> # Parent  4583eda4cf55e9a7f5c11d1ea660367f3822af53
> level: choose high tier only if the determined level is greater than or equal to
> levelIdc.

I think I agree with this. Will do some quick tests, queued.

> diff -r 4583eda4cf55 -r 074d313dfc12 source/encoder/level.cpp
> --- a/source/encoder/level.cpp	Mon Feb 02 17:03:40 2015 +0530
> +++ b/source/encoder/level.cpp	Tue Feb 03 12:06:08 2015 +0530
> @@ -154,20 +154,26 @@
>              return;
>          }
>  
> -        vps.ptl.levelIdc = levels[i].levelEnum;
> -        vps.ptl.minCrForLevel = levels[i].minCompressionRatio;
> -        vps.ptl.maxLumaSrForLevel = levels[i].maxLumaSamplesPerSecond;
> -
>  #define CHECK_RANGE(value, main, high) (value > main && value <= high)
>  
>          if (CHECK_RANGE(bitrate, levels[i].maxBitrateMain, levels[i].maxBitrateHigh) &&
>              CHECK_RANGE((uint32_t)param.rc.vbvBufferSize, levels[i].maxCpbSizeMain, levels[i].maxCpbSizeHigh) &&
>              levels[i].maxBitrateHigh != MAX_UINT)
> -            vps.ptl.tierFlag = Level::HIGH;
> +        {
> +            /* If the user has not enabled high tier, continue looking to see if we can encode at a higher level, main tier */
> +            if (!param.bHighTier && (levels[i].levelIdc < param.levelIdc))
> +                continue;
> +            else
> +                vps.ptl.tierFlag = Level::HIGH;
> +        }
>          else
>              vps.ptl.tierFlag = Level::MAIN;
>          break;
>  #undef CHECK_RANGE
> +
> +        vps.ptl.levelIdc = levels[i].levelEnum;
> +        vps.ptl.minCrForLevel = levels[i].minCompressionRatio;
> +        vps.ptl.maxLumaSrForLevel = levels[i].maxLumaSamplesPerSecond;
>      }
>  
>      vps.ptl.intraConstraintFlag = false;
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-- 
Steve Borho


More information about the x265-devel mailing list