Opened 14 years ago

Closed 14 years ago

#1558 closed patch (fixed)

Ignore timecode when decoding IVTV, EIA-608 Closed Captions

Reported by: gtgj@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

This patch works around a couple of issues:

  • Wrong timestamps used for IVTV CC. AVF "lastccptsu" is taken from video packets, which is appropriate for ATSC CC but not for IVTV VBI packets. This issue results in the problem reported by Robert Johnston here:

http://www.gossamer-threads.com/lists/mythtv/dev/184534#184534 (It is possible to fix this by using the pkt->pts from the VBI packets but that timestamp does not seem to be normalized.)

  • ATSC CC timestamps not always in sequential order. Although AVF DecodeDTVCC now receives data in the correct order, the corresponding "lastccptsu" is not always incrementing. (There is probably a better way of calculating "lastccptsu".)

This patch allows the CC decoder to ignore the timecode. The main use of the timecode in the original (backend) V4L CC decoding was to detect false duplicate codes because VBI reads were not reliably synchronized to the frame rate. When decoding in the frontend, embedded VBI codes should be reliable. (The incorrect timecodes was defeating this duplicate detection, resulting in extra "erase" codes.)

Ignoring the timecode also disables logic which postpones "scroll-up" caption updates by accumulating characters in the same caption line. This was originally used to reduce the number of CC records when recording to NUV but this is not really an issue for AVF decoding. Also, disabling this logic for AVF allows "scroll-up" captions to be displayed more accurately (less "bursty"). However, the depth of NVP txtbuffers needed to be increased to handle the larger number of updates.

Some VERBOSE debugging has been added in CCDecoder.

NOTE: I do not have an IVTV card to test these changes but I have tested it on a sample IVTV stream provided by Robert.

Attachments (1)

ignore_cc_tc-9409.patch (8.9 KB) - added by gtgj@… 14 years ago.
Ignore timecode in EIA-608 CC decoder

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by gtgj@…

Attachment: ignore_cc_tc-9409.patch added

Ignore timecode in EIA-608 CC decoder

comment:1 Changed 14 years ago by gtgj@…

Sorry, the patch to ClassicCommDetector? was meant for Ticket #1557.

comment:2 Changed 14 years ago by danielk

Milestone: 0.20
Owner: changed from Isaac Richards to danielk
Status: newassigned
Version: head

comment:3 Changed 14 years ago by danielk

Resolution: fixed
Status: assignedclosed

(In [9418]) Closes #1558, by applying patch.

This ignores timecodes of MPEG embedded captions and tells the NVP to ignore captions in the commercial detector.

Why we do this is well explained in the comments by gtgj in ticket #1558.

Note: See TracTickets for help on using tickets.