From patchwork Mon Nov 19 17:21:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Pablo_Rubio_Fern=C3=A1ndez?= X-Patchwork-Id: 11075 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 3DBFE44D13B for ; Mon, 19 Nov 2018 19:28:48 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B20E8689CF2; Mon, 19 Nov 2018 19:28:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4DB03689CC2 for ; Mon, 19 Nov 2018 19:28:42 +0200 (EET) Received: by mail-lj1-f181.google.com with SMTP id e5-v6so26865947lja.4 for ; Mon, 19 Nov 2018 09:28:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=elitegrupo-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=kYbKGRAa82W9HWTMN/19S5xZA35Jw8BefQTzTDYwW1M=; b=jMCRuKjgRyap0CfH+uUFM3cvAKphNUie2le1r5cWPgxoNTwMzS+SjBfAYRtxVLLC3O /R5My6ZA0QDg6bsR5T3N/BWTaQoLaxzj2FlyTdIA+0wXXIH7Elxm0vZYHWveR4YDXzqw nli7xlJEO1jeghSQznOl52DPVVvGCfEeGekQRowtpfAWmURRwBI6VyLgpjfY8qNMS5dh xDv+ZMB6g1o9MAIHzHtojpXdMFaL3pBMeBvzUR/nNwf3bODvWeWuyatDNYmibvU+Yklv 0R1FjQge9CayYJTgg6LFSXNfRnZwhbLd4KBCbLZQTFtjs9OQZRLsOqeRswoTLzm5Ein7 Domg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=kYbKGRAa82W9HWTMN/19S5xZA35Jw8BefQTzTDYwW1M=; b=Q5vrDFR8vVkO0qAGY/Q+ih1/71VuJL9EroqL2SP1qgI1i8i66tgQuFGl2vbumYsA66 v+dHH5hP7CPJLu5HH428gGAjreOYetbpqfk8A4CXN4XcOwryUhyUtp74Hw2CjSqwWhGK qhSm5GHgN+wKeTVck0QTJK7OZcRNhC8znHZPT7PHglDa3naK3ilEPC/i5AerjeB2a3oH CWXnqkdpVtZrtHlTMOie84I9SP7TuBGGw1B6C/q3v3wvJKG1xCzSve6IxzNtuDWli1yR ebs8jxU9EiA7N43+LGNzslnH7bAAFIhDUA+kLqxBK7C8wXHsgpDHiAJF1fJ1iyWMyK97 0Kyg== X-Gm-Message-State: AGRZ1gKj7q+yvyX6reB0TMJZ8XOViHk+sWdU+lfru5dAn2+IGuA0OiMe xK3GbEKMdBIpJgwkM1LJSS3IuUVWVuchkI8jWcn5d1AgUTE4WQ== X-Google-Smtp-Source: AJdET5fQpoPlkkyeiIMrNGq53ysKGnP4qGDhQPhbrE+dA+PYP9mAxgUolJW+2PBZ3X+JkeezdQLQ1th+EkYjMw6A/ew= X-Received: by 2002:a2e:3e04:: with SMTP id l4-v6mr11521798lja.148.1542648128036; Mon, 19 Nov 2018 09:22:08 -0800 (PST) MIME-Version: 1.0 From: =?UTF-8?Q?Pablo_Rubio_Fern=C3=A1ndez?= Date: Mon, 19 Nov 2018 18:21:56 +0100 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] Add 16-bit Depth pixel format 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" Hi all! It's my first time here. I want to create a patch to add Z16 pixel format. I have did some changes, and I want to know if I'll need change any other file. I attach my current patch. Thanks in advance. From 7f3e028198c510fd8cf14c087d4a223bd7e94422 Mon Sep 17 00:00:00 2001 From: prubio Date: Fri, 16 Nov 2018 11:55:00 +0100 Subject: [PATCH] Add 16-bit Depth z16 pixel format --- libavdevice/v4l2-common.c | 3 +++ libavutil/pixdesc.c | 9 +++++++++ libavutil/pixfmt.h | 2 ++ libswscale/input.c | 3 +++ libswscale/utils.c | 2 ++ 5 files changed, 19 insertions(+) diff --git a/libavdevice/v4l2-common.c b/libavdevice/v4l2-common.c index 2d6bfac..337bb08 100644 --- a/libavdevice/v4l2-common.c +++ b/libavdevice/v4l2-common.c @@ -46,6 +46,9 @@ const struct fmt_map ff_fmt_conversion_table[] = { #ifdef V4L2_PIX_FMT_Y16 { AV_PIX_FMT_GRAY16LE,AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_Y16 }, #endif +#ifdef V4L2_PIX_FMT_Z16 + { AV_PIX_FMT_Z16, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_Z16 }, +#endif { AV_PIX_FMT_NV12, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_NV12 }, { AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_MJPEG }, { AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_JPEG }, diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index 1c36577..9ede616 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2268,6 +2268,15 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { .flags = AV_PIX_FMT_FLAG_FLOAT, .alias = "yf32le", }, + [AV_PIX_FMT_Z16] = { + .name = "z16", + .nb_components = 1, + .log2_chroma_w = 0, + .log2_chroma_h = 0, + .comp = { + { 0, 2, 0, 0, 16, 1, 15, 1 }, /* Y */ + }, + }, }; #if FF_API_PLUS1_MINUS1 FF_ENABLE_DEPRECATION_WARNINGS diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 6815f8d..d8a7119 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -300,6 +300,8 @@ enum AVPixelFormat { AV_PIX_FMT_P016LE, ///< like NV12, with 16bpp per component, little-endian AV_PIX_FMT_P016BE, ///< like NV12, with 16bpp per component, big-endian + AV_PIX_FMT_Z16, ///< 16 bit Depth (little-endian) + /** * Hardware surfaces for Direct3D11. * diff --git a/libswscale/input.c b/libswscale/input.c index 4099c19..7178307 100644 --- a/libswscale/input.c +++ b/libswscale/input.c @@ -1448,6 +1448,9 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c) c->alpToYV12 = bswap16Y_c; break; #endif + case AV_PIX_FMT_Z16: + c->lumToYV12 = bswap16Y_c; + break; case AV_PIX_FMT_YA16LE: c->lumToYV12 = read_ya16le_gray_c; break; diff --git a/libswscale/utils.c b/libswscale/utils.c index d5913ed..2e18e2d 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -260,6 +260,7 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = { [AV_PIX_FMT_P016BE] = { 1, 1 }, [AV_PIX_FMT_GRAYF32LE] = { 1, 1 }, [AV_PIX_FMT_GRAYF32BE] = { 1, 1 }, + [AV_PIX_FMT_Z16] = { 1, 1 }, }; int sws_isSupportedInput(enum AVPixelFormat pix_fmt) @@ -1034,6 +1035,7 @@ static int handle_jpeg(enum AVPixelFormat *format) case AV_PIX_FMT_GRAY16BE: case AV_PIX_FMT_YA16BE: case AV_PIX_FMT_YA16LE: + case AV_PIX_FMT_Z16: return 1; default: return 0; -- 2.7.4