From patchwork Fri Dec 8 11:12:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 6606 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp407978jah; Fri, 8 Dec 2017 03:13:59 -0800 (PST) X-Google-Smtp-Source: AGs4zMYQz6UeSb5tcjH0L0CPvmolhB+/pLP5Kgz4PW/Oa9n+2k2Cs33r387IjKdtUg6KSxrv7fp0 X-Received: by 10.28.211.211 with SMTP id k202mr3891859wmg.113.1512731639484; Fri, 08 Dec 2017 03:13:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512731639; cv=none; d=google.com; s=arc-20160816; b=O8ALuYox+ovrvB5Zu8OgS5u+fNZpgUhK6uVHSU4kENKjsIxjDDq9SoNlnaogR5GFH5 wBqeDQdjAIQ+zs2MVM8OdoZUZOVMBo12oXMyisrQZeH6hyd5ZKLZuzTNKJnyMJjKXNx2 2lbWrVS4cSC4mGUeBJ/rPCSXdFZ8Fw4wY9w/DZ49h0UfxCZkdlOMFgJxWtv5i3QsreYC iF+iFA4ur/OxPnXwHQR2XbleF0mS5FJ3nHXvWwWWYIWDrRapOYAq46rWZ+oFWm0p3AA6 7R+wmFCHn6vBt+YUeTTR8Tp2t4I0whYsI7w1RySbv/E8fLqQnTWX/cd78OzR8i4hpOzn eQaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=lZ3ZojNLazNNwWNFeTGgi3VujLxOynWNCsVKL0keUqs=; b=HeG72/IgJemRxyd06eRYg8NSewzEp49tnMhPmAMqoneJoeuH8mdCQobR6Kp33Vh/y7 lrF3jAaRLK2MU3QfCgL/4dihjeIHCPKAyzDF4dbNSiQlGS6u5YMkfxxwSnxSPCKhFh9B 44G0/tl7JirzCA8tbdIGMI8HVdu/36cad3ubX4KDDgY6ebIs9rAfixPg3C+5HDrmBNfU 1ndyUd8LvwwnrEljN2B4Nc2LbpeLtBoigpg8CGs6UigHZXhdfyL+sdqUs1eIHz8zgcUr EaiqSny8hZMLXuvLSUa2MWhFpVdnR715Yxwqy6p0R0j28ADBRD6DimoHr5F9jCspG4w3 +m+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=V8W/t4vO; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e67si969369wmd.231.2017.12.08.03.13.59; Fri, 08 Dec 2017 03:13:59 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=V8W/t4vO; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7791168A4B1; Fri, 8 Dec 2017 13:13:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 147E768828D for ; Fri, 8 Dec 2017 13:13:42 +0200 (EET) Received: by mail-wr0-f194.google.com with SMTP id q9so10465380wre.7 for ; Fri, 08 Dec 2017 03:13:48 -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; bh=uG79ICvcrhIKAl3RfTOKFUKKf2dMKqixaAe23r23bfU=; b=V8W/t4vOyOo9P5vS7g8dcZmHqLqcMqWj+Gfcvk1aQnhSTIDG/hKPTB00/qCT/SSrcE h0eRUVDNcPEVWojnM2L3vNUHN6l2PlVd2/loML+9oW2dpf8p2S1lhelNg3XSjJzANkE9 0ZmhpKheTO4X6ObrrRpDvmvajqKuBq3NvyHlwWFArL/mk5vJIELP0Yzc1MUNfUlAXpLq kdIOnZKhcS3OBJ2byJce9t6BumlJ0a8RsPnifOsYGEpAEwz6YFMT8Br+8wDqhOMQ2H/Q RhJqStCSkmo4vQHSocacFmj4g2pTa02+At/W3e52826ZQ8KIw11S2MzmlGamNrsT/9GW LBMQ== 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; bh=uG79ICvcrhIKAl3RfTOKFUKKf2dMKqixaAe23r23bfU=; b=IM+ZdFs/6ZOxVQd2n74W/iW7k/lDuCI+EuKfiXU8wiUxSOot0uRGNP9zoP08r1Hy6G pzQiux1WMt95RLO+QdhdLHua9G/JQnzwTBL3ZoM1j2Rx4j+iiP/39eRG9ooXoR09dzrl kMvpbNczrpQK0lPHnUkN0eTJTnxuDMu073zvfU1Dyl/ZqFtoJVMMj5ffy+Msrsql5QLu 9AH+hPN5+OQ9R9MBefH8E4bfQjwbRxdTE9E06fAcklHRfnF9xbe6kPZVlOyL3BHDrLKT LKmpIYI7LlXIdPSyp+kgkYyfWl3jQXCEg7vM5bfzd+Llyjbca9PoBeAMjECnv82lxb+0 dXFQ== X-Gm-Message-State: AJaThX4cR7J27012eMNbnSM4oZVHFCr7hg7D+cwLjZ7D15Jj5f9KS9gq +unaiXLUVA0FRHKJtLR6X+LDDA== X-Received: by 10.223.182.153 with SMTP id j25mr24949449wre.242.1512731627753; Fri, 08 Dec 2017 03:13:47 -0800 (PST) Received: from localhost.localdomain ([94.250.174.60]) by smtp.gmail.com with ESMTPSA id 1sm1425926wmu.8.2017.12.08.03.13.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Dec 2017 03:13:47 -0800 (PST) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Fri, 8 Dec 2017 12:12:58 +0100 Message-Id: <20171208111258.29346-2-onemda@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171208111258.29346-1-onemda@gmail.com> References: <20171208111258.29346-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] libavcodec/mjpeg: remove YUVJ mentions 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Paul B Mahol --- libavcodec/mjpegdec.c | 18 +++++++++--------- libavcodec/mjpegenc.c | 6 ++++-- libavcodec/mjpegenc_common.c | 5 +---- tests/fate/vcodec.mak | 21 ++++++++++++++------- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index e005dd0cd3..55676d8576 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -467,7 +467,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) if (s->component_id[0] == 'Q' && s->component_id[1] == 'F' && s->component_id[2] == 'A') { s->avctx->pix_fmt = s->bits <= 8 ? AV_PIX_FMT_GBRP : AV_PIX_FMT_GBRP16; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV444P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -509,7 +509,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22122100: case 0x21211100: case 0x22211200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -517,7 +517,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22221100: case 0x22112200: case 0x11222200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -549,7 +549,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } else { if (pix_fmt_id == 0x14111100) s->upscale_v[1] = s->upscale_v[2] = 1; - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV440P : AV_PIX_FMT_YUVJ440P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV440P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -562,7 +562,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) goto unk_pixfmt; s->upscale_h[0] = s->upscale_h[1] = 1; } else { - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV422P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; } @@ -570,13 +570,13 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x31111100: if (s->bits > 8) goto unk_pixfmt; - s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV444P : AV_PIX_FMT_YUVJ444P; + s->avctx->pix_fmt = AV_PIX_FMT_YUV444P; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; s->upscale_h[1] = s->upscale_h[2] = 2; break; case 0x22121100: case 0x22111200: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV422P : AV_PIX_FMT_YUVJ422P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV422P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; @@ -584,7 +584,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) case 0x22111100: case 0x42111100: case 0x24111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUVJ420P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV420P; else s->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; if (pix_fmt_id == 0x42111100) { @@ -598,7 +598,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) } break; case 0x41111100: - if (s->bits <= 8) s->avctx->pix_fmt = s->cs_itu601 ? AV_PIX_FMT_YUV411P : AV_PIX_FMT_YUVJ411P; + if (s->bits <= 8) s->avctx->pix_fmt = AV_PIX_FMT_YUV411P; else goto unk_pixfmt; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index d2fcb8e191..9602a6fe64 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -415,8 +415,9 @@ AVCodec ff_mjpeg_encoder = { .close = ff_mpv_encode_end, .capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY, .pix_fmts = (const enum AVPixelFormat[]) { - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, + .color_range = AVCOL_RANGE_JPEG, .priv_class = &mjpeg_class, }; #endif @@ -439,8 +440,9 @@ AVCodec ff_amv_encoder = { .encode2 = amv_encode_picture, .close = ff_mpv_encode_end, .pix_fmts = (const enum AVPixelFormat[]) { - AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE + AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, + .color_range = AVCOL_RANGE_JPEG, .priv_class = &amv_class, }; #endif diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 31868c9bed..7aa66ee872 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -204,10 +204,7 @@ static void jpeg_put_comments(AVCodecContext *avctx, PutBitContext *p) AV_WB16(ptr, size); } - if (((avctx->pix_fmt == AV_PIX_FMT_YUV420P || - avctx->pix_fmt == AV_PIX_FMT_YUV422P || - avctx->pix_fmt == AV_PIX_FMT_YUV444P) && avctx->color_range != AVCOL_RANGE_JPEG) - || avctx->color_range == AVCOL_RANGE_MPEG) { + if (avctx->color_range == AVCOL_RANGE_MPEG) { put_marker(p, COM); flush_put_bits(p); ptr = put_bits_ptr(p); diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak index bbcf25d72a..60a5f33709 100644 --- a/tests/fate/vcodec.mak +++ b/tests/fate/vcodec.mak @@ -10,7 +10,8 @@ fate-vsynth%: CMP_UNIT = 1 fate-vsynth%: REF = $(SRC_PATH)/tests/ref/vsynth/$(@:fate-%=%) FATE_VCODEC-$(call ENCDEC, AMV, AVI) += amv -fate-vsynth%-amv: ENCOPTS = -strict -1 +fate-vsynth%-amv: ENCOPTS = -color_range pc -strict -1 +fate-vsynth%-amv: DECOPTS = -color_range tv FATE_VCODEC-$(call ENCDEC, ASV1, AVI) += asv1 fate-vsynth%-asv1: ENCOPTS = -qscale 10 @@ -214,12 +215,18 @@ FATE_VCODEC-$(call ENCDEC, LJPEG MJPEG, AVI) += ljpeg fate-vsynth%-ljpeg: ENCOPTS = -strict -1 FATE_VCODEC-$(call ENCDEC, MJPEG, AVI) += mjpeg mjpeg-422 mjpeg-444 mjpeg-trell mjpeg-huffman mjpeg-trell-huffman -fate-vsynth%-mjpeg: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -fate-vsynth%-mjpeg-422: ENCOPTS = -qscale 9 -pix_fmt yuvj422p -fate-vsynth%-mjpeg-444: ENCOPTS = -qscale 9 -pix_fmt yuvj444p -fate-vsynth%-mjpeg-trell: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -trellis 1 -fate-vsynth%-mjpeg-huffman: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -huffman optimal -fate-vsynth%-mjpeg-trell-huffman: ENCOPTS = -qscale 9 -pix_fmt yuvj420p -trellis 1 -huffman optimal +fate-vsynth%-mjpeg: ENCOPTS = -qscale 9 -pix_fmt yuv420p -color_range pc +fate-vsynth%-mjpeg: DECOPTS = -color_range tv +fate-vsynth%-mjpeg-422: ENCOPTS = -qscale 9 -pix_fmt yuv422p -color_range pc +fate-vsynth%-mjpeg-422: DECOPTS = -color_range tv +fate-vsynth%-mjpeg-444: ENCOPTS = -qscale 9 -pix_fmt yuv444p -color_range pc +fate-vsynth%-mjpeg-444: DECOPTS = -color_range tv +fate-vsynth%-mjpeg-trell: ENCOPTS = -qscale 9 -pix_fmt yuv420p -color_range pc -trellis 1 +fate-vsynth%-mjpeg-trell: DECOPTS = -color_range tv +fate-vsynth%-mjpeg-huffman: ENCOPTS = -qscale 9 -pix_fmt yuv420p -color_range pc -huffman optimal +fate-vsynth%-mjpeg-huffman: DECOPTS = -color_range tv +fate-vsynth%-mjpeg-trell-huffman: ENCOPTS = -qscale 9 -pix_fmt yuv420p -color_range pc -trellis 1 -huffman optimal +fate-vsynth%-mjpeg-trell-huffman: DECOPTS = -color_range tv FATE_VCODEC-$(call ENCDEC, MPEG1VIDEO, MPEG1VIDEO MPEGVIDEO) += mpeg1 mpeg1b fate-vsynth%-mpeg1: FMT = mpeg1video