<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">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">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" class="gmail_signature"><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>