From patchwork Fri May 13 09:40:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 35756 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp209568pzb; Fri, 13 May 2022 02:41:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVFE3tkCcePmtb0p+xAMlGD7MDAofvP+w2Rx0PxAq15vbzqnKW1AQaHuv7XgF7TH6Qsyev X-Received: by 2002:a17:907:3f9b:b0:6f4:4407:a421 with SMTP id hr27-20020a1709073f9b00b006f44407a421mr3418157ejc.557.1652434878538; Fri, 13 May 2022 02:41:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652434878; cv=none; d=google.com; s=arc-20160816; b=whL0NCL35wA+pteVrpPmp1tcmsTULMVQBfxXj6o3y44VyBQPNP8cnZzxH5Kllq5WE5 m6NiEm3lAKx1piPvQHZOHQLAGeVgAanLzHSJFgH4fcINIizaw53ymw+DJw+MCZY/RgsZ 0/XRJwAHC/R8izm7AN0pLqt95qjmIsjKbMsEDgc+67vWe7Jr/rxNf9hkpSJIqPQq4T3j c+uxX4BEkUCaORokZjBhMOLJ3Eu+USSA2J7XY2qwpanqtSUcZs19Mv0QYTO36X7zry0O BKEhYJDa+kUscm5LifTsk+NiZFlEPhzet7/sxsegdOjFztAXm73MWgJmT8sPsPecwaOA bhvw== 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=LGun/QhaiNB1mIIr4wyZhHqaNauZnsKlperiJZjNjzM=; b=sKgFmWMwBQiTCf4l0URLYmm8aZZbX7ZJ2kAIuZGysgWRPAzxt0kNVKs+u/6w+wHmrP 8rgjtNDSD9QXjcTw6r67zKI8vBva3e7iCCCiVPX1NaSgiCSh78PPzQXtS6BqfhbuesMp XVUX0AJXPzU8qhPS9dIoRZmuHf2KQ0/NgjLHi2VyDmAarGbww7fpAPPQQJg403ifqHcO PSgzT5WolMWokV/PVqw9xjmWnNF9JDP8dKmkSLxEr9ZywZAqM8aqPkrYvomAQKA++q/g Xj5rLn+Zp6avFfAYf5lAlhIr6GBxPEK5EAJwjhjkOWFOOb0egVGLptN0JQak6K+HxSot Z8Zw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b="V/mfxtfg"; 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 hs17-20020a1709073e9100b006f3ce7e0968si1692421ejc.67.2022.05.13.02.41.18; Fri, 13 May 2022 02:41:18 -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="V/mfxtfg"; 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 B1DBB68B47C; Fri, 13 May 2022 12:41:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-252.mail.qq.com (out162-62-57-252.mail.qq.com [162.62.57.252]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B743668B2F6 for ; Fri, 13 May 2022 12:40:57 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1652434854; bh=9hhnFQaOuI55wnm3CIvHs8xd4ilgyzExwXAiXs6OLhE=; h=From:To:Cc:Subject:Date; b=V/mfxtfgnKKBWlPHoQRbvKHvI13f+4ggsCghV6CkD/btx2bKBVwFzPY84JC91FtCE 6JVBcTF5nXh3oWw/2UYvaFF6LNU5ZsVACY9iSUaSAhZfGXgwlBKcMrS9ym4gArQs6Z kzmXFNcqPvyJ0JerwAZIVkQ22SQGXJeNy8YJSBkM= Received: from ZHILIZHAO-MB2.tencent.com ([113.118.107.45]) by newxmesmtplogicsvrsza7.qq.com (NewEsmtp) with SMTP id A34A9AFE; Fri, 13 May 2022 17:40:52 +0800 X-QQ-mid: xmsmtpt1652434852tm0ojo1s1 Message-ID: X-QQ-XMAILINFO: NPgAY+7cethfKojSVnPQXsOwF7dU48u7cptv58hamE56RMW61gWp3Ut2LTBZAl cp2linkBh4nP+QL9ZdoIYpSbFXObgTYAkuKRlUVuthB3ogaejCphIowJoF/jijVgj+lBn4PtvDTw MqybVBOfb/Qt7Yahn8D8Wjf3OowpMwCjYct8ymlj5vj8gEXKAs1/0M9ebN0oBc9aQC3vHfeLFtLe CPa5W6GxMVC7deERTOE8SmHoJxRpxzsGb8fI6rjwfd7Oz8Cu1I5RgaVXN92mZDAX2bm1IUrVD3d3 g4TDjBBVqjSeKtbnDa3ZYtOewvEgrXkyIrE2Ob5t/iruoi8m9/0reM7PSn8lF4m66Tihle1eJDzH Brw1J/hSu0hsax1p8Jdpq35vMGiT4qB9iTPpQjWGGZ+zitG8Q+32e1XsLI2WdSCe2+9ujlzzBBXA 91TTV3ZT5efSX5DfD2gKrI0HzE7pGaB8lrrGeLav95ucU2z/On7lMcsGXtDvkpr/xocgUKBUNLe0 Q18Hd3wJIFJcV7BpeWuE4aHw16iTxzbHvHqKcqwDl6Z4xbkQTxrMbQjEti0/3jTTNTYYfrR6q+yj xoEy/U8jqxzQ1avW6sEVFFn/CRcddbw0LgCGFUp/RvnuwDO5uQPc2J9cIG3P7OE10tEg+m+nHKNT c3hHC6kQcatUnafPeHwiPZAwEJKjhjx+cmNdbSt5nSDwiwMtaJKTVLv6DZe7hkOjJyhpz3nfNw6H s2s0dgCahV+A4AuHnRWY9j+GLkr1roiuE7d47ailLnlLsvtJOHWZv0bQgRKH7iawvoCAtYooTF1w rXCf6/FdeAA2X7sg0cg7ak8IewenvJC5mnKqnwiUMWVE4dlA4iE1ml435I9m+jOxGBuVGvcLbiju 4jglY4ysLHv8jnNQV1v3wMKoDi1Zg7oj2qV2PEnwwO/wXxvdTT39O7+BNHF6GlwAaaTN0OXLnr From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 May 2022 17:40:47 +0800 X-OQ-MSGID: <20220513094049.86179-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/avs3_parser: set has_b_frames properly 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: 9Y9zXLPRlW4W has_b_frames should be output_reorder_delay field in AVS3 sequence header and larger than 1. The parser implementation doesn't parse that field. Decoder can set has_b_frames properly, so use FFMAX here to avoid resetting has_b_frames from output_reorder_delay to 1. --- libavcodec/avs3_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/avs3_parser.c b/libavcodec/avs3_parser.c index d04d96a03a..0d2e940d1e 100644 --- a/libavcodec/avs3_parser.c +++ b/libavcodec/avs3_parser.c @@ -114,7 +114,7 @@ static void parse_avs3_nal_units(AVCodecParserContext *s, const uint8_t *buf, // bitrate_high(12) skip_bits(&gb, 32); - avctx->has_b_frames = !get_bits(&gb, 1); + avctx->has_b_frames = FFMAX(avctx->has_b_frames, !get_bits(&gb, 1)); avctx->framerate.num = avctx->time_base.den = ff_avs3_frame_rate_tab[ratecode].num; avctx->framerate.den = avctx->time_base.num = ff_avs3_frame_rate_tab[ratecode].den;