mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-04-08 02:02:40 +00:00
avcodec/libvpxenc: switch to get_supported_config()
This commit is contained in:
parent
de421cac8b
commit
0977d968e4
@ -2088,13 +2088,25 @@ static const enum AVPixelFormat vp9_pix_fmts_highbd[] = {
|
|||||||
AV_PIX_FMT_NONE
|
AV_PIX_FMT_NONE
|
||||||
};
|
};
|
||||||
|
|
||||||
static av_cold void vp9_init_static(FFCodec *codec)
|
static int vp9_get_supported_config(const AVCodecContext *avctx,
|
||||||
|
const AVCodec *codec,
|
||||||
|
enum AVCodecConfig config,
|
||||||
|
unsigned flags, const void **out,
|
||||||
|
int *out_num)
|
||||||
{
|
{
|
||||||
vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx());
|
if (config == AV_CODEC_CONFIG_PIX_FORMAT) {
|
||||||
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH)
|
vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx());
|
||||||
codec->p.pix_fmts = vp9_pix_fmts_highbd;
|
if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) {
|
||||||
else
|
*out = vp9_pix_fmts_highbd;
|
||||||
codec->p.pix_fmts = vp9_pix_fmts_highcol;
|
*out_num = FF_ARRAY_ELEMS(vp9_pix_fmts_highbd) - 1;
|
||||||
|
} else {
|
||||||
|
*out = vp9_pix_fmts_highcol;
|
||||||
|
*out_num = FF_ARRAY_ELEMS(vp9_pix_fmts_highcol) - 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ff_default_get_supported_config(avctx, codec, config, flags, out, out_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const AVClass class_vp9 = {
|
static const AVClass class_vp9 = {
|
||||||
@ -2124,6 +2136,6 @@ FFCodec ff_libvpx_vp9_encoder = {
|
|||||||
FF_CODEC_CAP_INIT_CLEANUP |
|
FF_CODEC_CAP_INIT_CLEANUP |
|
||||||
FF_CODEC_CAP_AUTO_THREADS,
|
FF_CODEC_CAP_AUTO_THREADS,
|
||||||
.defaults = defaults,
|
.defaults = defaults,
|
||||||
.init_static_data = vp9_init_static,
|
.get_supported_config = vp9_get_supported_config,
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_LIBVPX_VP9_ENCODER */
|
#endif /* CONFIG_LIBVPX_VP9_ENCODER */
|
||||||
|
Loading…
Reference in New Issue
Block a user