Merge commit '3f111804eb5c603a344706b84b7164cbf7b4e0df'
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df': libvpx: make vp8 and vp9 selectable libvpx: support vp9 nut: support vp9 tag mkv: support vp9 tag rtpdec: Make variables that should wrap unsigned Conflicts: configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/avcodec.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -227,10 +227,10 @@ static av_cold int vp8_free(AVCodecContext *avctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static av_cold int vp8_init(AVCodecContext *avctx)
|
||||
static av_cold int vpx_init(AVCodecContext *avctx,
|
||||
const struct vpx_codec_iface *iface)
|
||||
{
|
||||
VP8Context *ctx = avctx->priv_data;
|
||||
const struct vpx_codec_iface *iface = &vpx_codec_vp8_cx_algo;
|
||||
struct vpx_codec_enc_cfg enccfg;
|
||||
int res;
|
||||
|
||||
@@ -608,13 +608,6 @@ static const AVOption options[] = {
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static const AVClass class = {
|
||||
.class_name = "libvpx encoder",
|
||||
.item_name = av_default_item_name,
|
||||
.option = options,
|
||||
.version = LIBAVUTIL_VERSION_INT,
|
||||
};
|
||||
|
||||
static const AVCodecDefault defaults[] = {
|
||||
{ "qmin", "-1" },
|
||||
{ "qmax", "-1" },
|
||||
@@ -623,7 +616,20 @@ static const AVCodecDefault defaults[] = {
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
AVCodec ff_libvpx_encoder = {
|
||||
#if CONFIG_LIBVPX_VP8_ENCODER
|
||||
static av_cold int vp8_init(AVCodecContext *avctx)
|
||||
{
|
||||
return vpx_init(avctx, &vpx_codec_vp8_cx_algo);
|
||||
}
|
||||
|
||||
static const AVClass class_vp8 = {
|
||||
.class_name = "libvpx encoder",
|
||||
.item_name = av_default_item_name,
|
||||
.option = options,
|
||||
.version = LIBAVUTIL_VERSION_INT,
|
||||
};
|
||||
|
||||
AVCodec ff_libvpx_vp8_encoder = {
|
||||
.name = "libvpx",
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_VP8,
|
||||
@@ -634,6 +640,36 @@ AVCodec ff_libvpx_encoder = {
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_AUTO_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.long_name = NULL_IF_CONFIG_SMALL("libvpx VP8"),
|
||||
.priv_class = &class,
|
||||
.priv_class = &class_vp8,
|
||||
.defaults = defaults,
|
||||
};
|
||||
#endif /* CONFIG_LIBVPX_VP8_ENCODER */
|
||||
|
||||
#if CONFIG_LIBVPX_VP9_ENCODER
|
||||
static av_cold int vp9_init(AVCodecContext *avctx)
|
||||
{
|
||||
return vpx_init(avctx, &vpx_codec_vp9_cx_algo);
|
||||
}
|
||||
|
||||
static const AVClass class_vp9 = {
|
||||
.class_name = "libvpx encoder",
|
||||
.item_name = av_default_item_name,
|
||||
.option = options,
|
||||
.version = LIBAVUTIL_VERSION_INT,
|
||||
};
|
||||
|
||||
AVCodec ff_libvpx_vp9_encoder = {
|
||||
.name = "libvpx-vp9",
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_VP9,
|
||||
.priv_data_size = sizeof(VP8Context),
|
||||
.init = vp9_init,
|
||||
.encode2 = vp8_encode,
|
||||
.close = vp8_free,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_AUTO_THREADS | CODEC_CAP_EXPERIMENTAL,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.long_name = NULL_IF_CONFIG_SMALL("libvpx VP9"),
|
||||
.priv_class = &class_vp9,
|
||||
.defaults = defaults,
|
||||
};
|
||||
#endif /* CONFIG_LIBVPX_VP9_ENCODER */
|
||||
|
Reference in New Issue
Block a user