[x265] Several warnings (MSYS2/MinGW, GCC 8.2.0, CMake 3.12.1)
Mario *LigH* Rohkrämer
contact at ligh.de
Wed Aug 29 13:06:21 CEST 2018
Possibly different default warnings enabled in GCC 8.2.0, compared to
GCC 7.3.0
12 bit encoder, 64 bit build:
[ 56%] Building CXX object common/CMakeFiles/common.dir/frame.cpp.obj
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.cpp:
In constructor 'x265_12bit::Frame::Frame()':
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.cpp:47:42:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::Lowres'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&m_lowres, 0, sizeof(m_lowres));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.h:29,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.cpp:26:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/lowres.h:107:8:
note: 'struct x265_12bit::Lowres' declared here
struct Lowres : public ReferencePlanes
^~~~~~
[ 77%] Building CXX object encoder/CMakeFiles/encoder.dir/search.cpp.obj
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:
In member function 'void
x265_12bit::Search::predInterSearch(x265_12bit::Mode&, const
x265_12bit::CUGeom&, bool, uint32_t*)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:2173:36:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::Search::MergeData'; use assignment
or value-initialization instead [-Wclass-memaccess]
memset(&merge, 0, sizeof(merge));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:30:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.h:414:12:
note: 'struct x265_12bit::Search::MergeData' declared here
struct MergeData
^~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:
In member function 'void
x265_12bit::Search::encodeResAndCalcRdInterCU(x265_12bit::Mode&, const
x265_12bit::CUGeom&)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:2760:50:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::Search::TUInfoCache'; use
assignment or value-initialization instead [-Wclass-memaccess]
memset(&m_cacheTU, 0, sizeof(TUInfoCache));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.cpp:30:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/search.h:388:12:
note: 'struct x265_12bit::Search::TUInfoCache' declared here
struct TUInfoCache
^~~~~~~~~~~
[ 82%] Building CXX object
encoder/CMakeFiles/encoder.dir/frameencoder.cpp.obj
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:33:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:
In member function 'void x265_12bit::CTURow::init(x265_12bit::Entropy&,
unsigned int)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:108:46:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:28:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:
In constructor 'x265_12bit::FrameEncoder::FrameEncoder()':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:64:47:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::RateControlEntry'; use assignment
or value-initialization instead [-Wclass-memaccess]
memset(&m_rce, 0, sizeof(RateControlEntry));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:40,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:33:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/ratecontrol.h:66:8:
note: 'struct x265_12bit::RateControlEntry' declared here
struct RateControlEntry
^~~~~~~~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:
In member function 'void x265_12bit::FrameEncoder::compressFrame()':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:390:92:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&(m_frame->m_encData->m_frameStats), 0,
sizeof(m_frame->m_encData->m_frameStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:28:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:
In member function 'virtual void
x265_12bit::FrameEncoder::processRowEncoder(int,
x265_12bit::ThreadLocalData&)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:1645:72:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&curRow.rowStats, 0, sizeof(curRow.rowStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:28:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:1730:78:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&stopRow.rowStats, 0,
sizeof(stopRow.rowStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.cpp:28:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
[ 83%] Building CXX object
encoder/CMakeFiles/encoder.dir/framefilter.cpp.obj
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/framefilter.cpp:30:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:
In member function 'void x265_12bit::CTURow::init(x265_12bit::Entropy&,
unsigned int)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:108:46:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/framefilter.cpp:27:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
[ 94%] Building CXX object encoder/CMakeFiles/encoder.dir/encoder.cpp.obj
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:36:
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:
In member function 'void x265_12bit::CTURow::init(x265_12bit::Entropy&,
unsigned int)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/frameencoder.h:108:46:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::FrameStats'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(&rowStats, 0, sizeof(rowStats));
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:30:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:41:8:
note: 'struct x265_12bit::FrameStats' declared here
struct FrameStats
^~~~~~~~~~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:
In member function 'void
x265_12bit::Encoder::readAnalysisFile(x265_analysis_data*, int, const
x265_picture*, int)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3190:43:
warning: 'void* memcpy(void*, const void*, size_t)' copying an object of
non-trivial type 'struct x265_12bit::MV' from an array of
'x265_analysis_MV' {aka 'struct x265_analysis_MV'} [-Wclass-memaccess]
memcpy(val, src, (size * readSize));\
^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3382:21:
note: in expansion of macro 'X265_FREAD'
X265_FREAD(mv[i], sizeof(MV), depthBytes,
m_analysisFileIn, interPic->mv[i]);
^~~~~~~~~~
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/lowres.h:30,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.h:29,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:29:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/mv.h:37:8:
note: 'struct x265_12bit::MV' declared here
struct MV
^~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:
In member function 'void
x265_12bit::Encoder::readAnalysisFile(x265_analysis_data*, int, const
x265_picture*, int, x265_12bit::cuLocation)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3468:43:
warning: 'void* memcpy(void*, const void*, size_t)' copying an object of
non-trivial type 'struct x265_12bit::MV' from an array of
'x265_analysis_MV' {aka 'struct x265_analysis_MV'} [-Wclass-memaccess]
memcpy(val, src, (size * readSize));\
^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:3707:21:
note: in expansion of macro 'X265_FREAD'
X265_FREAD(mv[i], sizeof(MV), depthBytes,
m_analysisFileIn, interPic->mv[i]);
^~~~~~~~~~
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/lowres.h:30,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/frame.h:29,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:29:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/mv.h:37:8:
note: 'struct x265_12bit::MV' declared here
struct MV
^~
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:
In member function 'bool x265_12bit::Encoder::computeSPSRPSIndex()':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:4583:61:
warning: 'void* memset(void*, int, size_t)' clearing an object of
non-trivial type 'struct x265_12bit::RPS'; use assignment or
value-initialization instead [-Wclass-memaccess]
memset(rpsInSPS, 0, sizeof(RPS) * MAX_NUM_SHORT_TERM_RPS);
^
In file included from
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/framedata.h:28,
from
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/encoder.cpp:30:
H:/development/media-autobuild_suite-master/build/x265-hg/source/common/slice.h:45:8:
note: 'struct x265_12bit::RPS' declared here
struct RPS
^~~
[ 96%] Building CXX object encoder/CMakeFiles/encoder.dir/api.cpp.obj
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:
In function 'const x265_api* x265_12bit::x265_api_get_164(int)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:723:70:
warning: cast between incompatible function types from 'FARPROC' {aka
'long long int (*)()'} to 'x265_12bit::api_get_func' {aka 'const
x265_api* (*)(int)'} [-Wcast-function-type]
api_get_func get = (api_get_func)GetProcAddress(h, method);
^
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:
In function 'const x265_api* x265_12bit::x265_api_query(int, int, int*)':
H:/development/media-autobuild_suite-master/build/x265-hg/source/encoder/api.cpp:817:76:
warning: cast between incompatible function types from 'FARPROC' {aka
'long long int (*)()'} to 'x265_12bit::api_query_func' {aka 'const
x265_api* (*)(int, int, int*)'} [-Wcast-function-type]
api_query_func query = (api_query_func)GetProcAddress(h,
method);
^
More information about the x265-devel
mailing list