aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-07-03 18:23:08 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-07-03 18:23:08 +0200
commit9f653e6d369bb39ac04da37fc899465a8dac9f46 (patch)
treefcc6f17372d4e4d12f3bfed23f8e0c71dbe2248d
parentd554715f673d670194b8a4449d9260f1a47a07ae (diff)
downloadffmpeg-9f653e6d369bb39ac04da37fc899465a8dac9f46.tar.gz
avcodec/j2kenc: Support user specified tile dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/j2kenc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c
index 6d7b3f73a4..f28cd56adb 100644
--- a/libavcodec/j2kenc.c
+++ b/libavcodec/j2kenc.c
@@ -1082,8 +1082,10 @@ static av_cold int j2kenc_init(AVCodecContext *avctx)
qntsty->nguardbits = 1;
- s->tile_width = 256;
- s->tile_height = 256;
+ if ((s->tile_width & (s->tile_width -1)) ||
+ (s->tile_height & (s->tile_height-1))) {
+ av_log(avctx, AV_LOG_WARNING, "Tile dimension not a power of 2\n");
+ }
if (codsty->transform == FF_DWT53)
qntsty->quantsty = JPEG2000_QSTY_NONE;
@@ -1136,6 +1138,9 @@ static const AVOption options[] = {
{ "format", "Codec Format", OFFSET(format), AV_OPT_TYPE_INT, { .i64 = CODEC_JP2 }, CODEC_J2K, CODEC_JP2, VE, "format" },
{ "j2k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CODEC_J2K }, 0, 0, VE, "format" },
{ "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, },
+
{ NULL }
};