[x265] [PATCH] Fix build error with multilib

Snehaa Giridharan snehaa at multicorewareinc.com
Wed Oct 26 10:16:31 UTC 2022


>From 712761e77261bf7003cd2929fa93c9027a36eea2 Mon Sep 17 00:00:00 2001
From: Snehaa Giridharan <snehaa at multicorewareinc.com>
Date: Wed, 26 Oct 2022 12:03:19 +0530
Subject: [PATCH] Fix build error with multilib

---
 source/common/temporalfilter.h | 245 ++++++++++++++++-----------------
 1 file changed, 121 insertions(+), 124 deletions(-)

diff --git a/source/common/temporalfilter.h b/source/common/temporalfilter.h
index 10f0c52b4..723644633 100644
--- a/source/common/temporalfilter.h
+++ b/source/common/temporalfilter.h
@@ -21,20 +21,16 @@
 * For more information, contact us at license @ x265.com.
 *****************************************************************************/

-#ifndef X265_TEMPORAL_FILTER
-#define X265_TEMPORAL_FILTER
+#ifndef X265_TEMPORAL_FILTER_H
+#define X265_TEMPORAL_FILTER_H

 #include "x265.h"
 #include "picyuv.h"
 #include "mv.h"
-#include <vector>
-#include <deque>
 #include "piclist.h"
 #include "yuv.h"
 #include "motion.h"

-using namespace X265_NS;
-
 const int s_interpolationFilter[16][8] =
 {
     {   0,   0,   0,  64,   0,   0,   0,   0 },   //0
@@ -63,126 +59,127 @@ const double s_refStrengths[3][4] =
   {0.30, 0.30, 0.30, 0.30}   // otherwise
 };

-class OrigPicBuffer
-{
-public:
-    PicList    m_mcstfPicList;
-    PicList    m_mcstfOrigPicFreeList;
-    PicList    m_mcstfOrigPicList;
-
-    ~OrigPicBuffer();
-    void addPicture(Frame*);
-    void addEncPicture(Frame*);
-    void setOrigPicList(Frame*, int);
-    void recycleOrigPicList();
-    void addPictureToFreelist(Frame*);
-    void addEncPictureToPicList(Frame*);
-};
-
-struct MotionEstimatorTLD
-{
-    MotionEstimate  me;
-
-    MotionEstimatorTLD()
+namespace X265_NS {
+    class OrigPicBuffer
     {
-        me.init(X265_CSP_I400);
-        me.setQP(X265_LOOKAHEAD_QP);
-    }
-
-    ~MotionEstimatorTLD() {}
-};
-
-struct TemporalFilterRefPicInfo
-{
-    PicYuv*    picBuffer;
-    PicYuv*    picBufferSubSampled2;
-    PicYuv*    picBufferSubSampled4;
-    MV*        mvs;
-    MV*        mvs0;
-    MV*        mvs1;
-    MV*        mvs2;
-    uint32_t   mvsStride;
-    uint32_t   mvsStride0;
-    uint32_t   mvsStride1;
-    uint32_t   mvsStride2;
-    int*       error;
-    int*       noise;
-
-    int16_t    origOffset;
-    bool       isFilteredFrame;
-    PicYuv*    compensatedPic;
-
-    int*       isSubsampled;
-
-    int        slicetype;
-};
+    public:
+        PicList    m_mcstfPicList;
+        PicList    m_mcstfOrigPicFreeList;
+        PicList    m_mcstfOrigPicList;
+
+        ~OrigPicBuffer();
+        void addPicture(Frame*);
+        void addEncPicture(Frame*);
+        void setOrigPicList(Frame*, int);
+        void recycleOrigPicList();
+        void addPictureToFreelist(Frame*);
+        void addEncPictureToPicList(Frame*);
+    };
+
+    struct MotionEstimatorTLD
+    {
+        MotionEstimate  me;

-class TemporalFilter
-{
-public:
-    TemporalFilter();
-    ~TemporalFilter() {}
-
-    void init(const x265_param* param);
-
-//private:
-    // Private static member variables
-    const x265_param *m_param;
-    int32_t  m_bitDepth;
-    int m_range;
-    uint8_t m_numRef;
-    double m_chromaFactor;
-    double m_sigmaMultiplier;
-    double m_sigmaZeroPoint;
-    int m_motionVectorFactor;
-    int m_padding;
-
-    // Private member variables
-
-    int m_sourceWidth;
-    int m_sourceHeight;
-    int m_QP;
-
-    int m_internalCsp;
-    int m_numComponents;
-    uint8_t m_sliceTypeConfig;
-
-    MotionEstimatorTLD* m_metld;
-    Yuv  predPUYuv;
-    int m_useSADinME;
-
-    int createRefPicInfo(TemporalFilterRefPicInfo* refFrame, x265_param*
param);
-
-    void bilateralFilter(Frame* frame, TemporalFilterRefPicInfo*
mctfRefList, double overallStrength);
-
-    void motionEstimationLuma(MV *mvs, uint32_t mvStride, PicYuv *orig,
PicYuv *buffer, int bs,
-        MV *previous = 0, uint32_t prevmvStride = 0, int factor = 1);
-
-    void motionEstimationLumaDoubleRes(MV *mvs, uint32_t mvStride, PicYuv
*orig, PicYuv *buffer, int blockSize,
-        MV *previous, uint32_t prevMvStride, int factor, int* minError);
-
-    int motionErrorLumaSSD(PicYuv *orig,
-        PicYuv *buffer,
-        int x,
-        int y,
-        int dx,
-        int dy,
-        int bs,
-        int besterror = 8 * 8 * 1024 * 1024);
-
-    int motionErrorLumaSAD(PicYuv *orig,
-        PicYuv *buffer,
-        int x,
-        int y,
-        int dx,
-        int dy,
-        int bs,
-        int besterror = 8 * 8 * 1024 * 1024);
-
-    void destroyRefPicInfo(TemporalFilterRefPicInfo* curFrame);
-
-    void applyMotion(MV *mvs, uint32_t mvsStride, PicYuv *input, PicYuv
*output);
+        MotionEstimatorTLD()
+        {
+            me.init(X265_CSP_I400);
+            me.setQP(X265_LOOKAHEAD_QP);
+        }

-};
+        ~MotionEstimatorTLD() {}
+    };

+    struct TemporalFilterRefPicInfo
+    {
+        PicYuv*    picBuffer;
+        PicYuv*    picBufferSubSampled2;
+        PicYuv*    picBufferSubSampled4;
+        MV*        mvs;
+        MV*        mvs0;
+        MV*        mvs1;
+        MV*        mvs2;
+        uint32_t   mvsStride;
+        uint32_t   mvsStride0;
+        uint32_t   mvsStride1;
+        uint32_t   mvsStride2;
+        int*       error;
+        int*       noise;
+
+        int16_t    origOffset;
+        bool       isFilteredFrame;
+        PicYuv*    compensatedPic;
+
+        int*       isSubsampled;
+
+        int        slicetype;
+    };
+
+    class TemporalFilter
+    {
+    public:
+        TemporalFilter();
+        ~TemporalFilter() {}
+
+        void init(const x265_param* param);
+
+        //private:
+            // Private static member variables
+        const x265_param *m_param;
+        int32_t  m_bitDepth;
+        int m_range;
+        uint8_t m_numRef;
+        double m_chromaFactor;
+        double m_sigmaMultiplier;
+        double m_sigmaZeroPoint;
+        int m_motionVectorFactor;
+        int m_padding;
+
+        // Private member variables
+
+        int m_sourceWidth;
+        int m_sourceHeight;
+        int m_QP;
+
+        int m_internalCsp;
+        int m_numComponents;
+        uint8_t m_sliceTypeConfig;
+
+        MotionEstimatorTLD* m_metld;
+        Yuv  predPUYuv;
+        int m_useSADinME;
+
+        int createRefPicInfo(TemporalFilterRefPicInfo* refFrame,
x265_param* param);
+
+        void bilateralFilter(Frame* frame, TemporalFilterRefPicInfo*
mctfRefList, double overallStrength);
+
+        void motionEstimationLuma(MV *mvs, uint32_t mvStride, PicYuv
*orig, PicYuv *buffer, int bs,
+            MV *previous = 0, uint32_t prevmvStride = 0, int factor = 1);
+
+        void motionEstimationLumaDoubleRes(MV *mvs, uint32_t mvStride,
PicYuv *orig, PicYuv *buffer, int blockSize,
+            MV *previous, uint32_t prevMvStride, int factor, int*
minError);
+
+        int motionErrorLumaSSD(PicYuv *orig,
+            PicYuv *buffer,
+            int x,
+            int y,
+            int dx,
+            int dy,
+            int bs,
+            int besterror = 8 * 8 * 1024 * 1024);
+
+        int motionErrorLumaSAD(PicYuv *orig,
+            PicYuv *buffer,
+            int x,
+            int y,
+            int dx,
+            int dy,
+            int bs,
+            int besterror = 8 * 8 * 1024 * 1024);
+
+        void destroyRefPicInfo(TemporalFilterRefPicInfo* curFrame);
+
+        void applyMotion(MV *mvs, uint32_t mvsStride, PicYuv *input,
PicYuv *output);
+
+    };
+}
 #endif
-- 
2.37.2.windows.2

*Thanks and Regards,*





*Snehaa.GVideo Codec Engineer,Media & AI analytics
<https://multicorewareinc.com/>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20221026/ac1095a5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Fix_multilib_build.diff
Type: application/octet-stream
Size: 7500 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20221026/ac1095a5/attachment-0001.obj>


More information about the x265-devel mailing list