From patchwork Sat Jul 24 16:08:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 29044 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp2347653ios; Sat, 24 Jul 2021 09:15:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/NYTCwd6aHTER+Mj5GfDwT6t7Cbk3GHd5DA6zKk4eHhyFNS42ZcIUhVrAAr+R/ouj3DZK X-Received: by 2002:a05:6402:3442:: with SMTP id l2mr12096062edc.126.1627143312524; Sat, 24 Jul 2021 09:15:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627143312; cv=none; d=google.com; s=arc-20160816; b=BPxohZGnXcXoewnpD/gbzUBtQSs6mqqu6Ysp3RXChY8ku4jGrLmcOlQxztbPOt7QeB UEIGvZEUkFaOwD5k3ve4HIfTHIY3CdZveXsSilaJEsQfqP3JX/g8iRMZqxX8DVe5zWTV j/0ZJq9LMd9fm5kVVCthC/rxApnM3lohrj0PG7WKBIfsaE/H7EBF8VyhJkds0CXex9FL 8zfpgWNYaAvpKVEIqrG8CA2dqxsASMiBjaAAGX9sOYGneUJoNEDMxEc+riAN3aCraSFV 6je8aZiHXHulxR2v4y+Qh7RG9LoKvHX7gpCf0Ibc4T/xLrs7fMyU32eeGGZljl0g9nR0 Smng== 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:message-id:date:to:from:dkim-signature :delivered-to; bh=hp6td3/VG3sCjL/GSOFu7YVp4Mz2CqeQu1uyTu77ECE=; b=hVKX+J1ZGTOpLC0eoxsJuE1LDnmvYqUoQUEHJlkrtz597TflCVb/DEj5vTh52gRMpj fYEOd8gKncLvFzabGJOY2Lq4oaOzCfEPT49Vaya9wJ7HcHwJxJRcrmjVJIMin1Mup/gH 8c2Jh8QAi6fcpNCGUeF/YsQmGMAwSB6kQFMJ2tAoGFju3dAennUmABGtc35FrMqR1Fu2 z5JksKulXR9OWroc9DqWkBmayr1P8DkQdS93RUeQBJz8El1FAor+3iodJgEMugYv1fYq sJ9gmj0u5FrSaglTivO8hpF6nhq+5XRxCc1WJX0qu8OE0h1gmFbkZXLRVMvMbKS5p7CL YaJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=YWN1BHvM; 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=QUARANTINE 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 dc28si35077274edb.444.2021.07.24.09.15.11; Sat, 24 Jul 2021 09:15:12 -0700 (PDT) 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=YWN1BHvM; 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=QUARANTINE 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 3D5A268AA36; Sat, 24 Jul 2021 19:15:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53AFB687F21 for ; Sat, 24 Jul 2021 19:15:02 +0300 (EEST) Received: by mail-ej1-f47.google.com with SMTP id hs23so8210778ejc.13 for ; Sat, 24 Jul 2021 09:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=9/zwxAST/8qsabxHNVSdyRSlESGeF9c89b8YF+mJ9XU=; b=YWN1BHvM5El8/7rMpCzkQxboBi/3Z1T1Y5+Wg0BhrlZ+2HjCRpegjJTn4nJXbUIWHn U81izr1gbPO4zrxPjhWI/V4wkFthPdigBrArIj+WpERgpF0VZO9kR4bkleskNbs6ENQA M/JlueqLFSTTAa/brEgSfWT+v1yh7YQrfZMll2LxtUpgj45Nln4MfaMMcHQa8yMfGl/L C1S6bA84IZi4FuhAet+4GwwtntHKtUfBXri4ogNw9mtXWtKlM/QbI9/mGhCrVl9a+ts/ qhhQSFmmx+3DfJjO2PNHJOIRoIy4bEO9Cl3B1bAqbFviBGCzDJ18qxKip3ioA2ciwBSp JwBA== 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; bh=9/zwxAST/8qsabxHNVSdyRSlESGeF9c89b8YF+mJ9XU=; b=QLiEChxSzJYxLzk0Cx/NNQr0ja1Pcbmc6ZPdsmQlGFbQ8lA7UxRoso0Zr/LUV8Bo37 oA3NbV7WQCzv4dDpcnxQHPaFemltowfurE+IXKNcqamdiLikiKLp6ZylOd5LKyRKArSK pSVdtZnKAhaC2cm1UzmA+Da7tN6SIE7/Bad0Ut57pL6F3JTjfJtcYb/2mD3gEXqStXvZ Sl/U4K9Qn/DFXjxCaobkI5KIiPDcimmy8nDV/p4mnehFMSjyCz2ScTU1tBr3Tyy/5XZR 6Y5Uf9XRFWt85Dw9MCPmjMy41HfNideeJ6S46+opuHTgcKxEIoF24Y18Ih5nhTxN91SV 0yBA== X-Gm-Message-State: AOAM5316+rVdhOUQMGIzSQE1Nh+HUzAg9tnCR8hGsDUYiE3j0BL4Jjan ln3kl4zoYeFvG3J6Q1R98qTGqvEhlqk= X-Received: by 2002:a17:907:a04e:: with SMTP id gz14mr9598393ejc.24.1627142926572; Sat, 24 Jul 2021 09:08:46 -0700 (PDT) Received: from localhost.localdomain ([95.168.120.13]) by smtp.gmail.com with ESMTPSA id t11sm3231330edr.31.2021.07.24.09.08.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jul 2021 09:08:46 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sat, 24 Jul 2021 18:08:37 +0200 Message-Id: <20210724160837.27313-1-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] avformat/yuv4mpegenc: add support for yuva444p X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: gP5oGC1QN92N Signed-off-by: Paul B Mahol --- libavformat/yuv4mpegenc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libavformat/yuv4mpegenc.c b/libavformat/yuv4mpegenc.c index aff066f1c5..efa05133d5 100644 --- a/libavformat/yuv4mpegenc.c +++ b/libavformat/yuv4mpegenc.c @@ -113,6 +113,9 @@ static int yuv4_write_header(AVFormatContext *s) case AV_PIX_FMT_YUV444P: colorspace = " C444 XYSCSS=444"; break; + case AV_PIX_FMT_YUVA444P: + colorspace = " C444alpha XYSCSS=444"; + break; case AV_PIX_FMT_YUV420P9: colorspace = " C420p9 XYSCSS=420P9"; break; @@ -197,6 +200,7 @@ static int yuv4_write_packet(AVFormatContext *s, AVPacket *pkt) case AV_PIX_FMT_YUV420P: case AV_PIX_FMT_YUV422P: case AV_PIX_FMT_YUV444P: + case AV_PIX_FMT_YUVA444P: // TODO: remove YUVJ pixel formats when they are completely removed from the codebase. case AV_PIX_FMT_YUVJ420P: case AV_PIX_FMT_YUVJ422P: @@ -254,6 +258,13 @@ static int yuv4_write_packet(AVFormatContext *s, AVPacket *pkt) avio_write(pb, ptr2, width); ptr2 += frame->linesize[2]; } + if (st->codecpar->format == AV_PIX_FMT_YUVA444P) { + ptr = frame->data[3]; + for (i = 0; i < height; i++) { /* A */ + avio_write(pb, ptr, width); + ptr += frame->linesize[3]; + } + } } return 0; @@ -302,6 +313,7 @@ static int yuv4_init(AVFormatContext *s) case AV_PIX_FMT_YUV420P16: case AV_PIX_FMT_YUV422P16: case AV_PIX_FMT_YUV444P16: + case AV_PIX_FMT_YUVA444P: if (s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) { av_log(s, AV_LOG_ERROR, "'%s' is not an official yuv4mpegpipe pixel format. " "Use '-strict -1' to encode to this pixel format.\n", @@ -319,6 +331,7 @@ static int yuv4_init(AVFormatContext *s) "yuv444p12, yuv422p12, yuv420p12, " "yuv444p14, yuv422p14, yuv420p14, " "yuv444p16, yuv422p16, yuv420p16, " + "yuva444p, " "gray9, gray10, gray12 " "and gray16 pixel formats. " "Use -pix_fmt to select one.\n");