Open sturkmen72 opened 4 weeks ago
hi @asmorkalov. PR is in progress and not ready to review but could you start ci tests please.
@vrabaud could you take a look?
when BUILD_WEBP = ON build is OK
but i can't understand the reason of error when BUILD_WEBP = OFF
i found the answer
we need link webpmux.lib and webpdemux.lib
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp: In member function 'virtual bool cv::WebPDecoder::readData(cv::Mat&)':
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:195:13: error: 'WebPAnimDecoderOptions' was not declared in this scope
WebPAnimDecoderOptions dec_options;
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:196:41: error: 'dec_options' was not declared in this scope
WebPAnimDecoderOptionsInit(&dec_options);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:196:52: error: 'WebPAnimDecoderOptionsInit' was not declared in this scope
WebPAnimDecoderOptionsInit(&dec_options);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:198:71: error: 'WebPAnimDecoderNew' was not declared in this scope
anim_decoder = WebPAnimDecoderNew(&webp_data, &dec_options);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:209:62: error: 'WebPAnimDecoderGetNext' was not declared in this scope
WebPAnimDecoderGetNext(anim_decoder, &buf, ×tamp);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp: In member function 'virtual bool cv::WebPDecoder::nextPage()':
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:260:53: error: 'WebPAnimDecoderHasMoreFrames' was not declared in this scope
return WebPAnimDecoderHasMoreFrames(anim_decoder) > 0;
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp: In member function 'virtual bool cv::WebPEncoder::writemulti(const std::vector<cv::Mat>&, const std::vector<int>&)':
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:368:5: error: 'WebPAnimEncoder' was not declared in this scope
WebPAnimEncoder* anim_encoder = NULL;
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:368:22: error: 'anim_encoder' was not declared in this scope
WebPAnimEncoder* anim_encoder = NULL;
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:373:5: error: 'WebPAnimEncoderOptions' was not declared in this scope
WebPAnimEncoderOptions anim_config;
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:381:38: error: 'anim_config' was not declared in this scope
if (!WebPAnimEncoderOptionsInit(&anim_config) ||
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:381:49: error: 'WebPAnimEncoderOptionsInit' was not declared in this scope
if (!WebPAnimEncoderOptionsInit(&anim_config) ||
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:408:55: error: 'anim_config' was not declared in this scope
anim_encoder = WebPAnimEncoderNew(width, height, &anim_config);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:408:66: error: 'WebPAnimEncoderNew' was not declared in this scope
anim_encoder = WebPAnimEncoderNew(width, height, &anim_config);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:419:74: error: 'WebPAnimEncoderAdd' was not declared in this scope
ok = WebPAnimEncoderAdd(anim_encoder, &pic, timestamp_ms, &config);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:424:53: error: 'WebPAnimEncoderAssemble' was not declared in this scope
WebPAnimEncoderAssemble(anim_encoder, &assembled);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:427:73: error: 'WebPAnimEncoderAdd' was not declared in this scope
ok = ok && WebPAnimEncoderAdd(anim_encoder, NULL, timestamp_ms, NULL);
^
/build/precommit_linux64/4.x/opencv/modules/imgcodecs/src/grfmt_webp.cpp:450:39: error: 'WebPAnimEncoderDelete' was not declared in this scope
WebPAnimEncoderDelete(anim_encoder);
^
make[2]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_webp.cpp.o] Error 1
modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/build.make:230: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/src/grfmt_webp.cpp.o' failed
make[2]: Leaving directory '/build/precommit_linux64/build'
CMakeFiles/Makefile2:7091: recipe for target 'modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all' failed
make[1]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 21%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/oilpainting.cpp.o
https://pullrequest.opencv.org/buildbot/builders/precommit_linux64/builds/107697 (failure here may be caused by older installed version of libwebp) i did not understand and could not solved. any help is welcome.
related issues #24855 #22569
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request