<div dir="ltr">Pushed to master branch</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 26, 2022 at 3:47 PM Snehaa Giridharan <<a href="mailto:snehaa@multicorewareinc.com">snehaa@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"><div dir="ltr"><div>From 712761e77261bf7003cd2929fa93c9027a36eea2 Mon Sep 17 00:00:00 2001</div><div>From: Snehaa Giridharan <<a href="mailto:snehaa@multicorewareinc.com" target="_blank">snehaa@multicorewareinc.com</a>></div><div>Date: Wed, 26 Oct 2022 12:03:19 +0530</div><div>Subject: [PATCH] Fix build error with multilib</div><div><br></div><div>---</div><div> source/common/temporalfilter.h | 245 ++++++++++++++++-----------------</div><div> 1 file changed, 121 insertions(+), 124 deletions(-)</div><div><br></div><div>diff --git a/source/common/temporalfilter.h b/source/common/temporalfilter.h</div><div>index 10f0c52b4..723644633 100644</div><div>--- a/source/common/temporalfilter.h</div><div>+++ b/source/common/temporalfilter.h</div><div>@@ -21,20 +21,16 @@</div><div> * For more information, contact us at license @ <a href="http://x265.com" target="_blank">x265.com</a>.</div><div> *****************************************************************************/</div><div> </div><div>-#ifndef X265_TEMPORAL_FILTER</div><div>-#define X265_TEMPORAL_FILTER</div><div>+#ifndef X265_TEMPORAL_FILTER_H</div><div>+#define X265_TEMPORAL_FILTER_H</div><div> </div><div> #include "x265.h"</div><div> #include "picyuv.h"</div><div> #include "mv.h"</div><div>-#include <vector></div><div>-#include <deque></div><div> #include "piclist.h"</div><div> #include "yuv.h"</div><div> #include "motion.h"</div><div> </div><div>-using namespace X265_NS;</div><div>-</div><div> const int s_interpolationFilter[16][8] =</div><div> {</div><div> { 0, 0, 0, 64, 0, 0, 0, 0 }, //0</div><div>@@ -63,126 +59,127 @@ const double s_refStrengths[3][4] =</div><div> {0.30, 0.30, 0.30, 0.30} // otherwise</div><div> };</div><div> </div><div>-class OrigPicBuffer</div><div>-{</div><div>-public:</div><div>- PicList m_mcstfPicList;</div><div>- PicList m_mcstfOrigPicFreeList;</div><div>- PicList m_mcstfOrigPicList;</div><div>-</div><div>- ~OrigPicBuffer();</div><div>- void addPicture(Frame*);</div><div>- void addEncPicture(Frame*);</div><div>- void setOrigPicList(Frame*, int);</div><div>- void recycleOrigPicList();</div><div>- void addPictureToFreelist(Frame*);</div><div>- void addEncPictureToPicList(Frame*);</div><div>-};</div><div>-</div><div>-struct MotionEstimatorTLD</div><div>-{</div><div>- MotionEstimate me;</div><div>-</div><div>- MotionEstimatorTLD()</div><div>+namespace X265_NS {</div><div>+ class OrigPicBuffer</div><div> {</div><div>- me.init(X265_CSP_I400);</div><div>- me.setQP(X265_LOOKAHEAD_QP);</div><div>- }</div><div>-</div><div>- ~MotionEstimatorTLD() {}</div><div>-};</div><div>-</div><div>-struct TemporalFilterRefPicInfo</div><div>-{</div><div>- PicYuv* picBuffer;</div><div>- PicYuv* picBufferSubSampled2;</div><div>- PicYuv* picBufferSubSampled4;</div><div>- MV* mvs;</div><div>- MV* mvs0;</div><div>- MV* mvs1;</div><div>- MV* mvs2;</div><div>- uint32_t mvsStride;</div><div>- uint32_t mvsStride0;</div><div>- uint32_t mvsStride1;</div><div>- uint32_t mvsStride2;</div><div>- int* error;</div><div>- int* noise;</div><div>-</div><div>- int16_t origOffset;</div><div>- bool isFilteredFrame;</div><div>- PicYuv* compensatedPic;</div><div>-</div><div>- int* isSubsampled;</div><div>-</div><div>- int slicetype;</div><div>-};</div><div>+ public:</div><div>+ PicList m_mcstfPicList;</div><div>+ PicList m_mcstfOrigPicFreeList;</div><div>+ PicList m_mcstfOrigPicList;</div><div>+</div><div>+ ~OrigPicBuffer();</div><div>+ void addPicture(Frame*);</div><div>+ void addEncPicture(Frame*);</div><div>+ void setOrigPicList(Frame*, int);</div><div>+ void recycleOrigPicList();</div><div>+ void addPictureToFreelist(Frame*);</div><div>+ void addEncPictureToPicList(Frame*);</div><div>+ };</div><div>+</div><div>+ struct MotionEstimatorTLD</div><div>+ {</div><div>+ MotionEstimate me;</div><div> </div><div>-class TemporalFilter</div><div>-{</div><div>-public:</div><div>- TemporalFilter();</div><div>- ~TemporalFilter() {}</div><div>-</div><div>- void init(const x265_param* param);</div><div>-</div><div>-//private:</div><div>- // Private static member variables</div><div>- const x265_param *m_param;</div><div>- int32_t m_bitDepth;</div><div>- int m_range;</div><div>- uint8_t m_numRef;</div><div>- double m_chromaFactor;</div><div>- double m_sigmaMultiplier;</div><div>- double m_sigmaZeroPoint;</div><div>- int m_motionVectorFactor;</div><div>- int m_padding;</div><div>-</div><div>- // Private member variables</div><div>-</div><div>- int m_sourceWidth;</div><div>- int m_sourceHeight;</div><div>- int m_QP;</div><div>-</div><div>- int m_internalCsp;</div><div>- int m_numComponents;</div><div>- uint8_t m_sliceTypeConfig;</div><div>-</div><div>- MotionEstimatorTLD* m_metld;</div><div>- Yuv predPUYuv;</div><div>- int m_useSADinME;</div><div>-</div><div>- int createRefPicInfo(TemporalFilterRefPicInfo* refFrame, x265_param* param);</div><div>-</div><div>- void bilateralFilter(Frame* frame, TemporalFilterRefPicInfo* mctfRefList, double overallStrength);</div><div>-</div><div>- void motionEstimationLuma(MV *mvs, uint32_t mvStride, PicYuv *orig, PicYuv *buffer, int bs,</div><div>- MV *previous = 0, uint32_t prevmvStride = 0, int factor = 1);</div><div>-</div><div>- void motionEstimationLumaDoubleRes(MV *mvs, uint32_t mvStride, PicYuv *orig, PicYuv *buffer, int blockSize,</div><div>- MV *previous, uint32_t prevMvStride, int factor, int* minError);</div><div>-</div><div>- int motionErrorLumaSSD(PicYuv *orig,</div><div>- PicYuv *buffer,</div><div>- int x,</div><div>- int y,</div><div>- int dx,</div><div>- int dy,</div><div>- int bs,</div><div>- int besterror = 8 * 8 * 1024 * 1024);</div><div>-</div><div>- int motionErrorLumaSAD(PicYuv *orig,</div><div>- PicYuv *buffer,</div><div>- int x,</div><div>- int y,</div><div>- int dx,</div><div>- int dy,</div><div>- int bs,</div><div>- int besterror = 8 * 8 * 1024 * 1024);</div><div>-</div><div>- void destroyRefPicInfo(TemporalFilterRefPicInfo* curFrame);</div><div>-</div><div>- void applyMotion(MV *mvs, uint32_t mvsStride, PicYuv *input, PicYuv *output);</div><div>+ MotionEstimatorTLD()</div><div>+ {</div><div>+ me.init(X265_CSP_I400);</div><div>+ me.setQP(X265_LOOKAHEAD_QP);</div><div>+ }</div><div> </div><div>-};</div><div>+ ~MotionEstimatorTLD() {}</div><div>+ };</div><div> </div><div>+ struct TemporalFilterRefPicInfo</div><div>+ {</div><div>+ PicYuv* picBuffer;</div><div>+ PicYuv* picBufferSubSampled2;</div><div>+ PicYuv* picBufferSubSampled4;</div><div>+ MV* mvs;</div><div>+ MV* mvs0;</div><div>+ MV* mvs1;</div><div>+ MV* mvs2;</div><div>+ uint32_t mvsStride;</div><div>+ uint32_t mvsStride0;</div><div>+ uint32_t mvsStride1;</div><div>+ uint32_t mvsStride2;</div><div>+ int* error;</div><div>+ int* noise;</div><div>+</div><div>+ int16_t origOffset;</div><div>+ bool isFilteredFrame;</div><div>+ PicYuv* compensatedPic;</div><div>+</div><div>+ int* isSubsampled;</div><div>+</div><div>+ int slicetype;</div><div>+ };</div><div>+</div><div>+ class TemporalFilter</div><div>+ {</div><div>+ public:</div><div>+ TemporalFilter();</div><div>+ ~TemporalFilter() {}</div><div>+</div><div>+ void init(const x265_param* param);</div><div>+</div><div>+ //private:</div><div>+ // Private static member variables</div><div>+ const x265_param *m_param;</div><div>+ int32_t m_bitDepth;</div><div>+ int m_range;</div><div>+ uint8_t m_numRef;</div><div>+ double m_chromaFactor;</div><div>+ double m_sigmaMultiplier;</div><div>+ double m_sigmaZeroPoint;</div><div>+ int m_motionVectorFactor;</div><div>+ int m_padding;</div><div>+</div><div>+ // Private member variables</div><div>+</div><div>+ int m_sourceWidth;</div><div>+ int m_sourceHeight;</div><div>+ int m_QP;</div><div>+</div><div>+ int m_internalCsp;</div><div>+ int m_numComponents;</div><div>+ uint8_t m_sliceTypeConfig;</div><div>+</div><div>+ MotionEstimatorTLD* m_metld;</div><div>+ Yuv predPUYuv;</div><div>+ int m_useSADinME;</div><div>+</div><div>+ int createRefPicInfo(TemporalFilterRefPicInfo* refFrame, x265_param* param);</div><div>+</div><div>+ void bilateralFilter(Frame* frame, TemporalFilterRefPicInfo* mctfRefList, double overallStrength);</div><div>+</div><div>+ void motionEstimationLuma(MV *mvs, uint32_t mvStride, PicYuv *orig, PicYuv *buffer, int bs,</div><div>+ MV *previous = 0, uint32_t prevmvStride = 0, int factor = 1);</div><div>+</div><div>+ void motionEstimationLumaDoubleRes(MV *mvs, uint32_t mvStride, PicYuv *orig, PicYuv *buffer, int blockSize,</div><div>+ MV *previous, uint32_t prevMvStride, int factor, int* minError);</div><div>+</div><div>+ int motionErrorLumaSSD(PicYuv *orig,</div><div>+ PicYuv *buffer,</div><div>+ int x,</div><div>+ int y,</div><div>+ int dx,</div><div>+ int dy,</div><div>+ int bs,</div><div>+ int besterror = 8 * 8 * 1024 * 1024);</div><div>+</div><div>+ int motionErrorLumaSAD(PicYuv *orig,</div><div>+ PicYuv *buffer,</div><div>+ int x,</div><div>+ int y,</div><div>+ int dx,</div><div>+ int dy,</div><div>+ int bs,</div><div>+ int besterror = 8 * 8 * 1024 * 1024);</div><div>+</div><div>+ void destroyRefPicInfo(TemporalFilterRefPicInfo* curFrame);</div><div>+</div><div>+ void applyMotion(MV *mvs, uint32_t mvsStride, PicYuv *input, PicYuv *output);</div><div>+</div><div>+ };</div><div>+}</div><div> #endif</div><div>-- </div><div>2.37.2.windows.2</div><div><br></div><div><div dir="ltr"><div dir="ltr"><div><i><font face="georgia, serif">Thanks and Regards,</font></i></div><div><i><font face="georgia, serif"><b>Snehaa.G</b><br>Video Codec Engineer,<br>Media & AI analytics<br><a href="https://multicorewareinc.com/" target="_blank"><img src="https://ci3.googleusercontent.com/mail-sig/AIorK4yEumXeQ2mgcFAR2us9INa7z3rCbl8ordut3fbdeIbuPv0n3EA75Or1rHs0neGaI0WM8mFPz1g"></a><br><span></span><span></span><br></font></i></div></div></div></div></div></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>