Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#5836 closed patch (fixed)

H.264 parser to replace mpeg/h264utils

Reported by: jppoet@… Owned by: Janne Grunau
Priority: minor Milestone: unknown
Component: mythtv Version: unknown
Severity: medium Keywords: H.264 recording
Cc: Ticket locked: no

Description

Replace h264utils with a new H264parser class. This new class decodes more of the H.264 stream during recording to allow for more accurate detection of fields and I-frames.

Attachments (6)

H264parser-v1.patch (44.0 KB) - added by jppoet@… 12 years ago.
H264parser class
dtvrecorder-fix-h264offset.patch (831 bytes) - added by jppoet@… 12 years ago.
Adjust keyframe offset for dtvrecorder buffering
dtvrecorder-fix-h264offset-v2.patch (521 bytes) - added by jppoet@… 12 years ago.
Safer version
H264parser-v1.1.patch (47.3 KB) - added by jppoet@… 12 years ago.
New version, which includes and supersedes all previous patches on this ticket.
H264parser-v1.2.patch (47.3 KB) - added by Janne Grunau 12 years ago.
refreshed v.1.2
24_newfix_h264_frame_counting.patch (58.8 KB) - added by jyavenard@… 11 years ago.
Fix of 0.21-fixes

Download all attachments as: .zip

Change History (15)

Changed 12 years ago by jppoet@…

Attachment: H264parser-v1.patch added

H264parser class

comment:1 Changed 12 years ago by Janne Grunau

Owner: changed from Isaac Richards to Janne Grunau
Status: newassigned

Thanks John, code looks nice at first glance. I'll test it now.

Changed 12 years ago by jppoet@…

Adjust keyframe offset for dtvrecorder buffering

comment:2 Changed 12 years ago by jppoet@…

Added dtvrecorder-fix-h264offset.patch to account for internal dtvrecorder buffering.

comment:3 Changed 12 years ago by jppoet@…

Attaching a "safer" version of dtvrecorder-fix-h264offset.patch

Changed 12 years ago by jppoet@…

Safer version

comment:4 Changed 12 years ago by mark.kendall@…

Small suggestion. It would probably be quite useful, in the short term at least, to add the ability to debug/log the stream info - numbers of slices, NAL types etc.

Regardless, I'll test on my local HD station.

Changed 12 years ago by jppoet@…

Attachment: H264parser-v1.1.patch added

New version, which includes and supersedes all previous patches on this ticket.

comment:5 Changed 12 years ago by jppoet@…

H264parser-v1.1.patch has some minor cleanups. It also will not return the first keyframe until a IDR frame has been seen. It also adds the basic hooks into avformatdecoder, which the first version failed to do.

Changed 12 years ago by Janne Grunau

Attachment: H264parser-v1.2.patch added

refreshed v.1.2

comment:6 Changed 12 years ago by Janne Grunau

Resolution: fixed
Status: assignedclosed

(In [18991]) replace H264KeyFrameSequencer with H264Parser. Fixes #5836

patch by John Poet <jppoet gmail com>

comment:7 Changed 12 years ago by Janne Grunau

(In [19094]) do not wait for an IDR slice for recording. fixes BBC HD records, Refs #5836

comment:8 Changed 12 years ago by Janne Grunau

(In [19140]) reverts [19094]. Wait for an IDR slice or frame_num == 0 for the first keyframe. Refs #5836

comment:9 Changed 11 years ago by jyavenard@…

this patch is for 0.21-fixes backporting: r18991 r19094 and r19140

Changed 11 years ago by jyavenard@…

Fix of 0.21-fixes

Note: See TracTickets for help on using tickets.