<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>