From patchwork Mon Jun 4 14:18:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 9245 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp778912jad; Mon, 4 Jun 2018 07:18:57 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIbYyVCRxqQaW9CTbBFrf4U7o6r4U6VQt++GaHDjT7XUlhr1nQH/L8FMA6mi/maIg71h2G0 X-Received: by 2002:a1c:9e95:: with SMTP id h143-v6mr3346425wme.68.1528121937543; Mon, 04 Jun 2018 07:18:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528121937; cv=none; d=google.com; s=arc-20160816; b=v6umuquXoNDnyGMXo8T4m4x6sZrkvaL3PkAUBcKKY9tM3/njWKedwOGYn0SZavi4pl KmCnYjuyB9Zo+io6Lm5MxNkgCnPbulf9LmhxzPcLmA9z+hDP5c1AEXMc9MV+pOE4CRdE 4VyEXuJwTUczzg6ynfbofztEGncLdT2z+/DDAm8znbizv7J32abULZTZUI/0z1gXzNZq ZHPOEFeNF1MkIEzNa9M0cNsc+pDCMRan9unTtBabYsAsCT0DURANVGZE2DzT11bDXWD+ jYRLxed/fc7RWTLDlclJoDPo7lA8IKGNuDjtgX75Pmaereq2856sfkDJd+nRhxlVfCzi ryIw== 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=s8mwdpfUkcM7KAwPe/93WPZyl6DT35FGpnUllar1yWw=; b=fq6rCzsRojhlgMaDERttuwidvbXktey2dgZz/OltSaKIT2funMYt0vkQnCMUkTodWd fp2MhP/B/+rR4sT0dx2Y0Y3ETughUtwXfnuwEPZHtwU/vWg7Y5Gp+MFYXqLgcoJ3ojXA kJZJPPAEn+N4qO3U9a/30KRie44lyUMXRdmBoIVJnewAL9cu7i+BQ6/IME6eP1TAi0mP SbgYlXz7K6RU7lqW6/SsfMND0AR2/h4ddHs4zhfk6tpRlxrbC3SyBJ4vc+DzBchIOWnt bYjXqS6frKimjPqI3lCVTo8qch13T+fIoFXJN0w2aVnCvLrUx3oHs25R+aEocOiA85Vr ZNHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=rXsAfx4/; 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 j9-v6si25054727wra.424.2018.06.04.07.18.35; Mon, 04 Jun 2018 07:18:57 -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=rXsAfx4/; 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 3788368A3A1; Mon, 4 Jun 2018 17:17:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl0-f54.google.com (mail-pl0-f54.google.com [209.85.160.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 38EB468A2C6 for ; Mon, 4 Jun 2018 17:17:40 +0300 (EEST) Received: by mail-pl0-f54.google.com with SMTP id c23-v6so8516044plz.12 for ; Mon, 04 Jun 2018 07:18:26 -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=5m5iKse26Mn4CF5aq50REmdYEyH8W8B5/TbZFJV0H1w=; b=rXsAfx4/1kw7kgs9oU2cafcp9a0+lKhE9Yv9VUrPnkmB5UDWBuIQPS/kQjQM/gUFVI RpT7IFfleEmxNj4yVCACO9kAZVeZmSx3phVFrQTCU1JHiz+fSA0i+LtsUOhhqwD/zGmg gr3dAP6p7gZXYjJpE3gxEIcEgMqHoqDFkvfLwTh73u+HgmdNmjkaP3Yc+SCjGwwr3fwX ciEOCH/30r4ePzxUlk9qZHg5fyXcxlyjjme4CfE69FogEu9EO/EnW3nuVB61k3YyyefV hl71z2OSWzf9zFwNl8y7WwtyqH9zx22UvGGkJtOhbuU9hNn9PnBTwag4fooOMF5Rnq5U R1kw== 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=5m5iKse26Mn4CF5aq50REmdYEyH8W8B5/TbZFJV0H1w=; b=l6+I/tcGeabIUaXrqVrm8Yb33tf6MUw9e7/3AuZpCKBvByWGk2gqUjBCbU+ZfzqbN6 vMLRYtMNDrHMIE4rJsf9z4fbGUbSJRfdG5WhPAh9t96pwu7l7c5VloFRshJ2c6c/NT68 kLMdJ0jbSpfRlXwgqOA0Ym/hmWd7CAfDGsxdlGgs5Wvbod+KDP/GM0Dxi7sZQ3Bg9pNA x4+czdU5Lr2tGSnUMpLZx5elp1Ccc3I8aagWejMmBmfR1AgCbBsFaZxdoANc8g1vTR7v I7Cgxzotq0HGBUgGkrr9VA8LKmUNtdNCpYEe+emn24rHVY+5U/PDAYrgC/ydzVPvtJmV KOug== X-Gm-Message-State: ALKqPwd8hn5/xhuyHUKycoDt08IhBx6d03kWAijWRxQpBp+vvSG0Uxx7 PBasy5ecDEiIW1sVoCQDm781yQ== X-Received: by 2002:a17:902:b110:: with SMTP id q16-v6mr21969416plr.286.1528121905132; Mon, 04 Jun 2018 07:18:25 -0700 (PDT) Received: from localhost.localdomain ([47.88.54.25]) by smtp.gmail.com with ESMTPSA id u19-v6sm60946508pgv.25.2018.06.04.07.18.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 04 Jun 2018 07:18:24 -0700 (PDT) From: Jun Zhao To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Jun 2018 22:18:13 +0800 Message-Id: <1528121894-29944-1-git-send-email-mypopydev@gmail.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH 1/2] lavc/dolby_e: fix make checkheaders 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: Jun Zhao MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" move the the function init_tables() definitions from header file to .c file to fix make checkheaders. Signed-off-by: Jun Zhao --- libavcodec/dolby_e.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++ libavcodec/dolby_e.h | 86 --------------------------------------------------- 2 files changed, 87 insertions(+), 86 deletions(-) diff --git a/libavcodec/dolby_e.c b/libavcodec/dolby_e.c index 91a00ce..429612e 100644 --- a/libavcodec/dolby_e.c +++ b/libavcodec/dolby_e.c @@ -681,6 +681,93 @@ static av_cold int dolby_e_close(AVCodecContext *avctx) return 0; } + +static av_cold void init_tables(void) +{ + int i, j; + + for (i = 1; i < 17; i++) + mantissa_tab1[i][0] = 1.0f / (1 << i - 1); + + for (i = 2; i < 16; i++) { + mantissa_tab1[i][1] = 1.0f / ((1 << i) - 1); + mantissa_tab1[i][2] = 0.5f / ((1 << i) - 1); + mantissa_tab1[i][3] = 0.25f / ((1 << i) - 1); + } + + mantissa_tab1[i][1] = 0.5f / (1 << 15); + mantissa_tab1[i][2] = 0.75f / (1 << 15); + mantissa_tab1[i][3] = 0.875f / (1 << 15); + + for (i = 1; i < 17; i++) { + mantissa_tab2[i][1] = mantissa_tab1[i][0] * 0.5f; + mantissa_tab2[i][2] = mantissa_tab1[i][0] * 0.75f; + mantissa_tab2[i][3] = mantissa_tab1[i][0] * 0.875f; + for (j = 1; j < 4; j++) + mantissa_tab3[i][j] = 1.0f / (1 << i) + 1.0f / (1 << j) - 1.0f / (1 << i + j); + } + + mantissa_tab3[1][3] = 0.6875f; + + for (i = 0; i < 25; i++) { + exponent_tab[i * 2 ] = 1.0f / (1 << i); + exponent_tab[i * 2 + 1] = M_SQRT1_2 / (1 << i); + } + + for (i = 1; i < 1024; i++) + gain_tab[i] = exp2f((i - 960) / 64.0f); + + // short 1 + ff_kbd_window_init(window, 3.0f, 128); + for (i = 0; i < 128; i++) + window[128 + i] = window[127 - i]; + + // start + for (i = 0; i < 192; i++) + window[256 + i] = start_window[i]; + + // short 2 + for (i = 0; i < 192; i++) + window[448 + i] = short_window2[i]; + for (i = 0; i < 64; i++) + window[640 + i] = window[63 - i]; + + // short 3 + for (i = 0; i < 64; i++) + window[704 + i] = short_window3[i]; + for (i = 0; i < 192; i++) + window[768 + i] = window[64 + i]; + + // bridge + for (i = 0; i < 128; i++) + window[960 + i] = window[i]; + for (i = 0; i < 64; i++) + window[1088 + i] = 1.0f; + + // long + ff_kbd_window_init(window + 1408, 3.0f, 256); + for (i = 0; i < 640; i++) + window[1664 + i] = 1.0f; + for (i = 0; i < 256; i++) + window[2304 + i] = window[1152 + i] = window[1663 - i]; + + // reverse start + for (i = 0; i < 192; i++) + window[2560 + i] = window[447 - i]; + + // reverse short 2 + for (i = 0; i < 256; i++) + window[2752 + i] = window[703 - i]; + + // reverse short 3 + for (i = 0; i < 256; i++) + window[3008 + i] = window[959 - i]; + + // reverse bridge + for (i = 0; i < 448; i++) + window[3264 + i] = window[1407 - i]; +} + static av_cold int dolby_e_init(AVCodecContext *avctx) { static AVOnce init_once = AV_ONCE_INIT; diff --git a/libavcodec/dolby_e.h b/libavcodec/dolby_e.h index 0390233..ae04bf6 100644 --- a/libavcodec/dolby_e.h +++ b/libavcodec/dolby_e.h @@ -644,90 +644,4 @@ static float gain_tab[1024]; DECLARE_ALIGNED(32, static float, window)[3712]; -static av_cold void init_tables(void) -{ - int i, j; - - for (i = 1; i < 17; i++) - mantissa_tab1[i][0] = 1.0f / (1 << i - 1); - - for (i = 2; i < 16; i++) { - mantissa_tab1[i][1] = 1.0f / ((1 << i) - 1); - mantissa_tab1[i][2] = 0.5f / ((1 << i) - 1); - mantissa_tab1[i][3] = 0.25f / ((1 << i) - 1); - } - - mantissa_tab1[i][1] = 0.5f / (1 << 15); - mantissa_tab1[i][2] = 0.75f / (1 << 15); - mantissa_tab1[i][3] = 0.875f / (1 << 15); - - for (i = 1; i < 17; i++) { - mantissa_tab2[i][1] = mantissa_tab1[i][0] * 0.5f; - mantissa_tab2[i][2] = mantissa_tab1[i][0] * 0.75f; - mantissa_tab2[i][3] = mantissa_tab1[i][0] * 0.875f; - for (j = 1; j < 4; j++) - mantissa_tab3[i][j] = 1.0f / (1 << i) + 1.0f / (1 << j) - 1.0f / (1 << i + j); - } - - mantissa_tab3[1][3] = 0.6875f; - - for (i = 0; i < 25; i++) { - exponent_tab[i * 2 ] = 1.0f / (1 << i); - exponent_tab[i * 2 + 1] = M_SQRT1_2 / (1 << i); - } - - for (i = 1; i < 1024; i++) - gain_tab[i] = exp2f((i - 960) / 64.0f); - - // short 1 - ff_kbd_window_init(window, 3.0f, 128); - for (i = 0; i < 128; i++) - window[128 + i] = window[127 - i]; - - // start - for (i = 0; i < 192; i++) - window[256 + i] = start_window[i]; - - // short 2 - for (i = 0; i < 192; i++) - window[448 + i] = short_window2[i]; - for (i = 0; i < 64; i++) - window[640 + i] = window[63 - i]; - - // short 3 - for (i = 0; i < 64; i++) - window[704 + i] = short_window3[i]; - for (i = 0; i < 192; i++) - window[768 + i] = window[64 + i]; - - // bridge - for (i = 0; i < 128; i++) - window[960 + i] = window[i]; - for (i = 0; i < 64; i++) - window[1088 + i] = 1.0f; - - // long - ff_kbd_window_init(window + 1408, 3.0f, 256); - for (i = 0; i < 640; i++) - window[1664 + i] = 1.0f; - for (i = 0; i < 256; i++) - window[2304 + i] = window[1152 + i] = window[1663 - i]; - - // reverse start - for (i = 0; i < 192; i++) - window[2560 + i] = window[447 - i]; - - // reverse short 2 - for (i = 0; i < 256; i++) - window[2752 + i] = window[703 - i]; - - // reverse short 3 - for (i = 0; i < 256; i++) - window[3008 + i] = window[959 - i]; - - // reverse bridge - for (i = 0; i < 448; i++) - window[3264 + i] = window[1407 - i]; -} - #endif