[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