Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Paul B Mahol (2018-03-22): > Why? OpenCV != OpenCL Oh, I had not noticed. Good then. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 3/22/18, Nicolas Georgewrote: > Rostislav Pehlivanov (2018-03-20): >> There was absolutely nothing in my sentence to imply I'm sarcastic, and I >> make sure to be obviously sarcastic when I want to be. >> The filter we have supports a very limited subset of the features of >> opencv >> and if there's no overlap we should probably write our own versions of >> them. Also I have a bad experience working with opencv. > > Ok. That on top of the deliberate incompatibility, I suppose getting rid > of it makes sense. > > It should be decided quickly one way or the other and GSoC applicants > should be notified, though. Why? OpenCV != OpenCL ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Rostislav Pehlivanov (2018-03-20): > There was absolutely nothing in my sentence to imply I'm sarcastic, and I > make sure to be obviously sarcastic when I want to be. > The filter we have supports a very limited subset of the features of opencv > and if there's no overlap we should probably write our own versions of > them. Also I have a bad experience working with opencv. Ok. That on top of the deliberate incompatibility, I suppose getting rid of it makes sense. It should be decided quickly one way or the other and GSoC applicants should be notified, though. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 20 March 2018 at 15:02, Nicolas Georgewrote: > Rostislav Pehlivanov (2018-03-19): > > Yeah, I agree, I don't think vf_opencv is very useful and we ought to > drop > > it. > > I cannot decide if you are being serious or sarcastic. > > Regards, > > -- > Nicolas George > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > There was absolutely nothing in my sentence to imply I'm sarcastic, and I make sure to be obviously sarcastic when I want to be. The filter we have supports a very limited subset of the features of opencv and if there's no overlap we should probably write our own versions of them. Also I have a bad experience working with opencv. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
tis 2018-03-20 klockan 16:28 +0100 skrev Tobias Rapp: > On 20.03.2018 16:02, Nicolas George wrote: > > Derek Buitenhuis (2018-03-19): > > > If you want to link with a C++ library that is indeed the > > > 'proper' solution. > > > As far as I am aware "several languages all have that > > > requirement" is simply > > > a theoretical scenario that doesn't actually exist. What else > > > beside C++ > > > requires this? > > > > No, it is not a theoretical scenario: most languages that produce > > native > > code have the requirement to produce the final binary using their > > toolchain. It is true for OCaml: you need to use ocamlopt to > > produce a > > binary, even if using a third-party C library; I believe it is true > > for > > Rust too. > > Not really. You can compile parts of a program in Rust (as a static > library) and link it to other parts in C producing the final binary > with > e.g gcc. > > > The problem happens when you want to mix several of these > > languages, > > because the requirements are incompatible. > > > > Fortunately, most people who program in other languages than C are > > not > > stupid enough to use them to produce libraries, except for use with > > that > > language itself. Except c++ people, for some reason. > > If the libraries don't depend on some run-time environment and > provide a > C-compatible ABI, mixing languages (like C, Delphi, Rust) is not a > problem. The problem is that C++ people tend to do exactly this. Some libraries like gmp/gmpxx do the decent thing and export a C API that is then wrapped with a header-only C++ template library. That way you get a stable API and ABI and some nice C++ bells and whistles. But evidently OpenCV has no such people on board. /Tomas ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On Tue, 20 Mar 2018 00:23:54 +0100 Carl Eugen Hoyoswrote: > 2018-03-19 21:49 GMT+01:00, Derek Buitenhuis : > > > libutvideo was handled 100% incorrectly. We hardcoded > > libstdc++ as a dependency > > Which worked fine on osx (and all other systems that were > ever tested). > > More important imo is that Jeff forgot to attach his patch. Your passive aggressive behavior is quite rude. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On Mon, 19 Mar 2018 19:01:49 +0200 Jan Ekströmwrote: > On Mon, Mar 19, 2018 at 6:28 PM, wm4 wrote: > > On Mon, 19 Mar 2018 09:35:22 -0400 > > Jeff Cook wrote: > > > >> Hello, > >> > >> Please see the bug report at https://github.com/opencv/opencv/issues/10963 > >> , which discusses OpenCV's failure to build as pure C since upstream > >> version 3.4.1, and also discusses how all modules that use OpenCV 2 or > >> later should be compiled as C++ to avoid esoteric issues and serious > >> breakages. > >> > >> There is a large amount of discussion there that I don't want to > >> needlessly duplicate and/or badly summarize here, but the high-level > >> overview is that it seems that ffmpeg will need to convert > >> avfilter/vf_opencv.c to build as C++ if the OpenCV filter is going to > >> continue to work. The current situation is affecting many prominent > >> projects like VLC. > > > > FFmpeg is a C project, and due to missing features in C++ (initializers) > > it's very awkward to build things in C++ mode. Can't OpenCV just fix > > their stuff. > > > > https://github.com/opencv/opencv/issues/8438#issuecomment-288638915 > > tl;dr > > They're breaking C compatibility knowingly. If and only if we want to OK, can we just drop OpenCV support? Or require a C wrapper lib? ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 20.03.2018 16:02, Nicolas George wrote: Derek Buitenhuis (2018-03-19): If you want to link with a C++ library that is indeed the 'proper' solution. As far as I am aware "several languages all have that requirement" is simply a theoretical scenario that doesn't actually exist. What else beside C++ requires this? No, it is not a theoretical scenario: most languages that produce native code have the requirement to produce the final binary using their toolchain. It is true for OCaml: you need to use ocamlopt to produce a binary, even if using a third-party C library; I believe it is true for Rust too. Not really. You can compile parts of a program in Rust (as a static library) and link it to other parts in C producing the final binary with e.g gcc. The problem happens when you want to mix several of these languages, because the requirements are incompatible. Fortunately, most people who program in other languages than C are not stupid enough to use them to produce libraries, except for use with that language itself. Except c++ people, for some reason. If the libraries don't depend on some run-time environment and provide a C-compatible ABI, mixing languages (like C, Delphi, Rust) is not a problem. Regards, Tobias ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 3/20/18, Nicolas Georgewrote: > Rostislav Pehlivanov (2018-03-19): >> Yeah, I agree, I don't think vf_opencv is very useful and we ought to >> drop >> it. > > I cannot decide if you are being serious or sarcastic. It supports very few pixel formats. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Rostislav Pehlivanov (2018-03-19): > Yeah, I agree, I don't think vf_opencv is very useful and we ought to drop > it. I cannot decide if you are being serious or sarcastic. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Derek Buitenhuis (2018-03-19): > If you want to link with a C++ library that is indeed the 'proper' solution. > As far as I am aware "several languages all have that requirement" is simply > a theoretical scenario that doesn't actually exist. What else beside C++ > requires this? No, it is not a theoretical scenario: most languages that produce native code have the requirement to produce the final binary using their toolchain. It is true for OCaml: you need to use ocamlopt to produce a binary, even if using a third-party C library; I believe it is true for Rust too. The problem happens when you want to mix several of these languages, because the requirements are incompatible. Fortunately, most people who program in other languages than C are not stupid enough to use them to produce libraries, except for use with that language itself. Except c++ people, for some reason. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Paul B Mahol (2018-03-20): > Nobody cares. Rude. -- Nicolas George ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 3/20/18, Carl Eugen Hoyoswrote: > 2018-03-19 21:49 GMT+01:00, Derek Buitenhuis : > >> libutvideo was handled 100% incorrectly. We hardcoded >> libstdc++ as a dependency > > Which worked fine on osx (and all other systems that were > ever tested). > > More important imo is that Jeff forgot to attach his patch. Nobody cares. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
2018-03-19 21:49 GMT+01:00, Derek Buitenhuis: > libutvideo was handled 100% incorrectly. We hardcoded > libstdc++ as a dependency Which worked fine on osx (and all other systems that were ever tested). More important imo is that Jeff forgot to attach his patch. Carl Eugen ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 19 March 2018 at 20:57, Nicolas Georgewrote: > Derek Buitenhuis (2018-03-19): > > libutvideo was handled 100% incorrectly. We hardcoded libstdc++ as a > > dependency, but the proper solution was to link with CXX instead of CC. > > This is not a *proper* solution, since it does not scale to the case > where several languages all have that requirement. If the OpenCV people > want to drop C support, then C apps should drop OpenCV support. > > Regards, > > -- > Nicolas George > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > Yeah, I agree, I don't think vf_opencv is very useful and we ought to drop it. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 3/19/2018 8:57 PM, Nicolas George wrote: > Derek Buitenhuis (2018-03-19): >> libutvideo was handled 100% incorrectly. We hardcoded libstdc++ as a >> dependency, but the proper solution was to link with CXX instead of CC. > > This is not a *proper* solution, since it does not scale to the case > where several languages all have that requirement. If the OpenCV people > want to drop C support, then C apps should drop OpenCV support. If you want to link with a C++ library that is indeed the 'proper' solution. As far as I am aware "several languages all have that requirement" is simply a theoretical scenario that doesn't actually exist. What else beside C++ requires this? Regardless, I agree that dropping OpenCV support is the likely outcome or "solution" here. - Derek ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Derek Buitenhuis (2018-03-19): > libutvideo was handled 100% incorrectly. We hardcoded libstdc++ as a > dependency, but the proper solution was to link with CXX instead of CC. This is not a *proper* solution, since it does not scale to the case where several languages all have that requirement. If the OpenCV people want to drop C support, then C apps should drop OpenCV support. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On 3/19/2018 5:01 PM, Jan Ekström wrote: > On Mon, Mar 19, 2018 at 6:28 PM, wm4wrote: >> On Mon, 19 Mar 2018 09:35:22 -0400 >> Jeff Cook wrote: >> >>> Hello, >>> >>> Please see the bug report at https://github.com/opencv/opencv/issues/10963 >>> , which discusses OpenCV's failure to build as pure C since upstream >>> version 3.4.1, and also discusses how all modules that use OpenCV 2 or >>> later should be compiled as C++ to avoid esoteric issues and serious >>> breakages. >>> >>> There is a large amount of discussion there that I don't want to needlessly >>> duplicate and/or badly summarize here, but the high-level overview is that >>> it seems that ffmpeg will need to convert avfilter/vf_opencv.c to build as >>> C++ if the OpenCV filter is going to continue to work. The current >>> situation is affecting many prominent projects like VLC. >> >> FFmpeg is a C project, and due to missing features in C++ (initializers) >> it's very awkward to build things in C++ mode. Can't OpenCV just fix >> their stuff. >> > > https://github.com/opencv/opencv/issues/8438#issuecomment-288638915 > > tl;dr > > They're breaking C compatibility knowingly. If and only if we want to > keep whatever features we get by linking against OpenCV, then the > correct mode of operation is to make that specific file compile as C++ > and export the relevant C end points. Or maybe just link with the C++ > side of things; whatever was done with libutvideo back in the day? As the author of that... libutvideo was handled 100% incorrectly. We hardcoded libstdc++ as a dependency, but the proper solution was to link with CXX instead of CC. - Derek ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On Mon, Mar 19, 2018 at 6:28 PM, wm4wrote: > On Mon, 19 Mar 2018 09:35:22 -0400 > Jeff Cook wrote: > >> Hello, >> >> Please see the bug report at https://github.com/opencv/opencv/issues/10963 , >> which discusses OpenCV's failure to build as pure C since upstream version >> 3.4.1, and also discusses how all modules that use OpenCV 2 or later should >> be compiled as C++ to avoid esoteric issues and serious breakages. >> >> There is a large amount of discussion there that I don't want to needlessly >> duplicate and/or badly summarize here, but the high-level overview is that >> it seems that ffmpeg will need to convert avfilter/vf_opencv.c to build as >> C++ if the OpenCV filter is going to continue to work. The current situation >> is affecting many prominent projects like VLC. > > FFmpeg is a C project, and due to missing features in C++ (initializers) > it's very awkward to build things in C++ mode. Can't OpenCV just fix > their stuff. > https://github.com/opencv/opencv/issues/8438#issuecomment-288638915 tl;dr They're breaking C compatibility knowingly. If and only if we want to keep whatever features we get by linking against OpenCV, then the correct mode of operation is to make that specific file compile as C++ and export the relevant C end points. Or maybe just link with the C++ side of things; whatever was done with libutvideo back in the day? Unfortunately, fixing this will end up on whomever cares about this functionality, since I don't think we have an active maintainer for this component? Best regards, Jan ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On Mon, 19 Mar 2018 09:35:22 -0400 Jeff Cookwrote: > Hello, > > Please see the bug report at https://github.com/opencv/opencv/issues/10963 , > which discusses OpenCV's failure to build as pure C since upstream version > 3.4.1, and also discusses how all modules that use OpenCV 2 or later should > be compiled as C++ to avoid esoteric issues and serious breakages. > > There is a large amount of discussion there that I don't want to needlessly > duplicate and/or badly summarize here, but the high-level overview is that it > seems that ffmpeg will need to convert avfilter/vf_opencv.c to build as C++ > if the OpenCV filter is going to continue to work. The current situation is > affecting many prominent projects like VLC. FFmpeg is a C project, and due to missing features in C++ (initializers) it's very awkward to build things in C++ mode. Can't OpenCV just fix their stuff. (Ignore my previous mail, bad mail client.) ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
On Mon, 19 Mar 2018 09:35:22 -0400 Jeff Cookwrote: > Hello, > > Please see the bug report at https://github.com/opencv/opencv/issues/10963 , > which discusses OpenCV's failure to build as pure C since upstream version > 3.4.1, and also discusses how all modules that use OpenCV 2 or later should > be compiled as C++ to avoid esoteric issues and serious breakages. > > There is a large amount of discussion there that I don't want to needlessly > duplicate and/or badly summarize here, but the high-level overview is that it > seems that ffmpeg will need to convert avfilter/vf_opencv.c to build as C++ > if the OpenCV filter is going to continue to work. The current situation is > affecting many prominent projects like VLC. FFmpeg is a C project, and due to missing features in C ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1
Hello, Please see the bug report at https://github.com/opencv/opencv/issues/10963 , which discusses OpenCV's failure to build as pure C since upstream version 3.4.1, and also discusses how all modules that use OpenCV 2 or later should be compiled as C++ to avoid esoteric issues and serious breakages. There is a large amount of discussion there that I don't want to needlessly duplicate and/or badly summarize here, but the high-level overview is that it seems that ffmpeg will need to convert avfilter/vf_opencv.c to build as C++ if the OpenCV filter is going to continue to work. The current situation is affecting many prominent projects like VLC. Thanks, Jeff -- Jeff Cook jeff.c...@strongstrata.com ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel