X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fj2kenc.c;h=2cd837d8be0b5d6e6a9210c2ac586cc14cdae22f;hb=e05704bd46b9107af25204dff47bd8b034868ae4;hp=152da8bdfd89fb9b22944b71d6ecd1e00ee34f7d;hpb=f97d2d210553d64dccdc07da1eb9923fb46c5fcc;p=ffmpeg diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c index 152da8bdfd8..2cd837d8be0 100644 --- a/libavcodec/j2kenc.c +++ b/libavcodec/j2kenc.c @@ -88,6 +88,7 @@ typedef struct { Jpeg2000Tile *tile; int format; + int pred; } Jpeg2000EncoderContext; @@ -1069,6 +1070,13 @@ static av_cold int j2kenc_init(AVCodecContext *avctx) s->avctx = avctx; av_log(s->avctx, AV_LOG_DEBUG, "init\n"); +#if FF_API_PRIVATE_OPT +FF_DISABLE_DEPRECATION_WARNINGS + if (avctx->prediction_method) + s->pred = avctx->prediction_method; +FF_ENABLE_DEPRECATION_WARNINGS +#endif + // defaults: // TODO: implement setting non-standard precinct size memset(codsty->log2_prec_widths , 15, sizeof(codsty->log2_prec_widths )); @@ -1077,7 +1085,7 @@ static av_cold int j2kenc_init(AVCodecContext *avctx) codsty->nreslevels = 7; codsty->log2_cblk_width = 4; codsty->log2_cblk_height = 4; - codsty->transform = avctx->prediction_method ? FF_DWT53 : FF_DWT97_INT; + codsty->transform = s->pred ? FF_DWT53 : FF_DWT97_INT; qntsty->nguardbits = 1; @@ -1139,6 +1147,9 @@ static const AVOption options[] = { { "jp2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_JP2 }, 0, 0, VE, "format" }, { "tile_width", "Tile Width", OFFSET(tile_width), AV_OPT_TYPE_INT, { .i64 = 256 }, 1, 1<<30, VE, }, { "tile_height", "Tile Height", OFFSET(tile_height), AV_OPT_TYPE_INT, { .i64 = 256 }, 1, 1<<30, VE, }, + { "pred", "DWT Type", OFFSET(pred), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, "pred" }, + { "dwt97int", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" }, + { "dwt53", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "pred" }, { NULL } };