[FFmpeg-devel] [PATCH v2 17/33] avdevice/dshow: discover source color range/space/etc
James Almer
jamrial at gmail.com
Wed Jun 16 01:15:53 EEST 2021
On 6/15/2021 5:18 AM, Michael Niedermayer wrote:
> On Mon, Jun 14, 2021 at 02:50:32PM -0300, James Almer wrote:
>> On 6/14/2021 1:56 PM, Michael Niedermayer wrote:
>>> On Fri, Jun 11, 2021 at 10:30:48PM +0200, Diederick Niehorster wrote:
>>>> Enabled discovering a DirectShow device's color range, space, primaries,
>>>> transfer characteristics and chroma location, if the device exposes that
>>>> information. Sets them in the stream's codecpars.
>>>>
>>>> Signed-off-by: Diederick Niehorster <dcnieho at gmail.com>
>>>> Co-authored-by: Valerii Zapodovnikov <val.zapod.vz at gmail.com>
>>>> Signed-off-by: Diederick Niehorster <dcnieho at gmail.com>
>>>> ---
>>>> libavdevice/dshow.c | 250 +++++++++++++++++++++++++++++++++++++++++++-
>>>> 1 file changed, 249 insertions(+), 1 deletion(-)
>>>
>>> breaks build on mingw64
>>>
>>> make
>>> CC libavdevice/dshow.o
>>> src/libavdevice/dshow.c: In function ‘dshow_get_device_media_types’:
>>> src/libavdevice/dshow.c:415:23: warning: unused variable ‘ctx’ [-Wunused-variable]
>>> struct dshow_ctx *ctx = avctx->priv_data;
>>> ^~~
>>> src/libavdevice/dshow.c: In function ‘dshow_get_device_list’:
>>> src/libavdevice/dshow.c:662:23: warning: unused variable ‘ctx’ [-Wunused-variable]
>>> struct dshow_ctx *ctx = avctx->priv_data;
>>> ^~~
>>> src/libavdevice/dshow.c: In function ‘dshow_cycle_formats’:
>>> src/libavdevice/dshow.c:731:13: error: unknown type name ‘DXVA_ExtendedFormat’; did you mean ‘DXVA2_ExtendedFormat’?
>>> DXVA_ExtendedFormat *extended_format_info = NULL;
>>> ^~~~~~~~~~~~~~~~~~~
>>> DXVA2_ExtendedFormat
>>> src/libavdevice/dshow.c:744:41: error: ‘AMCONTROL_COLORINFO_PRESENT’ undeclared (first use in this function)
>>> if (v->dwControlFlags & AMCONTROL_COLORINFO_PRESENT)
>>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> $ grep -r AMCONTROL_COLORINFO_PRESENT /mingw64/x86_64-w64-mingw32/include/*
>> /mingw64/x86_64-w64-mingw32/include/dvdmedia.h:#define
>> AMCONTROL_COLORINFO_PRESENT 0x00000080
>>
>> Can you see if you can update your mingw-w64 toolchain, or at least the
>> headers/crt? This is not the first time you get an error with new code.
>> Old mingw headers releases lacked a lot of API and are not representative of
>> what a sane toolchain is meant to have.
>
> Assuming that ubuntu didnt fail to update its mingw installation on OS update
> This is a standard installation for mingw64 from 18.04 LTS packages
That is unfortunate, but i guess not unexpected since mingw-w64 evolves
pretty fast and headers get new API with every release.
>
> I think you are missing my point here as you are asking me to upgrade.
> What would i achieve by upgrading ?
Getting a recent enough release of the headers + CRT. Old releases
lacked a lot of API, even stuff available in msvc for years. Even
nightly is way ahead of tagged releases.
> Isnt that equivalent of not testing build with ubuntu 18 LTS anymore ?
Yes, but i was not aware you were using a distro package.
>
> I think testing does make sense unless you belive theres something funky wrong
> with my setup?
No, it's just three years old by now, but that's how LTS distros go, so...
> And if you want to drop support for some specific versions of platforms, question
> would be which platforms would that affect and it would require a test in
> configure not failure to build in a random source file. The later can be a pain
> for novice users.
I guess a configure option to look for the API used by this patch would
be needed, making this new code optional.
>
> Thanks
>
> [...]
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list