[Libav-user] How to choose correct decoder for hw-accelerated decoding?

Ахмед Анам ahmedanam at mail.ru
Wed Apr 24 17:08:16 EEST 2019

Thank you for your reply. I used AV_HWDEVICE_TYPE_CUDA for cuvid decoder. Is it correct?

>Среда, 24 апреля 2019, 17:00 +03:00 от Philippe Gorley <philippe.gorley at savoirfairelinux.com>:
>On 2019-04-24 7:34 a.m., Ахмед Анам via Libav-user wrote:
>> Hello.
>> I studied */hw-decode.c/* example and in this example a decoder is 
>> choosen based on an input video file (calling function 
>> /*av_find_best_stream(input_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, &decoder, 
>> 0),* /where /*decoder */is a local variable of type /*AVCodec**/). 
>> I try to decode H264 videostream using hw-acceleration. To find a proper 
>> decoder I use /*avcodec_find_decoder(codec_id) *///function. Now for 
>> decoding h264 stream I use /*AV_CODEC_ID_H264 */as the argument for this 
>> function**/*. */Is it correct? I don't see the difference in CPU and 
>> GPU utilization for hardware-accelerated decoding. Even for multiple 
>> streams.
>AV_CODEC_ID_H264 is correct.
>To set up a hardware decoder, you need to set 
>AVCodecContext.hw_device_ctx. In hw_decode.c, that happens in the 
>hw_decoder_init function with av_hwdevice_ctx_create.
>FFmpeg takes care of setting up the per-frame hardware context as you 
>The choice of which hardware decoder is used is up to you 
>(AVHWDeviceType enum: 
>https://ffmpeg.org/doxygen/trunk/hwcontext_8h.html ). In the example, 
>av_hwdevice_find_type_by_name is called to get the type from the first 
>command line argument.
>> -- 
>> С уважением, Ахмед Анам.
>> Best regards, Akhmed Anam.
>> _______________________________________________
>> Libav-user mailing list
>>  Libav-user at ffmpeg.org
>>  https://ffmpeg.org/mailman/listinfo/libav-user
>> To unsubscribe, visit link above, or email
>>  libav-user-request at ffmpeg.org with subject "unsubscribe".
>Philippe Gorley
>Free Software Consultant | Montréal, Qc
>Savoir-faire Linux
>Libav-user mailing list
>Libav-user at ffmpeg.org
>To unsubscribe, visit link above, or email
>libav-user-request at ffmpeg.org with subject "unsubscribe".

С уважением, Ахмед Анам.
Best regards, Akhmed Anam.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20190424/07a58f91/attachment.html>

More information about the Libav-user mailing list