[FFmpeg-devel] configure: really enable libvpx-vp9 encoder and decoder

Submitted by Guo, Yejun on March 4, 2019, 3:40 p.m.

Details

Message ID 1551714000-30901-1-git-send-email-yejun.guo@intel.com
State New
Headers show

Commit Message

Guo, Yejun March 4, 2019, 3:40 p.m.
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
---
 configure | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

James Almer March 4, 2019, 12:21 p.m.
On 3/4/2019 12:40 PM, Guo, Yejun wrote:
> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
> ---
>  configure | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index 3042ab9..3e2a487 100755
> --- a/configure
> +++ b/configure
> @@ -6236,11 +6236,11 @@ enabled libvpx            && {
>      }
>      enabled libvpx_vp9_decoder && {
>          check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||
> -            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
> +            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
>      }
>      enabled libvpx_vp9_encoder && {
>          check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||
> -            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
> +            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
>      }
>      if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then
>          die "libvpx enabled but no supported decoders found"

What do you mean with "Really enable"? We're checking for
vpx_codec_vp9_dx and vpx_codec_vp9_cx because they are symbols that will
allegedly be present only if the relevant module was enabled during
libvpx compilation.
Guo, Yejun March 4, 2019, 12:27 p.m.
> -----Original Message-----

> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf

> Of James Almer

> Sent: Monday, March 04, 2019 8:21 PM

> To: ffmpeg-devel@ffmpeg.org

> Subject: Re: [FFmpeg-devel] [PATCH] configure: really enable libvpx-vp9

> encoder and decoder

> 

> On 3/4/2019 12:40 PM, Guo, Yejun wrote:

> > Signed-off-by: Guo, Yejun <yejun.guo@intel.com>

> > ---

> >  configure | 4 ++--

> >  1 file changed, 2 insertions(+), 2 deletions(-)

> >

> > diff --git a/configure b/configure

> > index 3042ab9..3e2a487 100755

> > --- a/configure

> > +++ b/configure

> > @@ -6236,11 +6236,11 @@ enabled libvpx            && {

> >      }

> >      enabled libvpx_vp9_decoder && {

> >          check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0"

> "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||

> > -            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h"

> "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"

> > +            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h"

> "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> $libm_extralibs"

> >      }

> >      enabled libvpx_vp9_encoder && {

> >          check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0"

> "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||

> > -            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"

> "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"

> > +            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"

> "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> $libm_extralibs"

> >      }

> >      if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder

> libvpx_vp8_encoder libvpx_vp9_encoder; then

> >          die "libvpx enabled but no supported decoders found"

> 

> What do you mean with "Really enable"? We're checking for

> vpx_codec_vp9_dx and vpx_codec_vp9_cx because they are symbols that

> will

> allegedly be present only if the relevant module was enabled during

> libvpx compilation.


the check for vpx_codec_vp9_dx/cx will always fail since it requires the build option "-lpthread".
(this pthread libvpx issue is another issue and I just sent out a patch for the fix, see https://groups.google.com/a/webmproject.org/forum/#!topic/codec-devel/JwufiANnwaA)

so I choose the same way as vp8, I guess this is a typo for vp9.

to see the issue, just run configure for ffmpeg and check the decoder/encoder outputs.

> _______________________________________________

> ffmpeg-devel mailing list

> ffmpeg-devel@ffmpeg.org

> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
James Almer March 4, 2019, 12:40 p.m.
On 3/4/2019 9:27 AM, Guo, Yejun wrote:
> 
> 
>> -----Original Message-----
>> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf
>> Of James Almer
>> Sent: Monday, March 04, 2019 8:21 PM
>> To: ffmpeg-devel@ffmpeg.org
>> Subject: Re: [FFmpeg-devel] [PATCH] configure: really enable libvpx-vp9
>> encoder and decoder
>>
>> On 3/4/2019 12:40 PM, Guo, Yejun wrote:
>>> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
>>> ---
>>>  configure | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 3042ab9..3e2a487 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -6236,11 +6236,11 @@ enabled libvpx            && {
>>>      }
>>>      enabled libvpx_vp9_decoder && {
>>>          check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0"
>> "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||
>>> -            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h"
>> "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
>>> +            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h"
>> "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx
>> $libm_extralibs"
>>>      }
>>>      enabled libvpx_vp9_encoder && {
>>>          check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0"
>> "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||
>>> -            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"
>> "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
>>> +            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"
>> "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx
>> $libm_extralibs"
>>>      }
>>>      if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder
>> libvpx_vp8_encoder libvpx_vp9_encoder; then
>>>          die "libvpx enabled but no supported decoders found"
>>
>> What do you mean with "Really enable"? We're checking for
>> vpx_codec_vp9_dx and vpx_codec_vp9_cx because they are symbols that
>> will
>> allegedly be present only if the relevant module was enabled during
>> libvpx compilation.
> 
> the check for vpx_codec_vp9_dx/cx will always fail since it requires the build option "-lpthread".
> (this pthread libvpx issue is another issue and I just sent out a patch for the fix, see https://groups.google.com/a/webmproject.org/forum/#!topic/codec-devel/JwufiANnwaA)

If the issue is a missing -lpthread in the non pkg-config check, then
just add $pthreads_extralibs between -lvpx and $libm_extralibs at the
end of it.

> 
> so I choose the same way as vp8, I guess this is a typo for vp9.

No, it's a typo for vp8, and it should be fixed.

> 
> to see the issue, just run configure for ffmpeg and check the decoder/encoder outputs.

The change you're proposing will allegedly enable vp9 decoder and
encoder regardless of the relevant symbols being present in the library
or not, so it's not acceptable as compiling libavcodec will ultimately
fail if they aren't.
Guo, Yejun March 4, 2019, 12:50 p.m.
> -----Original Message-----

> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On Behalf

> Of James Almer

> Sent: Monday, March 04, 2019 8:40 PM

> To: ffmpeg-devel@ffmpeg.org

> Subject: Re: [FFmpeg-devel] [PATCH] configure: really enable libvpx-vp9

> encoder and decoder

> 

> On 3/4/2019 9:27 AM, Guo, Yejun wrote:

> >

> >

> >> -----Original Message-----

> >> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces@ffmpeg.org] On

> Behalf

> >> Of James Almer

> >> Sent: Monday, March 04, 2019 8:21 PM

> >> To: ffmpeg-devel@ffmpeg.org

> >> Subject: Re: [FFmpeg-devel] [PATCH] configure: really enable libvpx-vp9

> >> encoder and decoder

> >>

> >> On 3/4/2019 12:40 PM, Guo, Yejun wrote:

> >>> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>

> >>> ---

> >>>  configure | 4 ++--

> >>>  1 file changed, 2 insertions(+), 2 deletions(-)

> >>>

> >>> diff --git a/configure b/configure

> >>> index 3042ab9..3e2a487 100755

> >>> --- a/configure

> >>> +++ b/configure

> >>> @@ -6236,11 +6236,11 @@ enabled libvpx            && {

> >>>      }

> >>>      enabled libvpx_vp9_decoder && {

> >>>          check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0"

> >> "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||

> >>> -            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h"

> >> "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> $libm_extralibs"

> >>> +            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h

> vpx/vp8dx.h"

> >> "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> >> $libm_extralibs"

> >>>      }

> >>>      enabled libvpx_vp9_encoder && {

> >>>          check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0"

> >> "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||

> >>> -            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"

> >> "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> $libm_extralibs"

> >>> +            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h"

> >> "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx

> >> $libm_extralibs"

> >>>      }

> >>>      if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder

> >> libvpx_vp8_encoder libvpx_vp9_encoder; then

> >>>          die "libvpx enabled but no supported decoders found"

> >>

> >> What do you mean with "Really enable"? We're checking for

> >> vpx_codec_vp9_dx and vpx_codec_vp9_cx because they are symbols

> that

> >> will

> >> allegedly be present only if the relevant module was enabled during

> >> libvpx compilation.

> >

> > the check for vpx_codec_vp9_dx/cx will always fail since it requires the

> build option "-lpthread".

> > (this pthread libvpx issue is another issue and I just sent out a patch for the

> fix, see

> https://groups.google.com/a/webmproject.org/forum/#!topic/codec-

> devel/JwufiANnwaA)

> 

> If the issue is a missing -lpthread in the non pkg-config check, then

> just add $pthreads_extralibs between -lvpx and $libm_extralibs at the

> end of it.

> 

> >

> > so I choose the same way as vp8, I guess this is a typo for vp9.

> 

> No, it's a typo for vp8, and it should be fixed.


sure, no problem. 

I'll fix both the vp8 part and vp9 part.

> 

> >

> > to see the issue, just run configure for ffmpeg and check the

> decoder/encoder outputs.

> 

> The change you're proposing will allegedly enable vp9 decoder and

> encoder regardless of the relevant symbols being present in the library

> or not, so it's not acceptable as compiling libavcodec will ultimately

> fail if they aren't.

> _______________________________________________

> ffmpeg-devel mailing list

> ffmpeg-devel@ffmpeg.org

> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Patch hide | download patch | download mbox

diff --git a/configure b/configure
index 3042ab9..3e2a487 100755
--- a/configure
+++ b/configure
@@ -6236,11 +6236,11 @@  enabled libvpx            && {
     }
     enabled libvpx_vp9_decoder && {
         check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx ||
-            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
+            check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
     }
     enabled libvpx_vp9_encoder && {
         check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx ||
-            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
+            check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs"
     }
     if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then
         die "libvpx enabled but no supported decoders found"