Opened 3 years ago

Last modified 2 years ago

#8343 open enhancement

h261dec doesn't mark keyframes

Reported by: Lastique Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: h261
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

h261dec does not set AVFrame::key_frame field on keyframes. As a side effect, frame skipping except keyframes doesn't work (all frames are skipped).

In H.261, keyframes are normally indicated by the Freeze Picture Release bit in the Picture Header of a frame, but h261dec ignores that bit. h261enc behavior is to set that bit on keyframes.

The problem was discovered in a client application that uses ffmpeg through its C API. I'm not sure if it can be reproduced through command line.

Attached is a patch that fixes the problem. The patch has been posted on ffmpeg-devel:

https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2019-October/252145.html

Attachments (1)

11_fix_h261dec_keyframe.patch (4.0 KB ) - added by Lastique 3 years ago.
A patch to fix keyframe markup in h261dec

Download all attachments as: .zip

Change History (6)

by Lastique, 3 years ago

A patch to fix keyframe markup in h261dec

comment:1 by Carl Eugen Hoyos, 3 years ago

Blocked By: h261
Priority: normalwish
Type: defectenhancement
Version: 4.2git-master

The patch is ignored here and will not be backported.

comment:2 by Carl Eugen Hoyos, 3 years ago

Blocked By: h261
Keywords: h261 added

comment:3 by Lastique, 3 years ago

Type: enhancementdefect

I disagree with "enhancement" qualification, this is a bug.

in reply to:  1 comment:4 by Balling, 3 years ago

Status: newopen

Replying to cehoyos:

The patch is ignored here and will not be backported.

The patch is here https://patchwork.ffmpeg.org/patch/15972/

comment:5 by Carl Eugen Hoyos, 2 years ago

Type: defectenhancement
Note: See TracTickets for help on using tickets.