diff mbox series

[FFmpeg-devel] avcodec/videotoolbox: Fix undefined symbol with minimal configuration

Message ID 1641289393-4372-1-git-send-email-lance.lmwang@gmail.com
State Accepted
Commit 46f43f222e891a3da704ec711e859d13c2e9b5c6
Headers show
Series [FFmpeg-devel] avcodec/videotoolbox: Fix undefined symbol with minimal configuration | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/make_ppc success Make finished
andriy/make_fate_ppc fail Make fate failed

Commit Message

Lance Wang Jan. 4, 2022, 9:43 a.m. UTC
From: Limin Wang <lance.lmwang@gmail.com>

Please reproduced with the following minimal configure command:
./configure --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-hwaccel=h264_videotoolbox

You'll get below error:

Undefined symbols for architecture x86_64:
  "_ff_videotoolbox_vpcc_extradata_create", referenced from:
      _videotoolbox_start in videotoolbox.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Reported-by: Cameron Gutman <aicommander@gmail.com>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
---
 libavcodec/videotoolbox.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Cameron Gutman Jan. 4, 2022, 11:51 p.m. UTC | #1
> On Jan 4, 2022, at 3:43 AM, lance.lmwang@gmail.com wrote:
> 
> From: Limin Wang <lance.lmwang@gmail.com>
> 
> Please reproduced with the following minimal configure command:
> ./configure --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-hwaccel=h264_videotoolbox
> 
> You'll get below error:
> 
> Undefined symbols for architecture x86_64:
>  "_ff_videotoolbox_vpcc_extradata_create", referenced from:
>      _videotoolbox_start in videotoolbox.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Reported-by: Cameron Gutman <aicommander@gmail.com>
> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> ---

Thanks, this fixes the build break for me. Please merge it into 5.0 if possible.

Tested-by: Cameron Gutman <aicommander@gmail.com>

> libavcodec/videotoolbox.c | 2 ++
> 1 file changed, 2 insertions(+)
> 
> diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> index 69beb38..51d4eac 100644
> --- a/libavcodec/videotoolbox.c
> +++ b/libavcodec/videotoolbox.c
> @@ -825,11 +825,13 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
>         if (data)
>             CFDictionarySetValue(avc_info, CFSTR("hvcC"), data);
>         break;
> +#if CONFIG_VP9_VIDEOTOOLBOX_HWACCEL
>     case kCMVideoCodecType_VP9 :
>         data = ff_videotoolbox_vpcc_extradata_create(avctx);
>         if (data)
>             CFDictionarySetValue(avc_info, CFSTR("vpcC"), data);
>         break;
> +#endif
>     default:
>         break;
>     }
> -- 
> 1.8.3.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Lance Wang Jan. 5, 2022, 1:15 a.m. UTC | #2
On Tue, Jan 04, 2022 at 05:51:56PM -0600, Cameron Gutman wrote:
> 
> > On Jan 4, 2022, at 3:43 AM, lance.lmwang@gmail.com wrote:
> > 
> > From: Limin Wang <lance.lmwang@gmail.com>
> > 
> > Please reproduced with the following minimal configure command:
> > ./configure --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-hwaccel=h264_videotoolbox
> > 
> > You'll get below error:
> > 
> > Undefined symbols for architecture x86_64:
> >  "_ff_videotoolbox_vpcc_extradata_create", referenced from:
> >      _videotoolbox_start in videotoolbox.o
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see invocation)
> > 
> > Reported-by: Cameron Gutman <aicommander@gmail.com>
> > Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> > ---
> 
> Thanks, this fixes the build break for me. Please merge it into 5.0 if possible.
> 
> Tested-by: Cameron Gutman <aicommander@gmail.com>

thank for the testing, will apply and try to merge to 5.0.

> 
> > libavcodec/videotoolbox.c | 2 ++
> > 1 file changed, 2 insertions(+)
> > 
> > diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> > index 69beb38..51d4eac 100644
> > --- a/libavcodec/videotoolbox.c
> > +++ b/libavcodec/videotoolbox.c
> > @@ -825,11 +825,13 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
> >         if (data)
> >             CFDictionarySetValue(avc_info, CFSTR("hvcC"), data);
> >         break;
> > +#if CONFIG_VP9_VIDEOTOOLBOX_HWACCEL
> >     case kCMVideoCodecType_VP9 :
> >         data = ff_videotoolbox_vpcc_extradata_create(avctx);
> >         if (data)
> >             CFDictionarySetValue(avc_info, CFSTR("vpcC"), data);
> >         break;
> > +#endif
> >     default:
> >         break;
> >     }
> > -- 
> > 1.8.3.1
> > 
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > 
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
James Almer Jan. 5, 2022, 1:17 a.m. UTC | #3
On 1/4/2022 10:15 PM, lance.lmwang@gmail.com wrote:
> On Tue, Jan 04, 2022 at 05:51:56PM -0600, Cameron Gutman wrote:
>>
>>> On Jan 4, 2022, at 3:43 AM, lance.lmwang@gmail.com wrote:
>>>
>>> From: Limin Wang <lance.lmwang@gmail.com>
>>>
>>> Please reproduced with the following minimal configure command:
>>> ./configure --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-hwaccel=h264_videotoolbox
>>>
>>> You'll get below error:
>>>
>>> Undefined symbols for architecture x86_64:
>>>   "_ff_videotoolbox_vpcc_extradata_create", referenced from:
>>>       _videotoolbox_start in videotoolbox.o
>>> ld: symbol(s) not found for architecture x86_64
>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>>
>>> Reported-by: Cameron Gutman <aicommander@gmail.com>
>>> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
>>> ---
>>
>> Thanks, this fixes the build break for me. Please merge it into 5.0 if possible.
>>
>> Tested-by: Cameron Gutman <aicommander@gmail.com>
> 
> thank for the testing, will apply and try to merge to 5.0.

A cherry-pick should work without conflicts for this change.

> 
>>
>>> libavcodec/videotoolbox.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
>>> index 69beb38..51d4eac 100644
>>> --- a/libavcodec/videotoolbox.c
>>> +++ b/libavcodec/videotoolbox.c
>>> @@ -825,11 +825,13 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
>>>          if (data)
>>>              CFDictionarySetValue(avc_info, CFSTR("hvcC"), data);
>>>          break;
>>> +#if CONFIG_VP9_VIDEOTOOLBOX_HWACCEL
>>>      case kCMVideoCodecType_VP9 :
>>>          data = ff_videotoolbox_vpcc_extradata_create(avctx);
>>>          if (data)
>>>              CFDictionarySetValue(avc_info, CFSTR("vpcC"), data);
>>>          break;
>>> +#endif
>>>      default:
>>>          break;
>>>      }
>>> -- 
>>> 1.8.3.1
>>>
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel@ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>>
>
Lance Wang Jan. 5, 2022, 1:21 a.m. UTC | #4
On Tue, Jan 04, 2022 at 10:17:17PM -0300, James Almer wrote:
> 
> 
> On 1/4/2022 10:15 PM, lance.lmwang@gmail.com wrote:
> > On Tue, Jan 04, 2022 at 05:51:56PM -0600, Cameron Gutman wrote:
> > > 
> > > > On Jan 4, 2022, at 3:43 AM, lance.lmwang@gmail.com wrote:
> > > > 
> > > > From: Limin Wang <lance.lmwang@gmail.com>
> > > > 
> > > > Please reproduced with the following minimal configure command:
> > > > ./configure --enable-shared --disable-all --enable-avcodec --enable-decoder=h264 --enable-hwaccel=h264_videotoolbox
> > > > 
> > > > You'll get below error:
> > > > 
> > > > Undefined symbols for architecture x86_64:
> > > >   "_ff_videotoolbox_vpcc_extradata_create", referenced from:
> > > >       _videotoolbox_start in videotoolbox.o
> > > > ld: symbol(s) not found for architecture x86_64
> > > > clang: error: linker command failed with exit code 1 (use -v to see invocation)
> > > > 
> > > > Reported-by: Cameron Gutman <aicommander@gmail.com>
> > > > Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> > > > ---
> > > 
> > > Thanks, this fixes the build break for me. Please merge it into 5.0 if possible.
> > > 
> > > Tested-by: Cameron Gutman <aicommander@gmail.com>
> > 
> > thank for the testing, will apply and try to merge to 5.0.
> 
> A cherry-pick should work without conflicts for this change.

Yes, I'm glad to use cherry-pick for merge always.

> 
> > 
> > > 
> > > > libavcodec/videotoolbox.c | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > > 
> > > > diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
> > > > index 69beb38..51d4eac 100644
> > > > --- a/libavcodec/videotoolbox.c
> > > > +++ b/libavcodec/videotoolbox.c
> > > > @@ -825,11 +825,13 @@ static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
> > > >          if (data)
> > > >              CFDictionarySetValue(avc_info, CFSTR("hvcC"), data);
> > > >          break;
> > > > +#if CONFIG_VP9_VIDEOTOOLBOX_HWACCEL
> > > >      case kCMVideoCodecType_VP9 :
> > > >          data = ff_videotoolbox_vpcc_extradata_create(avctx);
> > > >          if (data)
> > > >              CFDictionarySetValue(avc_info, CFSTR("vpcC"), data);
> > > >          break;
> > > > +#endif
> > > >      default:
> > > >          break;
> > > >      }
> > > > -- 
> > > > 1.8.3.1
> > > > 
> > > > _______________________________________________
> > > > ffmpeg-devel mailing list
> > > > ffmpeg-devel@ffmpeg.org
> > > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > > > 
> > > > To unsubscribe, visit link above, or email
> > > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
> > > 
> > 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
diff mbox series

Patch

diff --git a/libavcodec/videotoolbox.c b/libavcodec/videotoolbox.c
index 69beb38..51d4eac 100644
--- a/libavcodec/videotoolbox.c
+++ b/libavcodec/videotoolbox.c
@@ -825,11 +825,13 @@  static CFDictionaryRef videotoolbox_decoder_config_create(CMVideoCodecType codec
         if (data)
             CFDictionarySetValue(avc_info, CFSTR("hvcC"), data);
         break;
+#if CONFIG_VP9_VIDEOTOOLBOX_HWACCEL
     case kCMVideoCodecType_VP9 :
         data = ff_videotoolbox_vpcc_extradata_create(avctx);
         if (data)
             CFDictionarySetValue(avc_info, CFSTR("vpcC"), data);
         break;
+#endif
     default:
         break;
     }