From patchwork Mon Feb 22 13:19:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 25892 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9405F44BB67 for ; Mon, 22 Feb 2021 15:25:15 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 51F1568A9BB; Mon, 22 Feb 2021 15:25:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CCAE4680A4F for ; Mon, 22 Feb 2021 15:25:08 +0200 (EET) Received: by mail-lj1-f177.google.com with SMTP id c8so57804339ljd.12 for ; Mon, 22 Feb 2021 05:25:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=lryvRkquRPEAmzrDAmThpdKSKfQ/4Y8sWmbevdzLD5Q=; b=U+DRwgGje74/D92P0jkr+OgeEG+bQC2crif16GSuFLeKshStBPxwNDeoJhZIuz9mMf axCwQB6q6xkhNfSJxZeFIlnmCb5K03rv7UB7LkFp/pXAcI/nHLV5/8DhdoOnP+2fXhRG vnpsmkP7m1mEPrpUilD1RYMy71aIkoUfSd5Tj1tkSXtovNU10O2g8yloyMiCM+sQkEoK 6XaQkcj+qhR5iK/QBm9GZOKHUhe6DJXvbEJ7gUhmxC3VR2uQ2HLelOdLc2+vL1emkOkn 73hEX7dAXZZLF4j28UyjVFCbGPy4hFLz6iw45XtHeXeTgTYjfX7mhACFEdPHRvgXIrEs rH8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lryvRkquRPEAmzrDAmThpdKSKfQ/4Y8sWmbevdzLD5Q=; b=K6Pn2h1HHO0Icu6yJKKqpEwFvg+lCR1s8Q9CMuGUUPvHStzNSZfryIQs3bwUrBvW0L 2J5z/9QgTk6FyetsHsZ3GtnyaKHq54F9K8Gi/vwTaJif1BODDZNdFbQ9p7jqByc6tzAa fJJ4u8rtseTXhqFIdWDbSuVEM9RX1AT49PCU69HX3WxwYrtEiHmWXEorDd0sFZfyRV+W plcnGz8M2vkZNcZoij8WzhkeeTIUHnqJTCNIRhDvioaQ4ZDFLfnJAJ4eR/KpNVFDo667 CDvbnnmhiXexDzO7PUpnGVlzcWsUNdu2gkCxIFFsmnVlBwvy4n+T8Fs+MluOd+/ullsy oIWg== X-Gm-Message-State: AOAM532brljkyjszaiQPnrhaU6halUKicHolw8tCjU/hTSGze3LCXEy6 5RK+1QAxECsOJHVkIZp+FNKwoAoks3Q= X-Google-Smtp-Source: ABdhPJy5ZMyvckuwLGKwFLeClgT3k9bNPnWzuw9X+L4MjgJu9+AaJcKMe009ILCow2xkoWm97h6aig== X-Received: by 2002:a05:6512:991:: with SMTP id w17mr14076790lft.148.1613999959711; Mon, 22 Feb 2021 05:19:19 -0800 (PST) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id v26sm750256lfd.6.2021.02.22.05.19.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Feb 2021 05:19:19 -0800 (PST) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Mon, 22 Feb 2021 15:19:13 +0200 Message-Id: <20210222131914.21335-4-jeebjp@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210222131914.21335-1-jeebjp@gmail.com> References: <20210222131914.21335-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v5 3/4] avcodec: enable usage of AV_EF_EXPLODE for subtitle encoders X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Jan Ekström As currently it is the responsibility of the following subtitle encoder to validate the correctness of the incoming ASS dialog line. Signed-off-by: Jan Ekström --- libavcodec/avcodec.h | 5 ++++- libavcodec/options_table.h | 4 ++-- libavcodec/version.h | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 7dbf083a24..9fffe8bcec 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1634,7 +1634,10 @@ typedef struct AVCodecContext { /** * Error recognition; may misdetect some more or less valid parts as errors. - * - encoding: unused + * - encoding: Set by user. Currently only AV_EF_EXPLODE is valid, and only + * for subtitle encoders, since checking the validity of an ASS + * dialog line is currently the responsibility of the following + * encoder. * - decoding: Set by user. */ int err_recognition; diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index ded9de4d67..f159a4b410 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -140,11 +140,11 @@ static const AVOption avcodec_options[] = { {"unofficial", "allow unofficial extensions", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_UNOFFICIAL }, INT_MIN, INT_MAX, A|V|D|E, "strict"}, {"experimental", "allow non-standardized experimental things", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_EXPERIMENTAL }, INT_MIN, INT_MAX, A|V|D|E, "strict"}, {"b_qoffset", "QP offset between P- and B-frames", OFFSET(b_quant_offset), AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX, V|E}, -{"err_detect", "set error detection flags", OFFSET(err_recognition), AV_OPT_TYPE_FLAGS, {.i64 = 0 }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, +{"err_detect", "set error detection flags", OFFSET(err_recognition), AV_OPT_TYPE_FLAGS, {.i64 = 0 }, INT_MIN, INT_MAX, A|V|D|E, "err_detect"}, {"crccheck", "verify embedded CRCs", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_CRCCHECK }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, {"bitstream", "detect bitstream specification deviations", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_BITSTREAM }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, {"buffer", "detect improper bitstream length", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_BUFFER }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, -{"explode", "abort decoding on minor error detection", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_EXPLODE }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, +{"explode", "abort decoding on minor error detection", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_EXPLODE }, INT_MIN, INT_MAX, A|V|D|E, "err_detect"}, {"ignore_err", "ignore errors", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_IGNORE_ERR }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, {"careful", "consider things that violate the spec, are fast to check and have not been seen in the wild as errors", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_CAREFUL }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, {"compliant", "consider all spec non compliancies as errors", 0, AV_OPT_TYPE_CONST, {.i64 = AV_EF_COMPLIANT | AV_EF_CAREFUL }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, diff --git a/libavcodec/version.h b/libavcodec/version.h index 9325da1028..85fbbfe766 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 58 #define LIBAVCODEC_VERSION_MINOR 125 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \