<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px"># HG changeset patch</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px"># User Shazeb Nawaz Khan <</span><a href="mailto:shazeb@multicorewareinc.com" style="font-family:arial,sans-serif;font-size:13px">shazeb@multicorewareinc.com</a><span style="font-family:arial,sans-serif;font-size:13px">></span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"># Date 1380099889 -19800</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">#      Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"># Node ID c24e375025c5c747a9c6902c7f0a38</span><span style="font-family:arial,sans-serif;font-size:13px">3ce22449f3</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"># Parent  bdd26fd0325acf0f36409e994bdc26</span><span style="font-family:arial,sans-serif;font-size:13px">2b11fa70f4</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">Added support for multiple references</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Added a commandline parameter '--ref <max number of references>'. DPB size adjusted to use number of references.</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">diff -r bdd26fd0325a -r c24e375025c5 source/common/common.cpp</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">--- a/source/common/common.cpp  Tue Sep 24 15:21:06 2013 -0500</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+++ b/source/common/common.cpp  Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">@@ -160,6 +160,7 @@</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     param->bEnableSignHiding = 1;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">     param->bEnableTransformSkip = 1;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     param->bEnableTSkipFast = 1;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">+    param->maxNumReferences = 1;</span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     /* Loop Filter */</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">     param->bEnableLoopFilter = 1;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">diff -r bdd26fd0325a -r c24e375025c5 source/encoder/dpb.h</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">--- a/source/encoder/dpb.h      Tue Sep 24 15:21:06 2013 -0500</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+++ b/source/encoder/dpb.h      Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">@@ -52,7 +52,7 @@</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">         m_lastIDR = 0;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">         m_pocCRA = 0;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">         m_bRefreshPending = false;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">-        m_maxRefL0 = 1;             //TODO: This values should later be fetched from input params</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+        m_maxRefL0 = cfg->param.maxNumReferences;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">         m_maxRefL1 = 1;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     }</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">diff -r bdd26fd0325a -r c24e375025c5 source/encoder/encoder.cpp</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">--- a/source/encoder/encoder.cpp        Tue Sep 24 15:21:06 2013 -0500</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+++ b/source/encoder/encoder.cpp        Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">@@ -263,8 +263,8 @@</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     vps.setMaxLayers(1);</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">     for (int i = 0; i < MAX_TLAYER; i++)</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     {</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">-        m_numReorderPics[i] = _param->bframes;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">-        m_maxDecPicBuffering[i] = _param->bframes + 2;</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">+        m_numReorderPics[i] = 1;</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+        m_maxDecPicBuffering[i] = X265_MIN(MAX_NUM_REF, X265_MAX(m_numReorderPics[i] + 1, _param->maxNumReferences));</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">         vps.setNumReorderPics(m_</span><span style="font-family:arial,sans-serif;font-size:13px">numReorderPics[i], i);</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">         vps.setMaxDecPicBuffering(m_</span><span style="font-family:arial,sans-serif;font-size:13px">maxDecPicBuffering[i], i);</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">     }</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">diff -r bdd26fd0325a -r c24e375025c5 source/x265.h</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">--- a/source/x265.h     Tue Sep 24 15:21:06 2013 -0500</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">+++ b/source/x265.h     Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">@@ -248,6 +248,7 @@</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     int       bEnableTransformSkip;            ///< enable intra transform skipping</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">     int       bEnableTSkipFast;                ///< enable fast intra transform skipping</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     int       bEnableRDOQTS;                   ///< enable RD optimized quantization when transform skip is selected</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">+    int       maxNumReferences;                ///< maximum number of references a frame can have in L0</span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     // loop filter</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">     int       bEnableLoopFilter;               ///< enable Loop Filter</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">diff -r bdd26fd0325a -r c24e375025c5 source/x265opts.h</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">--- a/source/x265opts.h Tue Sep 24 15:21:06 2013 -0500</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">+++ b/source/x265opts.h Wed Sep 25 14:34:49 2013 +0530</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">@@ -66,6 +66,7 @@</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"> OPT("bframes",         param->bframes,                required_argument, 'b', "Maximum number of consecutive b-frames (now it only enables B GOP structure)")</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"> OPT("bframe-bias",     param->bFrameBias,             required_argument, 0, "Bias towards B frame decisions")</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"> OPT("b-adapt",         param->bFrameAdaptive,         required_argument, 0, "0 - none, 1 - fast, 2 - full (trellis) adaptive B frame scheduling")</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px">+OPT("ref",             param->maxNumReferences,       required_argument, 0, "max number of references to be allowed (1 .. 16) ")</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"> // Disabled because weighted uni-prediction was busted by not using</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px"> // pre-generated planes in motion compensation</span><br style="font-family:arial,sans-serif;font-size:13px">
<span style="font-family:arial,sans-serif;font-size:13px"> //OPT("no-weightp",      param->bEnableWeightedPred,          no_argument, 0, "Disable weighted prediction in P slices")</span></div>