'streampatterns' -- a proposed stream structure filter

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

'streampatterns' -- a proposed stream structure filter

Mark Filipak (ffmpeg)
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.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: 'streampatterns' -- a proposed stream structure filter

Mark Filipak (ffmpeg)
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.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".