diff mbox

[FFmpeg-devel] avformat/segafilm - revert keyframe detection

Message ID 855d8f9e-f57d-89de-035a-4ecd49c18b0d@gmail.com
State Accepted
Commit 9f9f56e6791f6c44ac8e4b97a8da5816ed542332
Headers show

Commit Message

Gyan April 21, 2018, 7:34 a.m. UTC
References:

http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228596.html
http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228602.html
From a9b55290722ee6222b5cb5d067544f3846e1b07b Mon Sep 17 00:00:00 2001
From: Gyan Doshi <ffmpeg@gyani.pro>
Date: Sat, 21 Apr 2018 12:44:12 +0530
Subject: [PATCH] avformat/segafilm - revert keyframe detection

Keyframe detection was inverted in cfe1a9d311 in order to fix keyframe
flags set for the sample attached to trac #7091. However, that sample is
errantly muxed.

As noted at
https://web.archive.org/web/20020803104640/http://www.pcisys.net:80/~melanson/codecs/film-format.txt,
the original keyframe detection logic is correct, and this patch
restores it.
---
 libavformat/segafilm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paul B Mahol April 21, 2018, 7:48 a.m. UTC | #1
On 4/21/18, Gyan Doshi <gyandoshi@gmail.com> wrote:
> References:
>
> http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228596.html
> http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228602.html
>
>
>

what about muxer?
Gyan April 21, 2018, 8:04 a.m. UTC | #2
On 4/21/2018 1:18 PM, Paul B Mahol wrote:
> 
> what about muxer?

Will wait a few days first for author to fix it.
James Almer April 22, 2018, 3:34 a.m. UTC | #3
On 4/21/2018 4:34 AM, Gyan Doshi wrote:
> References:
> 
> http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228596.html
> http://www.ffmpeg.org/pipermail/ffmpeg-devel/2018-April/228602.html
> 
> 
> 
> 0001-avformat-segafilm-revert-keyframe-detection.patch
> 
> 
> From a9b55290722ee6222b5cb5d067544f3846e1b07b Mon Sep 17 00:00:00 2001
> From: Gyan Doshi <ffmpeg@gyani.pro>
> Date: Sat, 21 Apr 2018 12:44:12 +0530
> Subject: [PATCH] avformat/segafilm - revert keyframe detection
> 
> Keyframe detection was inverted in cfe1a9d311 in order to fix keyframe
> flags set for the sample attached to trac #7091. However, that sample is
> errantly muxed.
> 
> As noted at
> https://web.archive.org/web/20020803104640/http://www.pcisys.net:80/~melanson/codecs/film-format.txt,
> the original keyframe detection logic is correct, and this patch
> restores it.
> ---
>  libavformat/segafilm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
> index e72c26b144..b0c6c419ce 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) ? AVINDEX_KEYFRAME : 0;
> +            film->sample_table[i].keyframe = (scratch[8] & 0x80) ? 0 : AVINDEX_KEYFRAME;
>              video_frame_counter++;
>              if (film->video_type)
>                  av_add_index_entry(s->streams[film->video_stream_index],
> -- 2.12.2.windows.2

Pushed, thanks.
diff mbox

Patch

diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index e72c26b144..b0c6c419ce 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) ? AVINDEX_KEYFRAME : 0;
+            film->sample_table[i].keyframe = (scratch[8] & 0x80) ? 0 : AVINDEX_KEYFRAME;
             video_frame_counter++;
             if (film->video_type)
                 av_add_index_entry(s->streams[film->video_stream_index],