Re: [FFmpeg-devel] OpenCV filter should be built as C++, and C builds fail since OpenCV 3.4.1

2018-03-22 Thread Nicolas George
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

2018-03-22 Thread Paul B Mahol
On 3/22/18, Nicolas George  wrote:
> 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

2018-03-22 Thread Nicolas George
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

2018-03-20 Thread Rostislav Pehlivanov
On 20 March 2018 at 15:02, Nicolas George  wrote:

> 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

2018-03-20 Thread Tomas Härdin
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

2018-03-20 Thread wm4
On Tue, 20 Mar 2018 00:23:54 +0100
Carl Eugen Hoyos  wrote:

> 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

2018-03-20 Thread wm4
On Mon, 19 Mar 2018 19:01:49 +0200
Jan Ekström  wrote:

> 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

2018-03-20 Thread 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.


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

2018-03-20 Thread Paul B Mahol
On 3/20/18, Nicolas George  wrote:
> 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

2018-03-20 Thread Nicolas George
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

2018-03-20 Thread Nicolas George
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

2018-03-20 Thread Nicolas George
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

2018-03-19 Thread Paul B Mahol
On 3/20/18, Carl Eugen Hoyos  wrote:
> 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 Thread Carl Eugen Hoyos
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

2018-03-19 Thread Rostislav Pehlivanov
On 19 March 2018 at 20:57, 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.
>
> 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

2018-03-19 Thread Derek Buitenhuis
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

2018-03-19 Thread Nicolas George
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

2018-03-19 Thread Derek Buitenhuis
On 3/19/2018 5:01 PM, Jan Ekström wrote:
> 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
> 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

2018-03-19 Thread Jan Ekström
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
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

2018-03-19 Thread wm4
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.

(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

2018-03-19 Thread wm4
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
___
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

2018-03-19 Thread Jeff Cook
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