From patchwork Tue Mar 20 12:27:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gagandeep Singh X-Patchwork-Id: 8058 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp3825365jad; Tue, 20 Mar 2018 05:28:05 -0700 (PDT) X-Google-Smtp-Source: AG47ELsVd/wmDKdz2SSkbtd3hh+mg5UF4jZXhAH9+W9fmW/nlrey5VhgbxcTdNvoXDr+1tAwmqmT X-Received: by 10.223.162.10 with SMTP id p10mr12420733wra.93.1521548884972; Tue, 20 Mar 2018 05:28:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521548884; cv=none; d=google.com; s=arc-20160816; b=l3m/e6ITwkMxujsx8jLgTXyDzvFqo7o003/n9w7IUH67Wj/oAIUSexF6//RubfXEul zCXRY52uJTUaMCPcrSfoY3y/ygLUW8f8iHUY8+Q1JKcxAWc28+CxxyQGZ0DG5ubwWoRD leab/qhbZA/F7/PI6xoI/B7DM6fRXz0HcfkxrTt48XIshBf7+0hU/pBGlfrFUx2e3bQk L6mxrJh1f6DzTVab26NMD7j76NmSkbKuUcQKa7Iy4vI2G1SqPiPB5n5mCHBDiGom13Ia c7bILOTLR9RIuSKnR+SKbtv+JX9jZCwGhfbDe5lFnjOai02rUc7jcqIoYAf31o3pXwpS di2Q== 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:cc: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:arc-authentication-results; bh=46bJiPrM7bpI+SRkRQWCB+kuKu0pwExcP5a5iFsfktM=; b=t8I6ncOJDn766LHc5JtOHLA3vivWndXOH4PnTOH0qXkuU34zxcSYBj7eUdhPasG1M2 VqrgsKxd0ET/7Iqh7Ztm9+xMLwjihF+KvUY0rbar9N9S2c8HuTvjuJAIVlWgDnJ2jjiJ vBDq1/Omp14RZBWxgiVhQszESUZU0Olnd/6H2D8s/m/9KM9z77RgUQsxSTT/sawlopHo KTL/NPMhr+ONTWXVhnuSju7mjlsefyuICN/FN9VeJHLl9QqdRVx0CnO94sG1b2fWniqV 0nESxqEwz8YYxvVDV48IV5tcqV4/UoZSA+t9OPW//lTs0WepmWHXaDxGQHZJEmu/3cZo UUgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Wiun/6V6; 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 h23si1562331wrb.96.2018.03.20.05.28.04; Tue, 20 Mar 2018 05:28:04 -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=Wiun/6V6; 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 E5F4A689B03; Tue, 20 Mar 2018 14:27:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f42.google.com (mail-pg0-f42.google.com [74.125.83.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C1D57689B03 for ; Tue, 20 Mar 2018 14:27:41 +0200 (EET) Received: by mail-pg0-f42.google.com with SMTP id d1so551072pgv.2 for ; Tue, 20 Mar 2018 05:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=SMH2b5c+IvdWM1tFAwwVKJrTA4CDONvyhqEWn+88i/o=; b=Wiun/6V6oX4P+mfRMHL1V3DYo6ZM8impoBKJICguWzipPH5x7JaG4rHXuy3b+/ewtq W/0IndPUSxLN5oR101LkLa2lFrnbdlXu0o3ho9CH2GTt6MFmL1RhpbuMdOlkSwBzWNbg owV1V8ln4sjap4tN+PwbuDw43r07VIgc1FATUiiwInvkn6UXPOm+AbMv9b1E/wiYUUJC izvLIqvcgH4BzQzZ3xDSs2aXN31hK7ecTCMdnBHRbtmX9avUmZJH29itPagYslfohz0d w3cFJkFSQVoc2aa/ZBOpir6UIEqO6HjfoOoGvt/9a84Crx44lS3nzBxvBLALPTiwlKbR utbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=SMH2b5c+IvdWM1tFAwwVKJrTA4CDONvyhqEWn+88i/o=; b=njjEMth3UJrLh4Wx1HHPLhWgQg/J7e5CcjqKPELTLzGAcrTL9myiFecnSEhMfvQiEA vVMOeTgY4bG+3PlrHUudVyioWmNpPsAeaDKuyugRPhCvpdy6hHojnJrpm9hZ1N/OatN5 yUlzxv1vTC7OYhWrXytnTeUjr7gkdGpxgqHuGzPMKSXzllfrmd3WDRHZOys6iMBYUtOM DKI+x5zQIsDWamQm8/ifu9o+9DE8e+Zoqabu5idFKBro5sOstBRfD3afvTwUnr9OxAEW RS1KWZFC7EKyfKVFTAI0J7Kxy6rD3Ir3bOWbF4evMiBEwAtgdXIk2cgzBVZ9VX1WpSrG 0qpw== X-Gm-Message-State: AElRT7GQ5wa2fRo3pXKK/XM9NBb60xoWirEmCc4L8Pu76NpzJcxbJ8ow M5H66BEeZ9ziBZ5OsoaH0g/xCc9l X-Received: by 10.98.87.29 with SMTP id l29mr9644664pfb.214.1521548873212; Tue, 20 Mar 2018 05:27:53 -0700 (PDT) Received: from localhost.localdomain ([2402:8100:20be:f09c:6025:c00b:53d9:25f4]) by smtp.googlemail.com with ESMTPSA id u68sm3642257pfu.167.2018.03.20.05.27.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Mar 2018 05:27:52 -0700 (PDT) From: Gagandeep Singh To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Mar 2018 17:57:19 +0530 Message-Id: <20180320122719.11541-1-deepgagan231197@gmail.com> X-Mailer: git-send-email 2.14.1 Subject: [FFmpeg-devel] [FFmpeg][PATCH] lavc/cfhd: alpha decoding added 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 Cc: Gagandeep Singh MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" some post processing was required --- libavcodec/cfhd.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c index a064cd1599..a950dc0f28 100644 --- a/libavcodec/cfhd.c +++ b/libavcodec/cfhd.c @@ -94,6 +94,21 @@ static inline int dequant_and_decompand(int level, int quantisation) FFSIGN(level) * quantisation; } +static inline void process_alpha(int16_t *alpha, int width) +{ + int i, channel; + for (i = 0; i < width; i++){ + channel = alpha[i]; + channel -= 16 << 4; + channel <<= 8; + channel -= 128; + channel /= 223; + channel = FFMIN(channel, (1 << 12) - 1); + channel = FFMAX(channel, 0); + alpha[i] = channel; + } +} + static inline void filter(int16_t *output, ptrdiff_t out_stride, int16_t *low, ptrdiff_t low_stride, int16_t *high, ptrdiff_t high_stride, @@ -792,6 +807,8 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame, high = s->plane[plane].l_h[7]; for (i = 0; i < lowpass_height * 2; i++) { horiz_filter_clip(dst, low, high, lowpass_width, s->bpc); + if(act_plane == 3) + process_alpha(dst, lowpass_width * 2); low += lowpass_width; high += lowpass_width; dst += pic->linesize[act_plane] / 2;