From patchwork Thu Mar 22 04:49:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gyan X-Patchwork-Id: 8096 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp384543jad; Wed, 21 Mar 2018 21:54:40 -0700 (PDT) X-Google-Smtp-Source: AG47ELuHPfIWVSlFzCtMeg73WUAakn/HGCTnYbHGfszefFe+/3Jg1zQ2aGHlBTSkFv1ofzEjlohJ X-Received: by 10.223.182.2 with SMTP id f2mr16857103wre.117.1521694479926; Wed, 21 Mar 2018 21:54:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521694479; cv=none; d=google.com; s=arc-20160816; b=olMGVBiaGnphnsQanRQYhwUP2EdBDggnWaZ7mOLOQQbUdav0FbFUJh0UjgQVADV0d6 oc5GF5PVtzuskp/lNKc70X/abznUcqydCRK4wm0O77+kBfxl5helyHj4zCQK3EEpdbMO agW/LybprsL/EfHVE44/t0Hu/BU/F0iqKc5ZPjGmRcdlc26OHyjZMYpsq6LCqcovKM8F CNo0ENSh2YB3K09TAr7KhhpDzFj6AfNVrjRDi0VO9zNXurHnJkn+2qFKJ61fp4wbl14/ NTbi/d1dQcNpeCkHPMe6D4re/74yRvJjrWEnL4nj7kTCGrSdhUHESA3V7CHgHu7zphjq Hb/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:dkim-signature:delivered-to :arc-authentication-results; bh=Hrq1edEB9qHZGR5Xh5RdkktvNRDbj5Omv36KSmd66Jg=; b=KBMycdsZZr/Bc37002uVABRoxK6m0bUwekylA/M18LxQk9LHFmExnTTyDDCV4MLuRd Bf1+i4K2aGq0h/jpezVq61vRKsbmW2tGjRjekssCZvsmNJ8SrTJzM1uD4DsklFkoTakS m//48yYnCRWFSVn9T7VoUbwEUSmQoGHgjSEUD0f6yZJ7isI6m0vIfGIIQ/Yvgxag9Uzj u41tPj8lHZ7/jucJPMMHLljoOQMvNf4fsyhAD/6NjZBr2DN0OdVYzr1WcDTylQlHCBDK Dugq35az1lReINee5gJmdtIcrW33EWeKUocMqlvkjyoNzCZfAAVJ69PKound5FDTb1Mo QqOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=XmK5T0qq; 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 r191si3950120wmg.67.2018.03.21.21.54.39; Wed, 21 Mar 2018 21:54:39 -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=@gmail.com header.s=20161025 header.b=XmK5T0qq; 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 6DA14689D94; Thu, 22 Mar 2018 06:54:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f178.google.com (mail-io0-f178.google.com [209.85.223.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ABC2A689A53 for ; Thu, 22 Mar 2018 06:54:15 +0200 (EET) Received: by mail-io0-f178.google.com with SMTP id h23so9325868iob.11 for ; Wed, 21 Mar 2018 21:54:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=htss9N2y9LwxVHrMWeR2EUMBU1YmQ0l4M8TRsjNMmIs=; b=XmK5T0qq9sVzV9yFoZj0FPckyBJ1v4/BIRiVoyx0cDmKArDErIWYhT3yFo0lrcvw3y sOfr3jCY9PZOPV1mt0uR/SHcxbJvQSD3uHiO9g3qApbENR71b6dxNZ6woRQaV8YRE7Mi IKRmzpk8JYrMCNSEvm0i8ugk2p89aNF03byfTUTCq406++SHTm1NYhwXW+CuJLrHbM3d uEHt/gaAmYcqOrVORIbWUxRUd9UOO/45w03DBHZJjL9JwJCow21POW47w5R6tGMQaGkj b+ZZj0ibYBUOz37NHfrgIy73B9r6q6R40EBwTwXSXsjR7bX7J3VL2MD/oYC579houa3L iLRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=htss9N2y9LwxVHrMWeR2EUMBU1YmQ0l4M8TRsjNMmIs=; b=B/2vH79L0OM2FIn9EK0bUQhSU3k7KiytDIEKVpEI880HuS0pZez2u80e+XXGIEOHAw 78f7FtZ7Njl3dQwfXDR3RFjUiRmFpHhkDt3gSFL+jDhgFo4SgmmDGw1aJ2sibsUrLkl7 jl8/kGEp4Y31L3I9+P8MO6Zu+eFjgP4sENKUEd1teBUHRpvG5rga7y8ZUwzzPonuoV2A fO2Pb/esWWgk89TmBNOhjwdPczejOz4mjwBdFAjeif3RyPrc5021gyr58mGzUCzapq0S MEVI4Ow5TtqfG6MjvKvIPvtFFAd8aDPsllSekfLZ89KjjxC/OEjCZYBsSwAANdlSkIy2 xeqQ== X-Gm-Message-State: AElRT7H0vP4n/zX8WhUWzoVu0IJwLrWGLgDwXGfJq6FF1qxIwvecQ49Y yso+uLLIlIqLhPnltTH+17MXHhI0 X-Received: by 10.107.36.16 with SMTP id k16mr24496331iok.266.1521694161825; Wed, 21 Mar 2018 21:49:21 -0700 (PDT) Received: from [192.168.1.225] ([103.206.133.150]) by smtp.gmail.com with ESMTPSA id c1-v6sm3986801iti.20.2018.03.21.21.49.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Mar 2018 21:49:20 -0700 (PDT) To: ffmpeg-devel@ffmpeg.org References: From: Gyan Doshi Message-ID: <4ff1f397-e3f1-71ea-7396-dbc182217222@gmail.com> Date: Thu, 22 Mar 2018 10:19:15 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [FFmpeg-devel] [PATCH] avformat/segafilm - fix keyframe detection and set packet, flags 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" On 3/22/2018 2:02 AM, Carl Eugen Hoyos wrote: > Can you comment on why this 15-year old code was wrong? It inverts the correct assignment of keyframe status. On the sample file uploaded to trac, the existing code marks the first frame as non-KF and all remaining frames as KF. Changed to AVINDEX_KEYFRAME. Regards, Gyan From 443de6adc84c2cd5f11bb5e35f2e3bccb09d3b70 Mon Sep 17 00:00:00 2001 From: Gyan Doshi Date: Wed, 21 Mar 2018 18:59:33 +0530 Subject: [PATCH] avformat/segafilm - fix keyframe detection and set packet flags Streams from a Segafilm cpk file can't be streamcopied because keyframe flag isn't correctly set in stream index and said flag is never conveyed to the packet Fixes #7091 --- libavformat/segafilm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c index 1fdef50cc7..383ec4d216 100644 --- a/libavformat/segafilm.c +++ b/libavformat/segafilm.c @@ -239,7 +239,7 @@ static int film_read_header(AVFormatContext *s) } else { film->sample_table[i].stream = film->video_stream_index; film->sample_table[i].pts = AV_RB32(&scratch[8]) & 0x7FFFFFFF; - film->sample_table[i].keyframe = (scratch[8] & 0x80) ? 0 : 1; + film->sample_table[i].keyframe = (scratch[8] & 0x80) ? AVINDEX_KEYFRAME : 0; video_frame_counter++; if (film->video_type) av_add_index_entry(s->streams[film->video_stream_index], @@ -286,6 +286,7 @@ static int film_read_packet(AVFormatContext *s, pkt->stream_index = sample->stream; pkt->pts = sample->pts; + pkt->flags |= sample->keyframe; film->current_sample++;