From patchwork Fri Jun 10 13:50:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 36146 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp954391pzj; Fri, 10 Jun 2022 06:51:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyv0a2c9x3qXaYqMfqWmx15yMK4Av9YyqLVTFUNadMxfDHc28J/ZGOQsxMBnjcR/2zUFlXU X-Received: by 2002:a05:6402:84a:b0:423:fe99:8c53 with SMTP id b10-20020a056402084a00b00423fe998c53mr50477185edz.195.1654869063218; Fri, 10 Jun 2022 06:51:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654869063; cv=none; d=google.com; s=arc-20160816; b=vtKp6WBPSUluBmn5GbW6Uao4Q7gZjsbHkU0rNO829Kqp394C1oW/u4O2r9iEvtJ4kk 17+ZXCW58gjZqkAITgJIGgeUiFjS1T+AuyeUpWZSSksRjmqDhMVgRrwqOBzsRQ4ZlTpF SADBFbGZAKE7okpEbddWFL9sJk6HhG1dH2zclBZP1LXgqWv16Gnwf8Q3Zc2E93jrW8pC ArRltzT129Kx6tZxNVA/LjNvvBQGTe7rrW5Y4gxn+76tvEXV1+2sNHcMHV0HhoLXRk9M +lPIHxs0xw1coEL5JHR7sUTKczO9SDAj1QlRl/iXP38vmfEfcvrGen30kckS89k1u+NP K+1w== 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:date:to:from:message-id :dkim-signature:delivered-to; bh=ctP8dwXlpffkdmNRI32N+ZukX1wSbuUTMEBRTjYq+1c=; b=duMOsyO4TavW2HDAOuLeiTOl89rVpXCJjasCkcsiqJQdKAnsQ6HRXn7cOQ8pKotai2 9O0hKS4EgSTlMTIIMGz6rK2qP557gnD1nK+YiRXGma8gkeYx+IwfSkAzu2Sz+rPMQLJo Y7ro1Qk2OIrSp72gzULqNPbCkEdpq3NI1mNpe0WcpuW3CWMssZF7ljsWK3xNdOo0rG2w a+bWFhD98cWytdFVNu/5XBG+WadUxj17xeciPHxpt/qsk/VNl0osgBHkmG5dY/Q7JFIY m5x0eNYG8s/JUQNBhmxYQHhwbM1VavtYhcR/10+4tqXZ/I9w0dDfrn3mKQkItQsPmR+d ESaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=MzzueUB3; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g16-20020aa7d1d0000000b0042b6db702a1si531837edp.545.2022.06.10.06.51.02; Fri, 10 Jun 2022 06:51:03 -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=@foxmail.com header.s=s201512 header.b=MzzueUB3; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 20F9168B4BF; Fri, 10 Jun 2022 16:50:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-231.mail.qq.com (out203-205-221-231.mail.qq.com [203.205.221.231]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0B15168B2C4 for ; Fri, 10 Jun 2022 16:50:29 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1654869024; bh=764CbpcebBJrVWbqv5np1bBWsPZH9ysW4a/6jGE84MQ=; h=From:To:Cc:Subject:Date; b=MzzueUB3Y0M00rXosx+DV3vTQUAg1FcMk4IdxnpYmqgtZSY7GXyXso4zmKwPe+XI+ VIPFUpmTLFr0nUkek9qPxjUEL9JTYAl7Qh5qlmZprqwjIU8/hnIF8ontv47yfD9upN y2Nit8JBMIKmKvRuiiRg32dZFG0mv/eZqq2nN+00= Received: from ZHILIZHAO-MB2.tencent.com ([59.37.125.123]) by newxmesmtplogicsvrsza7.qq.com (NewEsmtp) with SMTP id C969E6AB; Fri, 10 Jun 2022 21:50:22 +0800 X-QQ-mid: xmsmtpt1654869022t19a2y2u9 Message-ID: X-QQ-XMAILINFO: NkHKfw09D6j8IHR2dbY8/4rqe65Ke1POg9YpaAqoPts3CDF59WDgzQyqLAv7ZY 7rJsin44PrQXaWqmKAl4CAkxfCiVanqQUjwJGSJAgLHcfgJhE7PDodahtJrLJZkc9uJVWddR/JFt I/97UCM5Tf2lzmKuWA7af5Nn4VYGaQLWA1X17DPcZG4Qp6LlB6rgIiO33fw54iSKUUATHsQ7upTz e8fHSCfDjkunoZI3CZWG5C7EEtKydmPfFEEAahz+09yjfej77J740U607vnbpaS/w7fQOn7TdJpQ 1+JDdQiaGElteh5029O29V/Vy5mNXml+mxwZ+fq37ZhPmJnrRl0ErnBi75O7V6WaAlSerkb9RtGV cjLkVSlzPFp5WOqXFu6KCalgo+ixyCBskPB/vdwdTVY+VxJKwaR4x3RzjgFZ8kUbpxCWNf0wiJao Mxlef+XJNf+520rkAqP9pUrI3PMi+v0NjZFts91SXHs0Bi1PTW3JeVE7IaBzfGsVDOZdVlN7x1Pn qE+D0QfXAi2OBXeJSs5mhDJ4pF1qyOn9K0Aiil3414ZJ5CdcoR6fqFeuaqqgC2kZ9v+/BbLpfzfJ HyzWFBl730g5azmF3iZ8MLMJjzz6GUqME7x2xI7IlUowEXNnXXYEZrQNp9v8OSwMVHyv/zAodbR3 ihtu4X8ToLE8mAEsgGabrV2tVzNkD00t1FUVuiQDxxOKOkf3R6B88HOklFWFyk3cVH7OsLcv3S3d KLNeF7xJuuFv9XhksgflX0C8Lq/iwrxgnYd704hfmB3wv0ryflHSTqxtuGtzdcAuOFC4CYH88TJz SNdmypDgv4Obc1h/eC6atWsAbNsKSZRiOY2xUSeLIzAUO7qEQjBfe7FgckcNHbZLSnkUUf8biOyL 2ipAdllgECRz+GGFtSqyBnFUeO41ZCrB2Jc6zcbDqbIPS5hk6rgvBFPCYWfiNTKadgDZ24zsu4yN sJn0x+kuDh8nX+B+7hzA== From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Jun 2022 21:50:19 +0800 X-OQ-MSGID: <20220610135021.89892-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/avs2: add AVS2 related definitions 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: wD8jx5RDMX/1 Replace magic numbers by enum values. Signed-off-by: Zhao Zhili --- libavcodec/avs2.h | 41 ++++++++++++++++++++++++++++++++++++++++ libavcodec/avs2_parser.c | 6 +----- 2 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 libavcodec/avs2.h diff --git a/libavcodec/avs2.h b/libavcodec/avs2.h new file mode 100644 index 0000000000..7b66f51998 --- /dev/null +++ b/libavcodec/avs2.h @@ -0,0 +1,41 @@ +/* + * AVS2 related definitions + * + * Copyright (C) 2022 Zhao Zhili, + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_AVS2_H +#define AVCODEC_AVS2_H + +#define AVS2_SLICE_MAX_START_CODE 0x000001AF + +enum { + AVS2_SEQ_START_CODE = 0xB0, + AVS2_SEQ_END_CODE = 0xB1, + AVS2_USER_DATA_START_CODE = 0xB2, + AVS2_INTRA_PIC_START_CODE = 0xB3, + // reserved = 0xB4, + AVS2_EXTENSION_START_CODE = 0xB5, + AVS2_INTER_PIC_START_CODE = 0xB6, +}; + +#define AVS2_ISPIC(x) ((x) == AVS2_INTRA_PIC_START_CODE || (x) == AVS2_INTER_PIC_START_CODE) +#define AVS2_ISUNIT(x) ((x) == AVS2_SEQ_START_CODE || (x) == AVS2_SEQ_END_CODE || (x) == AVS2_USER_DATA_START_CODE || AVS2_ISPIC(x)) + +#endif diff --git a/libavcodec/avs2_parser.c b/libavcodec/avs2_parser.c index b7d5d7774e..3755dbd78c 100644 --- a/libavcodec/avs2_parser.c +++ b/libavcodec/avs2_parser.c @@ -19,13 +19,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "avs2.h" #include "parser.h" -#define AVS2_SLICE_MAX_START_CODE 0x000001AF - -#define AVS2_ISPIC(x) ((x) == 0xB3 || (x) == 0xB6) -#define AVS2_ISUNIT(x) ((x) == 0xB0 || (x) == 0xB1 || (x) == 0xB2 || AVS2_ISPIC(x)) - static int avs2_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size) { int pic_found = pc->frame_start_found;