[FFmpeg-devel] [PATCH] avcodec/qsvenc: fix version detection on cygwin

Timo Rothenpieler timo at rothenpieler.org
Mon Jun 18 01:02:14 EEST 2018



Am 17.06.2018 um 17:48 schrieb Mark Thompson:
> On 15/06/18 15:52, Timo Rothenpieler wrote:
>> ---
>>   libavcodec/qsvenc.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h
>> index d48272224c..bb175c5df8 100644
>> --- a/libavcodec/qsvenc.h
>> +++ b/libavcodec/qsvenc.h
>> @@ -45,7 +45,7 @@
>>   #define QSV_HAVE_LA_DS  QSV_VERSION_ATLEAST(1, 8)
>>   #define QSV_HAVE_LA_HRD QSV_VERSION_ATLEAST(1, 11)
>>   
>> -#if defined(_WIN32)
>> +#if defined(_WIN32) || defined(__CYGWIN__)
>>   #define QSV_HAVE_AVBR   QSV_VERSION_ATLEAST(1, 3)
>>   #define QSV_HAVE_ICQ    QSV_VERSION_ATLEAST(1, 8)
>>   #define QSV_HAVE_VCM    QSV_VERSION_ATLEAST(1, 8)
>>
> 
> Probably ok.
> 
> Does something actually go wrong here on Cygwin, or do you just end up without those features?  (This stuff should all be tested at runtime, but I can't ask you to rewrite it to do that...)

Cygwin is WIN32 for all intents and purposes of QSV.

Without this change, it goes into the, what I assume is, the very 
Limited Linux branch, and most useful features like -global_quality ICQ 
and other common rate control modes are disabled.

> Are you going to want similar checks at the other instances of #if _WIN32 in that code?

The only other two instances of _WIN32 in the QSV code only select a 
default for the HEVC de/encoder plugin.
In my case, the non-WIN32 one worked, the WIN32 one wasn't even known, 
so I decided not to touch that code.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3994 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20180618/1bb9f7e6/attachment.bin>


More information about the ffmpeg-devel mailing list