From patchwork Mon Aug 3 13:43:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 21467 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 282F1448439 for ; Mon, 3 Aug 2020 16:43:34 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F359668BA24; Mon, 3 Aug 2020 16:43:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f193.google.com (mail-qt1-f193.google.com [209.85.160.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DD2CB68B4FD for ; Mon, 3 Aug 2020 16:43:26 +0300 (EEST) Received: by mail-qt1-f193.google.com with SMTP id s23so28161290qtq.12 for ; Mon, 03 Aug 2020 06:43:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=PpT0Gxz6NIKhdo9Mc3Xg3ktD5/ZAVOjbbZ/g2kSBSek=; b=VFnBixQT/751aKVI309afkRGTN8hvajMGafwGGwLyS/kd6Ab8DyXXzINI5pxE96RIg to0cMISwbg2DPShO/xFB4HjNmx0MX1uC0zBBeDqEm6sHup/vYKyoQwOKQlobBxpFrJ2k eE0uK5pqa/2urQPPQj0Yh1LntJWKlAidEuIUyiW9uOpp9Zc5lG8D8t4jvLhCmS5Zse1Q 9dvVNad+KqG+H0+0kksA30GMyny1YO1nZuJSrk9fSV5kfUOhKkk7wXgCx4e1aGlBHFib B9QgWb5B0S17b720fpZO+EspUA4BkDRMUmQjNnBM+sddJEffnWDvLkVmRjv8B3BE1GE9 2V0Q== 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:mime-version :content-transfer-encoding; bh=PpT0Gxz6NIKhdo9Mc3Xg3ktD5/ZAVOjbbZ/g2kSBSek=; b=tffB7z8uPKqk/k/zv0T6iwWQunXIpfa1OYfFAycO3hAaRroOW/ehxtNYq/exXumviy deO+LveqUsxHM2J0/DV/ygszkcgBlSTJhp93pYrsMVQjGyCv9ViNqqfJU7Lx9ciehPPs Vcz7r7LgQCI3ONX0ZyO+0r1BQhE9YnfvUJ06meJhwDdwdP10+t+W8PBA4rrFLbxhiQUK TEBLpauwnukA/QQcZ2Y8R1xTWLKEz1H2aHR4AFw+qD1OqEyUxqGbnXJHbL/B0leo8MBQ 0tNlLnTTPB5vQS2CrIh7Y74swE4x8vsESrOwAtOSHfUJ42yMTSTc4UOSXVikm+92JlTv ZQKg== X-Gm-Message-State: AOAM532eGHZnPjUszzbQb2Xotcd8YpTiDURNKJPdF9D2N6sGVN8YyWLN ck65qDsy/AZVyc7bFDFh6gVxvML3 X-Google-Smtp-Source: ABdhPJy+peVAbj1U3BeR3+KEG+j2SBOVuaFoSvEvyyrhI4tiYZfYIv4VX4K8F2leyq/QBYI0P28Fbw== X-Received: by 2002:ac8:345c:: with SMTP id v28mr16640118qtb.390.1596462205184; Mon, 03 Aug 2020 06:43:25 -0700 (PDT) Received: from localhost.localdomain ([191.83.218.91]) by smtp.gmail.com with ESMTPSA id d70sm17002024qkb.71.2020.08.03.06.43.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2020 06:43:24 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Aug 2020 10:43:11 -0300 Message-Id: <20200803134311.4759-1-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/mpegaudiodec_template: disable CRC checking for layers 1 and 2 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" Layers 1 and 2 use lengths in bits which are not a multiple of 8, and our CRC works on a per-byte basis. Based on b48397e7b8 Signed-off-by: James Almer --- libavcodec/mpegaudiodec_template.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c index 3d7e3ba4f2..3ae73d3c8d 100644 --- a/libavcodec/mpegaudiodec_template.c +++ b/libavcodec/mpegaudiodec_template.c @@ -1568,7 +1568,7 @@ static int mp_decode_frame(MPADecodeContext *s, OUT_INT **samples, if (s->error_protection) { uint16_t crc = get_bits(&s->gb, 16); - if (s->err_recognition & AV_EF_CRCCHECK) { + if (s->err_recognition & AV_EF_CRCCHECK && s->layer == 3) { const int sec_len = s->lsf ? ((s->nb_channels == 1) ? 9 : 17) : ((s->nb_channels == 1) ? 17 : 32); const AVCRC *crc_tab = av_crc_get_table(AV_CRC_16_ANSI);