From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7DC3C43751 for ; Wed, 26 Oct 2022 12:09:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 486E668BB91; Wed, 26 Oct 2022 15:09:37 +0300 (EEST) Received: from mail-oa1-f48.google.com (mail-oa1-f48.google.com [209.85.160.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0B52C68A708 for ; Wed, 26 Oct 2022 15:09:31 +0300 (EEST) Received: by mail-oa1-f48.google.com with SMTP id 586e51a60fabf-13bd19c3b68so8980029fac.7 for ; Wed, 26 Oct 2022 05:09:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=nOFTUEHIuf09E8Fica35tpOSamwaxyL18ZLjssCcLlI=; b=AcSbKp3pdIUEnB3Q6XNsyxSooTD17TuxQpwxxmUeTsTnh9br0aQy2WjnsGcc5LVIV1 NIKACxH+5OViWI/iGYcwoEYYlDkKNxqUCkc4A7LSUAh3QxrVCRpaIPszbmkXuoQ3NAgD 2LTFHZGkQC4F9lEj6l9YxpfjqvQF1Ewf5ZxzLiqEg8/jMIZPeR0BNYSOvXE1cTcxd0vT bpk7pxAg6ggD8SdhOIxPlg2KolFnryLEukAUrwqJliOcOoOMD3UJFugRo3gKf80peqzH X5k0yJYx2TC+QH0x+7FIbNqSyBiFgAlvMa9GBW4L40zVan3xQ4Jq9hsGH2Cd91J2rGyS Kk3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nOFTUEHIuf09E8Fica35tpOSamwaxyL18ZLjssCcLlI=; b=3LsYPMvmuk0vcLRCDmQwAdI7tfOEsd4wNbnbojhipeLuYtxgxaSmNY9+cQUU+l/DAH kszBMUyXsqju5bqIDsspL2siwuTYG4yEl0YMPpWGrlUjIcHflotuinZN0X4SVvxBqNnB HpLCK798eEsgdgTfMnsZVk+77AO71/ctVkMvtdRXYb3+cBMc0aM3zJm5436wtgre+dNN Rz4knm7oguPjpUfXDSgcE0cgeXP9aCA20qYvIBIbiC70RDNK3ZU8bevcuifgJ/2I8MRp NPWis3EhmKePmltFlbFTmZS5TTm09J30y0AnOev5fPkHbZePm+8NbItXz/kg3m7OcPMc MFuQ== X-Gm-Message-State: ACrzQf26UMNPmzsrK0ZhPw4spTAOinacXCDS4qQZWb9SXmHCheFUeZvS OW1jNLVEskhnMney+9Xr7XciARVVs5g= X-Google-Smtp-Source: AMsMyM6A19T4a6B5fGU/Fvzx64N+zeRv7CzrgxMvzBaiQ3dV1uvLdvNBQzoIX0GcnO6/gsIUZhBaNw== X-Received: by 2002:a05:6870:f299:b0:13b:ad21:934d with SMTP id u25-20020a056870f29900b0013bad21934dmr1961811oap.172.1666786169004; Wed, 26 Oct 2022 05:09:29 -0700 (PDT) Received: from [192.168.0.13] ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id q16-20020a056870e89000b0011d02a3fa63sm2924684oan.14.2022.10.26.05.09.27 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Oct 2022 05:09:28 -0700 (PDT) Message-ID: <8139f61f-27a5-3274-759f-c7b937f71077@gmail.com> Date: Wed, 26 Oct 2022 09:09:40 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 From: James Almer To: ffmpeg-devel@ffmpeg.org References: <20221022210226.2200-1-jamrial@gmail.com> Content-Language: en-US In-Reply-To: <20221022210226.2200-1-jamrial@gmail.com> Subject: Re: [FFmpeg-devel] [PATCH 1/5 v2] avcodec/ac3dec: split off code discarding garbage at the beginning of a packet 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 10/22/2022 6:02 PM, James Almer wrote: > Signed-off-by: James Almer > --- > No changes since v1. > > libavcodec/ac3_parser.c | 19 +++++++++++++++++++ > libavcodec/ac3_parser_internal.h | 2 ++ > libavcodec/ac3dec.c | 15 ++------------- > 3 files changed, 23 insertions(+), 13 deletions(-) > > diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c > index 4f154bb7c4..425e1b4742 100644 > --- a/libavcodec/ac3_parser.c > +++ b/libavcodec/ac3_parser.c > @@ -53,6 +53,25 @@ static const uint8_t center_levels[4] = { 4, 5, 6, 5 }; > */ > static const uint8_t surround_levels[4] = { 4, 6, 7, 6 }; > > +int ff_ac3_find_syncword(const uint8_t *buf, int buf_size) > +{ > + int i; > + > + for (i = 1; i < buf_size; i += 2) { > + if (buf[i] == 0x77 || buf[i] == 0x0B) { > + if ((buf[i] ^ buf[i-1]) == (0x77 ^ 0x0B)) { > + i--; > + break; > + } else if ((buf[i] ^ buf[i+1]) == (0x77 ^ 0x0B)) { > + break; > + } > + } > + } > + if (i >= buf_size) > + return AVERROR_INVALIDDATA; > + > + return i; > +} > > int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr) > { > diff --git a/libavcodec/ac3_parser_internal.h b/libavcodec/ac3_parser_internal.h > index bd4e1bbffb..2ac0e67ec2 100644 > --- a/libavcodec/ac3_parser_internal.h > +++ b/libavcodec/ac3_parser_internal.h > @@ -79,4 +79,6 @@ int ff_ac3_parse_header(GetBitContext *gbc, AC3HeaderInfo *hdr); > int avpriv_ac3_parse_header(AC3HeaderInfo **hdr, const uint8_t *buf, > size_t size); > > +int ff_ac3_find_syncword(const uint8_t *buf, int buf_size); > + > #endif /* AVCODEC_AC3_PARSER_INTERNAL_H */ > diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c > index 340f6e1e37..8e40587ff1 100644 > --- a/libavcodec/ac3dec.c > +++ b/libavcodec/ac3dec.c > @@ -1508,19 +1508,8 @@ static int ac3_decode_frame(AVCodecContext *avctx, AVFrame *frame, > s->superframe_size = 0; > > buf_size = full_buf_size; > - for (i = 1; i < buf_size; i += 2) { > - if (buf[i] == 0x77 || buf[i] == 0x0B) { > - if ((buf[i] ^ buf[i-1]) == (0x77 ^ 0x0B)) { > - i--; > - break; > - } else if ((buf[i] ^ buf[i+1]) == (0x77 ^ 0x0B)) { > - break; > - } > - } > - } > - if (i >= buf_size) > - return AVERROR_INVALIDDATA; > - if (i > 10) > + i = ff_ac3_find_syncword(buf, buf_size); > + if (i < 0 || i > 10) > return i; > buf += i; > buf_size -= i; Will apply set. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".