Pushed to master branch On Wed, Oct 26, 2022 at 3:47 PM Snehaa Giridharan < [email protected]> wrote:
> From 712761e77261bf7003cd2929fa93c9027a36eea2 Mon Sep 17 00:00:00 2001 > From: Snehaa Giridharan <[email protected]> > 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/>* > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
