On 07/02/17 18:54, Anton Sviridenko wrote:
>     {
>         AVVAAPIHWConfig *hwconfig = NULL;
>         AVHWFramesConstraints *constraints = NULL;
> 
>         hwconfig = (AVVAAPIHWConfig
> *)av_hwdevice_hwconfig_alloc(m_hw_device_ctx);
>         constraints =
> av_hwdevice_get_hwframe_constraints(m_hw_device_ctx, hwconfig);
> 
>         if (!constraints)
>         {
>             qDebug() << "Failed to query VAAPI constraints";
>             av_freep(&hwconfig);
>             return;
>         }
> 
>         qDebug() << "VAAPI frame constraints: \n"
>                  << "min_width " << constraints->min_width
>                  << "min_height " << constraints->min_height
>                  << "max_width " << constraints->max_width
>                  << "max_height " << constraints->max_height;
> 
>         av_freep(&hwconfig);
>         av_hwframe_constraints_free(&constraints);
>     }

You need to fill the config_id field of AVVAAPIHWConfig.  The 
av_hwdevice_get_hwframe_constraints() function returns constraints on hwframes 
/for the given processing configuration/, which you have to supply.  
Alternatively, you can pass a null pointer in place of the hwconfig argument to 
get any global constraints which exist on image sizes or formats (in your case 
above for VAAPI that wouldn't say much of use because there are no global 
constraints on image sizes, only local ones to each processing configuration).

For some examples, see 
<http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavfilter/vf_scale_vaapi.c;h=5e6298a263d21fb5c7cd42047da0979233eaedaf;hb=HEAD#l135>
 (making a scaler) or 
<http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/vaapi_decode.c;h=da9e4aeddef86f9f54b3a82582205ebc840b738e;hb=HEAD#l368>
 (making a decoder).

- Mark
_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to