Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to build OpenHEVC Solution on Visual studio 2013 on windows 7 #56

Open
abhajaswal opened this issue Feb 17, 2017 · 6 comments
Open

Comments

@abhajaswal
Copy link

Hi I tried follwoing steps to build he open HEVC on windows 7:

(1) Download CMake from https://cmake.org/ and install it
(2) Download yasm from http://yasm.tortall.net/Download.html, install it and add it to "path" environment parameter.
(2) git clone git://github.com/OpenHEVC/openHEVC.git
(3) git checkout hevc_rext
(4) create a folder "build" in opehnHEVC
(5) Opened Visual Studio Developers command prompt.
(6) Using (5) In build folder gave command cmake ..
(7) This generated a openHEVC solution which i opened in Visual studio 2013
(8) Pressed F10 and it started to build again.
(9) Got compilation errors

Kindly Help me fix the issue.
If i am follwoing correct steps.

Error is as below :

162	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	640	111	LibOpenHevcWrapper
163	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	642	104	LibOpenHevcWrapper
164	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	644	88	LibOpenHevcWrapper
165	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	646	92	LibOpenHevcWrapper
166	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	648	85	LibOpenHevcWrapper
167	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	649	85	LibOpenHevcWrapper
168	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	651	88	LibOpenHevcWrapper
169	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	653	92	LibOpenHevcWrapper
170	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	655	88	LibOpenHevcWrapper
171	IntelliSense: unknown attribute ""	c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h	657	92	LibOpenHevcWrapper

Error 126 error C2718: '__m128i': actual parameter with __declspec(align('16')) won't be aligned D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1115 1 LibOpenHevcWrapper
Error 148 error C2718: '__m128i': actual parameter with __declspec(align('16')) won't be aligned D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1186 1 LibOpenHevcWrapper
Error 127 error C2440: 'type cast' : cannot convert from 'int' to '__m128i' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1115 1 LibOpenHevcWrapper
Error 149 error C2440: 'type cast' : cannot convert from 'int' to '__m128i' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1186 1 LibOpenHevcWrapper
Error 39 error C2223: left of '->offset_val' must point to struct/union D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 345 1 LibOpenHevcWrapper
Error 42 error C2223: left of '->eo_class' must point to struct/union D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 346 1 LibOpenHevcWrapper
Error 37 error C2143: syntax error : missing ';' before '{' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 343 1 LibOpenHevcWrapper
Error 76 error C2143: syntax error : missing ';' before '{' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 932 1 LibOpenHevcWrapper
Error 110 error C2143: syntax error : missing ';' before '{' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1066 1 LibOpenHevcWrapper
Error 33 error C2143: syntax error : missing ')' before '(' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 338 1 LibOpenHevcWrapper
Error 72 error C2143: syntax error : missing ')' before '(' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 931 1 LibOpenHevcWrapper
Error 105 error C2143: syntax error : missing ')' before '(' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1065 1 LibOpenHevcWrapper
Error 53 error C2109: subscript requires array or pointer type D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 363 1 LibOpenHevcWrapper
Error 56 error C2109: subscript requires array or pointer type D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 372 1 LibOpenHevcWrapper
Error 63 error C2109: subscript requires array or pointer type D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 427 1 LibOpenHevcWrapper
Error 65 error C2109: subscript requires array or pointer type D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 437 1 LibOpenHevcWrapper
Error 34 error C2091: function returns function D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 338 1 LibOpenHevcWrapper
Error 73 error C2091: function returns function D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 931 1 LibOpenHevcWrapper
Error 106 error C2091: function returns function D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1065 1 LibOpenHevcWrapper
Error 109 error C2085: 'pred_angular_8_8_sse' : not in formal parameter list D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1066 1 LibOpenHevcWrapper
Error 75 error C2085: 'pred_angular_4_8_sse' : not in formal parameter list D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 932 1 LibOpenHevcWrapper
Error 36 error C2085: 'ff_hevc_sao_edge_filter_8_sse' : not in formal parameter list D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 343 1 LibOpenHevcWrapper
Error 108 error C2084: function 'int (__cdecl *attribute())()' already has a body D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1065 1 LibOpenHevcWrapper
Error 38 error C2065: 'sao' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 345 1 LibOpenHevcWrapper
Error 41 error C2065: 'sao' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 346 1 LibOpenHevcWrapper
Error 77 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 944 1 LibOpenHevcWrapper
Error 78 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 952 1 LibOpenHevcWrapper
Error 86 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 969 1 LibOpenHevcWrapper
Error 87 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 971 1 LibOpenHevcWrapper
Error 93 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1006 1 LibOpenHevcWrapper
Error 100 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1043 1 LibOpenHevcWrapper
Error 111 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1078 1 LibOpenHevcWrapper
Error 112 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1086 1 LibOpenHevcWrapper
Error 120 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1103 1 LibOpenHevcWrapper
Error 121 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1106 1 LibOpenHevcWrapper
Error 136 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1169 1 LibOpenHevcWrapper
Error 151 error C2065: 'mode' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1208 1 LibOpenHevcWrapper
Error 40 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 345 1 LibOpenHevcWrapper
Error 43 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 346 1 LibOpenHevcWrapper
Error 88 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 972 1 LibOpenHevcWrapper
Error 98 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1013 1 LibOpenHevcWrapper
Error 122 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1107 1 LibOpenHevcWrapper
Error 145 error C2065: 'c_idx' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1180 1 LibOpenHevcWrapper
Error 52 error C2065: 'borders' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 363 1 LibOpenHevcWrapper
Error 55 error C2065: 'borders' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 372 1 LibOpenHevcWrapper
Error 62 error C2065: 'borders' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 427 1 LibOpenHevcWrapper
Error 64 error C2065: 'borders' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 437 1 LibOpenHevcWrapper
Error 44 error C2065: '_width' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 354 1 LibOpenHevcWrapper
Error 66 error C2065: '_width' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 438 1 LibOpenHevcWrapper
Error 79 error C2065: '_top' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 953 1 LibOpenHevcWrapper
Error 84 error C2065: '_top' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 960 1 LibOpenHevcWrapper
Error 113 error C2065: '_top' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1087 1 LibOpenHevcWrapper
Error 118 error C2065: '_top' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1094 1 LibOpenHevcWrapper
Error 51 error C2065: '_stride_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 360 1 LibOpenHevcWrapper
Error 50 error C2065: '_stride_dst' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 359 1 LibOpenHevcWrapper
Error 82 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 956 1 LibOpenHevcWrapper
Error 89 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1001 1 LibOpenHevcWrapper
Error 90 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1002 1 LibOpenHevcWrapper
Error 91 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1003 1 LibOpenHevcWrapper
Error 92 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1004 1 LibOpenHevcWrapper
Error 94 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1008 1 LibOpenHevcWrapper
Error 95 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1009 1 LibOpenHevcWrapper
Error 96 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1010 1 LibOpenHevcWrapper
Error 97 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1011 1 LibOpenHevcWrapper
Error 101 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1055 1 LibOpenHevcWrapper
Error 102 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1056 1 LibOpenHevcWrapper
Error 103 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1057 1 LibOpenHevcWrapper
Error 104 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1058 1 LibOpenHevcWrapper
Error 116 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1090 1 LibOpenHevcWrapper
Error 128 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1150 1 LibOpenHevcWrapper
Error 129 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1151 1 LibOpenHevcWrapper
Error 130 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1152 1 LibOpenHevcWrapper
Error 131 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1153 1 LibOpenHevcWrapper
Error 132 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1158 1 LibOpenHevcWrapper
Error 133 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1159 1 LibOpenHevcWrapper
Error 134 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1160 1 LibOpenHevcWrapper
Error 135 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1161 1 LibOpenHevcWrapper
Error 137 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1171 1 LibOpenHevcWrapper
Error 138 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1172 1 LibOpenHevcWrapper
Error 139 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1173 1 LibOpenHevcWrapper
Error 140 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1174 1 LibOpenHevcWrapper
Error 141 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1175 1 LibOpenHevcWrapper
Error 142 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1176 1 LibOpenHevcWrapper
Error 143 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1177 1 LibOpenHevcWrapper
Error 144 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1178 1 LibOpenHevcWrapper
Error 152 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1233 1 LibOpenHevcWrapper
Error 153 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1234 1 LibOpenHevcWrapper
Error 154 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1235 1 LibOpenHevcWrapper
Error 155 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1236 1 LibOpenHevcWrapper
Error 156 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1241 1 LibOpenHevcWrapper
Error 157 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1242 1 LibOpenHevcWrapper
Error 158 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1243 1 LibOpenHevcWrapper
Error 159 error C2065: '_stride' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1244 1 LibOpenHevcWrapper
Error 48 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 358 1 LibOpenHevcWrapper
Error 81 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 955 1 LibOpenHevcWrapper
Error 85 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 965 1 LibOpenHevcWrapper
Error 99 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1022 1 LibOpenHevcWrapper
Error 115 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1089 1 LibOpenHevcWrapper
Error 119 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1099 1 LibOpenHevcWrapper
Error 150 error C2065: '_src' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1189 1 LibOpenHevcWrapper
Error 80 error C2065: '_left' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 954 1 LibOpenHevcWrapper
Error 83 error C2065: '_left' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 959 1 LibOpenHevcWrapper
Error 114 error C2065: '_left' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1088 1 LibOpenHevcWrapper
Error 117 error C2065: '_left' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1093 1 LibOpenHevcWrapper
Error 45 error C2065: '_height' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 354 1 LibOpenHevcWrapper
Error 57 error C2065: '_height' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 373 1 LibOpenHevcWrapper
Error 58 error C2065: '_height' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 374 1 LibOpenHevcWrapper
Error 46 error C2065: '_dst' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 357 1 LibOpenHevcWrapper
Error 124 error C2065: '__v8hi' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1115 1 LibOpenHevcWrapper
Error 146 error C2065: '__v8hi' : undeclared identifier D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1186 1 LibOpenHevcWrapper
Error 125 error C2064: term does not evaluate to a function taking 339 arguments D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1115 1 LibOpenHevcWrapper
Error 147 error C2064: term does not evaluate to a function taking 339 arguments D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1186 1 LibOpenHevcWrapper
Error 35 error C2059: syntax error : ')' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_sao_sse.c 338 1 LibOpenHevcWrapper
Error 74 error C2059: syntax error : ')' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 931 1 LibOpenHevcWrapper
Error 107 error C2059: syntax error : ')' D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1065 1 LibOpenHevcWrapper

@pcabarat
Copy link
Collaborator

Hi,
I think your build method is correct.
Your build problem seems related to sse intrinsics usage in Visual Studio compiler.

This error seems to be the cause of your issues,
Error 126 error C2718: '__m128i': actual parameter with __declspec(align('16')) won't be aligned D:\HEVC\openHEVC-hevc_rext\openHEVC-hevc_rext\libavcodec\x86\hevc_intra_pred_sse.c 1115 1 LibOpenHevcWrapper

You can either:

  • disable the HAVE_SSE* flags in (not recommended since you won't benefit from optimizations provided by your architecture decoding might be really slow)

  • find a way to enable it via VS 2013: [https://msdn.microsoft.com/en-us/library/01fth20w(v=vs.71).aspx]
    (maybe you can try to modify DECLARE_ALIGNED macros in libavutil/mem.h given the compiler you are using (according to msdn _m128 and _m128i types are already aligned))

  • try to build a more recent branch (HEVC_extension or ffmpeg_update) maybe you won't have any problem on those branch.

Pierre-Loup

@abhajaswal
Copy link
Author

Thanks a lot for the support , I will try following your suggestions and let you know about it..

@abhajaswal
Copy link
Author

abhajaswal commented Feb 20, 2017

I tried both HEVC_extension or ffmpeg_update branches.
I still got few errors related to pthread and other fcntl andd direct.h and a linker error of unable to link m.lib(I disabled the linking for m.lib), managed to fix the header files eroors by including the header or else by disabling the macro's like HAVE_FCNTL etc.

AFter doing all above i am getting linker error as below:

Error 229 error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' D:\HEVC\openHEVC-ffmpeg_update\build\cpuid.o 1 1 LibOpenHevcWrapper

Is there any option required to set the target ?
I am using the 64 bit machine as my build machine and want to run on the same.

My CMakeSystem.cmake showes:
set(CMAKE_HOST_SYSTEM "Windows-6.1.7601")
set(CMAKE_HOST_SYSTEM_NAME "Windows")
set(CMAKE_HOST_SYSTEM_VERSION "6.1.7601")
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")

set(CMAKE_SYSTEM "Windows-6.1.7601")
set(CMAKE_SYSTEM_NAME "Windows")
set(CMAKE_SYSTEM_VERSION "6.1.7601")
set(CMAKE_SYSTEM_PROCESSOR "AMD64")

set(CMAKE_CROSSCOMPILING "FALSE")

set(CMAKE_SYSTEM_LOADED 1)

My cmake output is as follows:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64>d:
D:>cd HEVC
D:\HEVC>cd openHEVC-HEVC_extensions
D:\HEVC\openHEVC-HEVC_extensions>cd build
D:\HEVC\openHEVC-HEVC_extensions\build>cmake ..
-- Building for: Visual Studio 12 2013
-- The C compiler identification is MSVC 18.0.30723.0
-- The CXX compiler identification is MSVC 18.0.30723.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
12.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio
12.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studi
o 12.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studi
o 12.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
DEBUG: CMAKE_SYSTEM_PROCESSOR = AMD64
DEBUG: CMAKE_SYSTEM_NAME = Windows
-- Check size of void*
-- Check size of void* - done
DEBUG: SIZEOF_VOID_P = 4
-- target changed from "" to "auto"
-- Detected CPU: haswell
-- Performing Test check_cxx_compiler_flag__arch_AVX
-- Performing Test check_cxx_compiler_flag__arch_AVX - Success
-- Looking for GetProcessAffinityMask
-- Looking for GetProcessAffinityMask - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - not found
-- Looking for sched_getaffinity
-- Looking for sched_getaffinity - not found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for sysconf
-- Looking for sysconf - not found
-- Looking for usleep
-- Looking for usleep - not found
-- Looking for localtime_r
-- Looking for localtime_r - not found
-- Looking for gmtime_r
-- Looking for gmtime_r - not found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include file windows.h
-- Looking for include file windows.h - found
-- Found YASM: C:/ffmpeg/yasm.exe
-- Found components for YASM
-- YASM_ROOT_DIR = C:/Program Files/openHEVC
-- YASM_INCLUDES = YASM_INCLUDES-NOTFOUND
-- YASM_LIBRARIES = YASM_LIBRARIES-NOTFOUND
-- Performing Test check_c_compiler_flag__fpic
-- Performing Test check_c_compiler_flag__fpic - Failed
-- Performing Test check_c_compiler_flag__fno_tree_vectorize
-- Performing Test check_c_compiler_flag__fno_tree_vectorize - Failed
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
-- Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
-- Configuring done
-- Generating done
-- Build files have been written to: D:/HEVC/openHEVC-HEVC_extensions/build

@abhajaswal
Copy link
Author

Hi Pierre,

Apart from this is there any C equivalent Code For assembly Files available ?
I could not find the C code for assembly files example hevc_deblock.asm

@pcabarat
Copy link
Collaborator

First If you'd like to use hevc and hevc_sdl2 executables, you'll need to install the SDL.
-- Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
-- Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)

For C code related to deblocking filter you can have a look to hevcdsp_template.c in libavcodec directory.

About the error you get this might be related to the fact your cpu is AMD64 type while while the target is X86 architecture. I don't have any quick work around at the moment.

A last thing you can try is to run ./configure --cpu=host --toolchain=msvc in order to generate the config.h file and then use it to build from the previously cmake generated makefile.

In order to do so you can follow either https://www.ffmpeg.org/platform.html#toc-Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows or https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC and stop before the make instruction, the go to your buil directory and run make. I don't have anything cleaner at the moment.

Pierre-Loup

@abhajaswal
Copy link
Author

Ok thanks... getting different kind of errors now with above suggestions...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants