[mythtv-commits] Ticket #11435: recordedseek as recorded differs from mythcommflag
MythTV
noreply at mythtv.org
Thu Jul 4 08:46:26 UTC 2013
#11435: recordedseek as recorded differs from mythcommflag
----------------------------------+-----------------------------
Reporter: blm-ubunet@… | Owner: jpoet
Type: Bug Report - General | Status: closed
Priority: minor | Milestone: 0.27
Component: MythTV - Recording | Version: Master Head
Severity: low | Resolution: fixed
Keywords: H264 recordedseek | Ticket locked: 0
----------------------------------+-----------------------------
Comment (by blm_ubunet@…):
My patch(s) also fixed the buffer offset problem in dtvrecorder.cpp.
HD-PVR:
H264Parser.cpp correctly identifies actual IDR frames for HD-PVR & my
later patch accidentally disabled the "all I frames as keyframes"
override.
The identified IDR frames match with ffprobe & avidemux.
I have also used Elecard StreamEye (demo) analyser to inspect streams.
The original HD-PVR f/w produced non-compliant streams described as "No
IDR, seekable I frame with no SEI recovery point messages.
The "use_I_forKeyframes" function call (from mpegrecorder.cpp) sets
"I_is_keyframe=true" for HD-PVR recordings. This then causes all I frames
to be identified keyframes.
I imagine this hack was needed to support the original HD-PVR streams.
The HD-PVR recording samples I have, use AVC main at L4.0 for 720p60 with an
I frame every 28 frames with every 4th I frame as IDR. For IDR nal, the
SEI recovery count is set correct (==0) & exact_match==1.
So for correct keyframe detection (in HD-PVR) needs I_is_keyframe=false.
The non-IDR I frames do seem to be seekable so perhaps the I frames
positions also need to be stored into the seektable ( but not as
keyframes).
This keyframe error would explain the 0 to 2 sec position errors that have
plagued the "lossless_cut" script.
Thanks.
--
Ticket URL: <http://code.mythtv.org/trac/ticket/11435#comment:43>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list