[x265] [PATCH] level: allow 8.5, param_parse detects obviously wrong levels for both float/int

deepthi at multicorewareinc.com deepthi at multicorewareinc.com
Wed Nov 4 12:49:56 CET 2015


# HG changeset patch
# User Deepthi Nandakumar <deepthi at multicorewareinc.com>
# Date 1446636993 -19800
#      Wed Nov 04 17:06:33 2015 +0530
# Node ID c11dd97a8b999414c60dceef8620d3d9055cf4c1
# Parent  bd8237a5d78240b5e908f24727b4400f72cbfb0c
level: allow 8.5, param_parse detects obviously wrong levels for both float/int

diff -r bd8237a5d782 -r c11dd97a8b99 source/common/param.cpp
--- a/source/common/param.cpp	Wed Nov 04 14:03:10 2015 +0530
+++ b/source/common/param.cpp	Wed Nov 04 17:06:33 2015 +0530
@@ -570,10 +570,14 @@
     OPT2("level-idc", "level")
     {
         /* allow "5.1" or "51", both converted to integer 51 */
-        if (atof(value) < 7)
+        /* if level-idc specifies an obviously wrong value in either float or int, 
+        throw error consistently. Stronger level checking will be done in encoder_open()*/
+        if (atof(value) < 10)
             p->levelIdc = (int)(10 * atof(value) + .5);
-        else
+        else if (atoi(value) < 10)
             p->levelIdc = atoi(value);
+        else 
+            bError = true;
     }
     OPT("high-tier") p->bHighTier = atobool(value);
     OPT("allow-non-conformance") p->bAllowNonConformance = atobool(value);


More information about the x265-devel mailing list