From patchwork Thu Dec 12 12:35:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 16753 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 83C3644AD84 for ; Thu, 12 Dec 2019 14:36:19 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5718568A877; Thu, 12 Dec 2019 14:36:19 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ua1-f65.google.com (mail-ua1-f65.google.com [209.85.222.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 69B8768A745 for ; Thu, 12 Dec 2019 14:36:12 +0200 (EET) Received: by mail-ua1-f65.google.com with SMTP id z17so799342uac.5 for ; Thu, 12 Dec 2019 04:36:12 -0800 (PST) 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=LdzU8Cqmq2aeanFIXDoh7/KkzliiJw6zzh8xF/pmAeQ=; b=oyjgd600Yk7ewddOwjxz9Nu2sovdKI8cj+089Z83guii4cWOzQm5er30bKc5I/P6z9 eaJFfEE4Augim0+jTTcAoNuTS7/KStOnteJhq0LsERhUSK0KmnCFAtBvqn3688ze98Pa Yytg1QgvcugcdjE+7hmeHklyRetp3VUScX6rume+NnegHZratDXAhEdjFWp20zOF0wbg wfqq+7pRxeBBOO/VFZIIe6xjSXkjLN1BgNxhtUQk4TDyGVC/w6tlOH//8NzsxAPAXQ1M Tl1/c/0uK1LxCijjJXspLWzitL4tmM5Blwn4TFBObMnvz6+bPKGz6sC2pUA9Otyp3qya Wm1w== 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=LdzU8Cqmq2aeanFIXDoh7/KkzliiJw6zzh8xF/pmAeQ=; b=HNaCrV9Klwj7+62FWUeHQFkBSRBsPGCzm/7ox4txg2s3FauYYz/hma5BE6a44RI3yD lsZRZpCj0Yw7JH8Zj+31nOIspJWjZ5mQrjv21IEtWELoIyiBStld4q/iV0Me+kay2abf vifAc7wRyZv+V3ClDRR3uhfBVGPG47Dkoj4arqEowXkrLrVbw2ltJpyCBtEKnHhkknPR fYSmavzA7c8HKqto7s3a/vzX1T1/8ZVRI7LXIKHgfm6RpDZeax7lBFphG4/uDelcvzFA 0nHT0ENvvoq0b6HKxqPE8mtyIkAiUNlEBeP9QCij6efka+wPuAbUZMLmvFsUKdo5e2c0 I5jw== X-Gm-Message-State: APjAAAXSCzR3Q4jo2zMRWYZMUkUeysCi073HePIrCPDd+fjCmCWyXd26 OYOQSbGKAgA3UeO6c3ApD7bd4BP7 X-Google-Smtp-Source: APXvYqz9koqvAN9v4s1uiYsP7Be9qucQR14s0TD1hXYja7hVZjdfIu6OvWqGz3hgwOguzXPh0skc/A== X-Received: by 2002:ab0:770b:: with SMTP id z11mr7819898uaq.127.1576154170760; Thu, 12 Dec 2019 04:36:10 -0800 (PST) Received: from localhost.localdomain ([181.23.77.192]) by smtp.gmail.com with ESMTPSA id b14sm3590057vkl.12.2019.12.12.04.36.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Dec 2019 04:36:10 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 12 Dec 2019 09:35:39 -0300 Message-Id: <20191212123539.499-1-jamrial@gmail.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/mlp_parser: mark sync frames as key frames 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" Signed-off-by: James Almer --- libavcodec/mlp_parser.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c index b5d3ff7226..5d2ddc5a70 100644 --- a/libavcodec/mlp_parser.c +++ b/libavcodec/mlp_parser.c @@ -61,6 +61,8 @@ static int mlp_parse(AVCodecParserContext *s, int ret; int i, p = 0; + s->key_frame = 0; + *poutbuf_size = 0; if (buf_size == 0) return 0; @@ -136,6 +138,8 @@ static int mlp_parse(AVCodecParserContext *s, * access unit header and all the 2- or 4-byte substream headers. */ // Only check when this isn't a sync frame - syncs have a checksum. + s->key_frame = 0; + parity_bits = 0; for (i = -1; i < mp->num_substreams; i++) { parity_bits ^= buf[p++]; @@ -159,6 +163,8 @@ static int mlp_parse(AVCodecParserContext *s, if (ff_mlp_read_major_sync(avctx, &mh, &gb) < 0) goto lost_sync; + s->key_frame = 1; + avctx->bits_per_raw_sample = mh.group1_bits; if (avctx->bits_per_raw_sample > 16) avctx->sample_fmt = AV_SAMPLE_FMT_S32;