From patchwork Thu Oct 8 19:53:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22767 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 2EFC844B58C for ; Thu, 8 Oct 2020 22:53:27 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0EA2B68B935; Thu, 8 Oct 2020 22:53:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CDD1268B7D0 for ; Thu, 8 Oct 2020 22:53:20 +0300 (EEST) Received: by mail-wm1-f65.google.com with SMTP id f21so7642284wml.3 for ; Thu, 08 Oct 2020 12:53:20 -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:mime-version :content-transfer-encoding; bh=coDOVE3cV5o4Vpt0ZNgIQPflbehradhkXOXLtLT5pUg=; b=b0XyLEEOX5aqoCV+dI5V3UvMKxeKH1+VyZcciwAgsSHEoLu9/Lgj2IN22Z1wgI95xz CONHJ7N34UCYjxcOko1sInh8ghgYnwxfOATfRmsOTsJBXG7LQJ7XPnAJ0bTadmCJd8nq P0kYJ/IYOJecB3SglpEolswafxnuKelW+1QYX8W/2YlbzQ2qQ/N7QQiA660882Y4UMC1 GCdFzQqBAR9kOZ7gQw0/K54CWtsdWWAP5dXmSxYGWwI1QrLEkTLOT78D0FrLJfuMooh8 Pu2wwcUPEa46J2wKj26xbqan97Id3peF2mh+hTnoYLauCMStBLRvtIZhU3dvbOG1Y+3m dYBw== 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:mime-version :content-transfer-encoding; bh=coDOVE3cV5o4Vpt0ZNgIQPflbehradhkXOXLtLT5pUg=; b=Hz30GqTCgQMGoItwp1yH04CcxlfE0+U1xCF4xQz2YTdpR4aFB3IvAcDS4yvk/fefKb VNFkesrhfvOJapH2oF8O4hVAgAXcZPwqdyioP4KMNuP5McGXhqXRhDX7iYQuWek52WPD ETfrpfHMIcFsc6/zQ/EDTRJTwr3WmeCs4NUurszXs7qPXzu0YmLhsTRSRsJ0ajlbs9li jfT+AIUuFQeAawa6kk8ynqGqCPfoP5NaL+QemD4U8jBeDz4hwCoJWUkEo3rKu+7i/lNP qZVj+0aEER6cPRGGUQoB+09pQaBT5GA1ns2xZ0srKDCWyM6sPJCBVWngHCwX1MIEz2zb IFlw== X-Gm-Message-State: AOAM531gKIi38+aIX+E5POonmY/2F1auRLXTBiG5+2F5nfEpKnBM1rFm utYUeABoPadSf3eQF/pxNyDcSwPwO9g= X-Google-Smtp-Source: ABdhPJxAQ2GHyt3qzAi5sxMZQuiSYrRDXs1Vb3RLuYoosq/sRS5BSlr570QuzENg8YanN5WGwqzw7A== X-Received: by 2002:a1c:7c12:: with SMTP id x18mr10749501wmc.107.1602186799798; Thu, 08 Oct 2020 12:53:19 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id g14sm8776203wrx.22.2020.10.08.12.53.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2020 12:53:19 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Oct 2020 21:53:11 +0200 Message-Id: <20201008195313.471755-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/mpeg12: Reduce size of motion-vector VLC 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" It currently uses 9 bits per table, but there are no codes with nine bits at all, while there are codes with eight, ten and eleven bits. So reducing the table size to eight bits will not reduce the amount of codes that can be parsed in the first step, but it allows to reduce the size of the motion-vector VLC. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12.c | 2 +- libavcodec/mpeg12vlc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index ab6c19c615..e4f007aec5 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -149,7 +149,7 @@ av_cold void ff_mpeg12_init_vlcs(void) ff_mpeg12_vlc_dc_chroma_code, 2, 2, 514); INIT_VLC_STATIC(&ff_mv_vlc, MV_VLC_BITS, 17, &ff_mpeg12_mbMotionVectorTable[0][1], 2, 1, - &ff_mpeg12_mbMotionVectorTable[0][0], 2, 1, 518); + &ff_mpeg12_mbMotionVectorTable[0][0], 2, 1, 266); INIT_VLC_STATIC(&ff_mbincr_vlc, MBINCR_VLC_BITS, 36, &ff_mpeg12_mbAddrIncrTable[0][1], 2, 1, &ff_mpeg12_mbAddrIncrTable[0][0], 2, 1, 538); diff --git a/libavcodec/mpeg12vlc.h b/libavcodec/mpeg12vlc.h index c5abae96b6..70aca645cb 100644 --- a/libavcodec/mpeg12vlc.h +++ b/libavcodec/mpeg12vlc.h @@ -31,7 +31,7 @@ #include "vlc.h" #define DC_VLC_BITS 9 -#define MV_VLC_BITS 9 +#define MV_VLC_BITS 8 #define TEX_VLC_BITS 9 #define MBINCR_VLC_BITS 9