[FFmpeg-user] 'streampatterns' -- a proposed stream structure filter

Mark Filipak (ffmpeg) markfilipak at bog.us
Thu Mar 18 02:46:10 EET 2021


Addendum:

Key: 'p' : progressive frame | 'c' : combed frame | 'r' : repeated frame

Sorry, I deleted some stuff without realizing the stuff included the key.

On 2021-03-17 20:27, Mark Filipak (ffmpeg) wrote:
> Does something like this scheme already exist? No? Can it be implemented?
> 
> Implementation example:
> streampatterns=span=20:patterns=p c ccppp ccprp, split=5[p][c][ccppp][ccprp][else],
> [p]select=eq(STREAM_PATTERN,p), ... progressive stream ...[prog],
> [c]select=eq(STREAM_PATTERN,c), ... scan-interlace stream ...[scan],
> [ccppp]select=eq(STREAM_PATTERN,ccppp), ... telecine stream ...[tele],
> [ccprp]select=eq(STREAM_PATTERN,ccprp), ... oddball stream ...[oddball],
> [else]select=not(eq(STREAM_PATTERN,p)+eq(STREAM_PATTERN,c)+eq(STREAM_PATTERN,ccppp)+eq(STREAM_PATTERN,ccprp)), 
> ... mutt streams ...[mutts],
> [prog][scan][tele][oddball][mutts]interleave=nb_inputs=5
> 
> New filter: 'streampatterns', with directives: 'span=' & 'patterns='.
> Usage example:
> 'streampatterns=span=20:patterns=p c ccppp ccprp'.
> 
> New flag: 'STREAM_PATTERN', with values dynamically defined by 'streampatterns' filter.
> Examples for span==20:
>      'p' : 'pppppppppppppppppppp'
>      'c' : 'cccccccccccccccccccc'
> 'ccppp' : 'ccpppccpppccpppccppp'
> 'ccprp' : 'ccprpccprpccprpccprp'
> 
> New (partially existing?) flexable pattern detector that's configured at run time.
> 
> Heuristic comb, frame-repeat, and telecine detectors already exist.
> 
> Examples seen in the wild.
> 
> There's progressive video:
> pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
> And scan-interlaced video:
> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
> And telecined video:
> ccpppccpppccpppccpppccpppccpppccpppccpppccpppccpppccpppccpppccpppccppp
> And there's regular oddballs, for example:
> ccprpccprpccprpccprpccprpccprpccprpccprpccprpccprpccprpccprpccprpccprp
> And then there's irregular mutts, for example:
> ccpppcpppcppccppccppccppcpppcpppcpppcppprppcpppccprpcpppcpppcppccppccp
> 
> Yes, I do know that the secondary streams might need to fix up 'PTS's prior to 'interleave'.
> 


-- 
Robotics will make bitcoin worthless. Why? Visualize millions of solar powered, self-replicating 
bitcoin miners. How much would they be worth? Bitcoin maintains marginal value solely via built-in 
inflation. That essentially makes bitcoin a Ponzi scheme, and it will be shut down by governments.


More information about the ffmpeg-user mailing list