Hi! Attached patch fixes ticket #7600.
Please comment, Carl Eugen
From 90492e635c461f328a18cb6a55a71206f9cd5aeb Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos <ceffm...@gmail.com> Date: Thu, 10 Jan 2019 21:56:28 +0100 Subject: [PATCH] lavc/libaomenc: Support lossless encoding. Tested-by: Ewout ter Hoeven --- libavcodec/libaomenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c index faec61c..244c71a 100644 --- a/libavcodec/libaomenc.c +++ b/libavcodec/libaomenc.c @@ -79,6 +79,7 @@ typedef struct AOMEncoderContext { aom_superblock_size_t superblock_size; int uniform_tiles; int row_mt; + int lossless; } AOMContext; static const char *const ctlidstr[] = { @@ -96,6 +97,7 @@ static const char *const ctlidstr[] = { #ifdef AOM_CTRL_AV1E_SET_ROW_MT [AV1E_SET_ROW_MT] = "AV1E_SET_ROW_MT", #endif + [AV1E_SET_LOSSLESS] = "AV1E_SET_LOSSLESS", }; static av_cold void log_encoder_error(AVCodecContext *avctx, const char *desc) @@ -662,6 +664,7 @@ static av_cold int aom_init(AVCodecContext *avctx, #ifdef AOM_CTRL_AV1E_SET_ROW_MT codecctl_int(avctx, AV1E_SET_ROW_MT, ctx->row_mt); #endif + codecctl_int(avctx, AV1E_SET_LOSSLESS, ctx->lossless); // provide dummy value to initialize wrapper, values will be updated each _encode() aom_img_wrap(&ctx->rawimg, img_fmt, avctx->width, avctx->height, 1, @@ -997,6 +1000,7 @@ static const AVOption options[] = { { "tile-columns", "Log2 of number of tile columns to use", OFFSET(tile_cols_log2), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE}, { "tile-rows", "Log2 of number of tile rows to use", OFFSET(tile_rows_log2), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE}, { "row-mt", "Enable row based multi-threading", OFFSET(row_mt), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, + { "lossless", "Lossless mode", OFFSET(lossless), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, { NULL } }; -- 1.7.10.4
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel