<div dir="ltr">All the patches of SCC are pushed in the master branch. <br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><b>__________________________</b></div><div><b>Karam Singh</b></div><div><b>Ph.D. IIT Guwahati</b></div><div><font size="1">Senior Software (Video Coding) Engineer  </font></div><div><font size="1">Mobile: +91 8011279030</font></div><div><font size="1">Block 9A, 6th floor, DLF Cyber City</font></div><div><font size="1">Manapakkam, Chennai 600 089</font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 7, 2024 at 10:49 PM Anusuya Kumarasamy <<a href="mailto:anusuya.kumarasamy@multicorewareinc.com">anusuya.kumarasamy@multicorewareinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">From b080b6569cebd5faa1de77423777e9b36a58dcd4 Mon Sep 17 00:00:00 2001<br>From: AnusuyaKumarasamy <<a href="mailto:anusuya.kumarasamy@multicorewareinc.com" target="_blank">anusuya.kumarasamy@multicorewareinc.com</a>><br>Date: Thu, 18 Jul 2024 15:30:03 +0530<br>Subject: [PATCH 1/9] Add cli for intrablockcopy to enable scc extension using<br> IBC method<br><br>---<br> source/CMakeLists.txt   | 2 +-<br> source/common/param.cpp | 6 ++++++<br> source/x265.h           | 3 +++<br> source/x265cli.cpp      | 1 +<br> source/x265cli.h        | 1 +<br> 5 files changed, 12 insertions(+), 1 deletion(-)<br><br>diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt<br>index f25bc8b84..9abf607d4 100755<br>--- a/source/CMakeLists.txt<br>+++ b/source/CMakeLists.txt<br>@@ -31,7 +31,7 @@ option(NATIVE_BUILD "Target the build CPU" OFF)<br> option(STATIC_LINK_CRT "Statically link C runtime for release builds" OFF)<br> mark_as_advanced(FPROFILE_USE FPROFILE_GENERATE NATIVE_BUILD)<br> # X265_BUILD must be incremented each time the public API is changed<br>-set(X265_BUILD 211)<br>+set(X265_BUILD 212)<br> configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265.def.in" target="_blank">x265.def.in</a>"<br>                "${PROJECT_BINARY_DIR}/x265.def")<br> configure_file("${PROJECT_SOURCE_DIR}/<a href="http://x265_config.h.in" target="_blank">x265_config.h.in</a>"<br>diff --git a/source/common/param.cpp b/source/common/param.cpp<br>index 084743ee9..2f4f8084d 100755<br>--- a/source/common/param.cpp<br>+++ b/source/common/param.cpp<br>@@ -409,6 +409,9 @@ void x265_param_default(x265_param* param)<br>     param->format = 0;<br> <br>     param->numLayers = 1;<br>+<br>+    /* SCC */<br>+    param->bEnableSCC = 0;<br> }<br> <br> int x265_param_default_preset(x265_param* param, const char* preset, const char* tune)<br>@@ -1473,6 +1476,7 @@ int x265_param_parse(x265_param* p, const char* name, const char* value)<br>             p->numViews = atoi(value);<br>         }<br> #endif<br>+        OPT("scc") p->bEnableSCC = atoi(value);<br>         else<br>             return X265_PARAM_BAD_NAME;<br>     }<br>@@ -2397,6 +2401,7 @@ char *x265_param2string(x265_param* p, int padx, int pady)<br>     s += sprintf(s, " num-views=%d", p->numViews);<br>     s += sprintf(s, " format=%d", p->format);<br> #endif<br>+    s += sprintf(s, "scc=%d", p->bEnableSCC);<br>     BOOL(p->bEnableSBRC, "sbrc");<br> #undef BOOL<br>     return buf;<br>@@ -2927,6 +2932,7 @@ void x265_copy_params(x265_param* dst, x265_param* src)<br>     dst->format = src->format;<br> #endif<br>     dst->numLayers = src->numLayers;<br>+    dst->bEnableSCC = src->bEnableSCC;<br> <br>     if (src->videoSignalTypePreset) dst->videoSignalTypePreset = strdup(src->videoSignalTypePreset);<br>     else dst->videoSignalTypePreset = NULL;<br>diff --git a/source/x265.h b/source/x265.h<br>index 7b5144ec2..530ae4d81 100644<br>--- a/source/x265.h<br>+++ b/source/x265.h<br>@@ -2310,6 +2310,9 @@ typedef struct x265_param<br>     int      format;<br> <br>     int      numLayers;<br>+<br>+    /*Screen Content Coding*/<br>+    int     bEnableSCC;<br> } x265_param;<br> <br> /* x265_param_alloc:<br>diff --git a/source/x265cli.cpp b/source/x265cli.cpp<br>index a4ce6d272..2e02b1e44 100755<br>--- a/source/x265cli.cpp<br>+++ b/source/x265cli.cpp<br>@@ -382,6 +382,7 @@ namespace X265_NS {<br>         H0("   --format                      Format of the input video 0 : normal, 1 : side-by-side, 2 : over-under  Default %d\n", param->format);<br>         H0("   --multiview-config            Configuration file for Multiview Encoding\n");<br> #endif<br>+        H0("   --scc <integer>               Enable screen content coding. 0: Diabled, 1:Intrablockcopy fast search with 1x2 CTUs search range, 2: Intrablockcopy Full search. Default %d\n", param->bEnableSCC);<br> #ifdef SVT_HEVC<br>         H0("   --[no]svt                     Enable SVT HEVC encoder %s\n", OPT(param->bEnableSvtHevc));<br>         H0("   --[no-]svt-hme                Enable Hierarchial motion estimation(HME) in SVT HEVC encoder \n");<br>diff --git a/source/x265cli.h b/source/x265cli.h<br>index 7ae9877d7..654356287 100644<br>--- a/source/x265cli.h<br>+++ b/source/x265cli.h<br>@@ -366,6 +366,7 @@ static const struct option long_options[] =<br>     { "multiview-config", required_argument, NULL, 0 },<br>     { "format", required_argument, NULL, 0 },<br> #endif<br>+    { "scc",        required_argument, NULL, 0 },<br> #ifdef SVT_HEVC<br>     { "svt",     no_argument, NULL, 0 },<br>     { "no-svt",  no_argument, NULL, 0 },<br>-- <br>2.36.0.windows.1<br><br></div>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></div>