aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-04-06 00:45:25 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-04-10 03:47:08 +0200
commit48cda7d02b768d965db6582271a2f8591f2a3a10 (patch)
treef0bc5a9d11f6af4183c473943b1e6284174d5b6b
parent159bcb19b9482a98652ded9eee2751e9de0e9d0f (diff)
downloadffmpeg-48cda7d02b768d965db6582271a2f8591f2a3a10.tar.gz
avcodec/ljpegenc: Allow full range yuv420p, yuv422p, yuv444p by default
The documentation for AV_PIX_FMT_YUVJ420P reads: "planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range" Yet the LJPEG encoder only accepts full scale yuv420p when strictness is set to unofficial or lower; with default strictness it emits a nonsense error message that says that limit range YUV is unofficial. This has been changed to allow full range yuv420p, yuv422p and yuv444p irrespective of the level of strictness. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/ljpegenc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/ljpegenc.c b/libavcodec/ljpegenc.c
index 056b80b4b5..dd91c729d4 100644
--- a/libavcodec/ljpegenc.c
+++ b/libavcodec/ljpegenc.c
@@ -295,10 +295,11 @@ static av_cold int ljpeg_encode_init(AVCodecContext *avctx)
avctx->pix_fmt == AV_PIX_FMT_YUV422P ||
avctx->pix_fmt == AV_PIX_FMT_YUV444P ||
avctx->color_range == AVCOL_RANGE_MPEG) &&
+ avctx->color_range != AVCOL_RANGE_JPEG &&
avctx->strict_std_compliance > FF_COMPLIANCE_UNOFFICIAL) {
av_log(avctx, AV_LOG_ERROR,
- "Limited range YUV is non-standard, set strict_std_compliance to "
- "at least unofficial to use it.\n");
+ "Non full-range YUV is non-standard, set strict_std_compliance "
+ "to at most unofficial to use it.\n");
return AVERROR(EINVAL);
}