Opened 7 months ago

Last modified 7 months ago

#13594 accepted Developer Task

Revisit deinterlacing of mixed progressive/interlaced content

Reported by: Mark Kendall Owned by: Mark Kendall
Priority: minor Milestone: 32.0
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords: deinterlacing, interlaced, progressive
Cc: Ticket locked: no

Description

mythplayer generally locks the scan type to interlaced when interlaced frames are seen - and hence will not revert if the stream changes to progressive.

This was historically designed to stop frequent switches - which interferes with playback when deinterlacers are continually enabled/disabled and/or created/deleted.

Frequent switches are often seen with e.g. telecined material.

We should however detect when the stream has 'properly' switched.

This may be as simple as unlocking the scan type on GOP boundaries.

Change History (7)

comment:1 Changed 7 months ago by Mark Kendall

Owner: changed from Peter Bennett to Mark Kendall
Status: newaccepted

comment:2 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In c7703342b8/mythtv:

Deinterlacing: Cleaner handling of scan override

  • any scan setting that is triggerred via user interaction is an

override and cannot be reset other than via another user interaction (on
screen menu, action etc)

  • fixes a few small deinterlacing issues (e.g. the overridden scan

setting is lost when coming out of edit mode)

  • fixes NEXTSCAN action handling
  • paves the way for more dynamic scan handling (i.e. switching between

progressive and interlaced content)

comment:3 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In 1ed3d824c/mythtv:

Deinterlacing: Better handling of mixed progressive/interlaced H264

  • signal to the player when we are on a new H264 GOP boundary and allow

the player to unlock the current scan type if there is a change in
interlaced flags

  • works well for mixed H264 content but *much* more work is required if

this it to work with MPEG2

comment:4 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In c7703342b8/mythtv:

Deinterlacing: Cleaner handling of scan override

  • any scan setting that is triggerred via user interaction is an

override and cannot be reset other than via another user interaction (on
screen menu, action etc)

  • fixes a few small deinterlacing issues (e.g. the overridden scan

setting is lost when coming out of edit mode)

  • fixes NEXTSCAN action handling
  • paves the way for more dynamic scan handling (i.e. switching between

progressive and interlaced content)

comment:5 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In 1ed3d824c/mythtv:

Deinterlacing: Better handling of mixed progressive/interlaced H264

  • signal to the player when we are on a new H264 GOP boundary and allow

the player to unlock the current scan type if there is a change in
interlaced flags

  • works well for mixed H264 content but *much* more work is required if

this it to work with MPEG2

comment:6 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In 5df533c12/mythtv:

Deinterlacing: Cleaner handling of scan override

  • any scan setting that is triggerred via user interaction is an

override and cannot be reset other than via another user interaction (on
screen menu, action etc)

  • fixes a few small deinterlacing issues (e.g. the overridden scan

setting is lost when coming out of edit mode)

  • fixes NEXTSCAN action handling
  • paves the way for more dynamic scan handling (i.e. switching between

progressive and interlaced content)

(cherry picked from commit c7703342b8ec6aea5e92cbe15087bca48dc09bbd)

comment:7 Changed 7 months ago by Mark Kendall <mark.kendall@…>

In 682a1f01f1/mythtv:

Deinterlacing: Better handling of mixed progressive/interlaced H264

  • signal to the player when we are on a new H264 GOP boundary and allow

the player to unlock the current scan type if there is a change in
interlaced flags

  • works well for mixed H264 content but *much* more work is required if

this it to work with MPEG2

(cherry picked from commit 1ed3d824cf9bf9dc82b2dcbcc0b7e7fdb1a0c91c)

Note: See TracTickets for help on using tickets.