From patchwork Tue Feb 1 21:20:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Theisen X-Patchwork-Id: 34048 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp983386iov; Tue, 1 Feb 2022 13:21:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVDRyDm+ufpUQpBs43mET5gCDS/HS4/31jE4tCcJewNyepv1YOQRTPWhoZdSQglDRGD5es X-Received: by 2002:a17:907:a089:: with SMTP id hu9mr23031409ejc.680.1643750519241; Tue, 01 Feb 2022 13:21:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643750519; cv=none; d=google.com; s=arc-20160816; b=h9vupCsH7757IjSignqyQ6HjrCMXP5+qPSivvGSh5lpYQm8Sxutna8ANvcZg/ImGBF pJ8QY1wTkhQ7AqOfqaW5gzEM7wpzu791aGlu7BiDfOPypFVGNcdeolj+jlezyr/HN+XX maFTGtSJxjAYUwlqM5DO1ORNl44K3cYb4jiqMU6g+rmBhkawfTIPh8+U0OdwMphXbD7a ICzM55CzdCo7zols901tVZslSAH9fom4jB3Nu0PJyYZNMqleOb6w+peS7yeas4AZhFd7 IeUj+2/Q3V/WxfueI9L/tTx3dsKMdvFQlgSU1PxvC/fIcPaFt0YMHpsuendW7OXCDxxL CL1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=uXAF4lWE0NfUySV3vJHiTITqG/CpH+wqw8y8cZeNVTk=; b=wkxZK6zdDBw5lDJdDv8Saqwx9Y4Ys+akiVMjPMpZqNcAZJ6W1wMPQb18tsy30tDDBe k9Gn9TOuF6I5r8lZssAkvrKqpfac2YCja1mJaDZOKiuGNg1ae/lagB4lz2SLtwoKMHUn dxnP5oRzP03q1w3H9jQY7KSfhDVRIhmWBfSf9oA1dnpk0lxYKpV2Qmdb7sWd2akUXZSa KNOVstvlIkVJJswvZFS9+OWPWXhdvNSjgnB86GmMZ8x66a5V8CkWKthFWOxwLKW8tYee wp8BbhkO0IKtipKti7vKdROQfYLeDUCLwhyj7tpy60jP/s6XRfIQtH58FPWl/uMQWlK0 9B1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=FmIHaR9W; 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 3si9573749ejl.245.2022.02.01.13.21.58; Tue, 01 Feb 2022 13:21:59 -0800 (PST) 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=20210112 header.b=FmIHaR9W; 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 1317B689CFC; Tue, 1 Feb 2022 23:21:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 79E6568AF51 for ; Tue, 1 Feb 2022 23:21:10 +0200 (EET) Received: by mail-qv1-f54.google.com with SMTP id s6so17201690qvv.11 for ; Tue, 01 Feb 2022 13:21:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KICQncTemsfuvM5Sv3D7PxnsDlwbqR9+01/x1cqDRgE=; b=FmIHaR9WtxuI/WdfMKdm4+KaxAwywZu5l49vAOFSYprfgrdC4NLOBsGTesYCL/plbq XmnxOagONB1Cceyo04x9I4V9QhuIe/bRH8++GyXAjXdf6EitO0+nich+JRjnWtqU/g/d ZH/sx8yUuqMh3TgW1CWRHmjHmYPQKlgNmpN9j7mdPzan06gGFUACs46T8T44xOOgmHx3 n6oINMLTL17h7NOzuDUgMINV/E3j2EDzdt1R/3osU9DyThib9tDjfcyKklXXqy4EeVdh Hittn0YAf2Z4ySRAawFtMYj+2ZmLmGv1YYo8nhH5jZhfcFCeHB6Ss9fQQ1a9kj2LmNi6 grEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KICQncTemsfuvM5Sv3D7PxnsDlwbqR9+01/x1cqDRgE=; b=tNL+HWU1i+vM1X/2c4f4p0yKiOGEyetkTr9WhulBmdAkD9a0gBcN3iaqeYxWvF06cv cY5tqxeEry3VuQcqDc8k5HOeCJuumhWnDZGG4r2x3UqizBlD47EkFPHBz3BGhCeD0v+v ilANm1igvjaNQtBWd5yGEkoo1KaljEzcCtdeZTsFE1SYNcn2gVYi/qVaJMYhxdpTPF+Z Ew1xWxFUvpNUy6b9m9hCqLjyA6YYJgDzZ+VeoAQb6kDnFqsoUWF7AE1YB00RwS71JI13 DTXO4KeVAjK4TYifopSYCAjPpDAqkWJyKrl3SAEXIrUOrz6CHbrToCwHBp+8aTYKVRm/ Gnyg== X-Gm-Message-State: AOAM53157qNfyo7ECRbrcDgYdFoTwf35haOhbRvWQlvEdyPC+RU/ctaJ o1VkdQ04iEmrLE+bKFdPNsofUZTpWU+TUA== X-Received: by 2002:a05:6214:27cd:: with SMTP id ge13mr24412661qvb.40.1643750469037; Tue, 01 Feb 2022 13:21:09 -0800 (PST) Received: from localhost.localdomain ([151.200.235.219]) by smtp.gmail.com with ESMTPSA id ay18sm2928225qkb.8.2022.02.01.13.21.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Feb 2022 13:21:08 -0800 (PST) From: Scott Theisen To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 16:20:52 -0500 Message-Id: <20220201212056.29712-5-scott.the.elm@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220201212056.29712-1-scott.the.elm@gmail.com> References: <20220201212056.29712-1-scott.the.elm@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/8] avpriv_find_start_code(): add doxygen comment and rename a parameter 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 Cc: Scott Theisen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IeITSQA8dLpk --- libavcodec/internal.h | 15 ++++++++++++++- libavcodec/utils.c | 10 +++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 72ca1553f6..07098e1522 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -285,9 +285,22 @@ int ff_thread_can_start_frame(AVCodecContext *avctx); int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx); +/** + * Find the first start code in the buffer p. A start code is a sequence of 4 + * bytes, with memory address increasing left to right and in hexadecimal, with + * the value 00 00 01 XX, where XX represents any value. + * + * @param[in] p A pointer to the start of the memory buffer to scan. + * @param[in] end A pointer to the past the end memory address for the buffer + * given by p. p must be <= end. + * + * @param[out] start_code The found start code if it exists, otherwise an invalid start code. + * @return A pointer to the memory address following the found start code, or end + * if no start code was found. + */ const uint8_t *avpriv_find_start_code(const uint8_t *p, const uint8_t *end, - uint32_t *state); + uint32_t *start_code); int avpriv_codec_get_cap_skip_frame_fill_param(const AVCodec *codec); diff --git a/libavcodec/utils.c b/libavcodec/utils.c index cf88e0a759..54c9dd056d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -942,7 +942,7 @@ void ff_thread_report_progress2(AVCodecContext *avctx, int field, int thread, in const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p, const uint8_t *end, - uint32_t *av_restrict state) + uint32_t *av_restrict start_code) { int i; @@ -950,10 +950,10 @@ const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p, if (p >= end) return end; - *state = ~0; + *start_code = ~0; for (i = 0; i < 3; i++) { - uint32_t tmp = *state << 8; - *state = tmp + *(p++); + uint32_t tmp = *start_code << 8; + *start_code = tmp + *(p++); if (tmp == 0x100 || p == end) return p; } @@ -987,7 +987,7 @@ const uint8_t *avpriv_find_start_code(const uint8_t *av_restrict p, // this will cause the last 4 bytes before end to be read, // i.e. no out of bounds memory access occurs - *state = AV_RB32(p - 4); + *start_code = AV_RB32(p - 4); // read the previous 4 bytes, i.e. bytes {p - 4, p - 3, p - 2, p - 1} return p;