Re: [FFmpeg-devel] libavcodec: add timer bitstream filter [v2]

2019-08-07 Thread Andreas Håkon
Hi Alexander,


‐‐‐ Original Message ‐‐‐
On Wednesday, 7 de August de 2019 10:01, Andreas Håkon 
 wrote:

> Hi Alexander,
>
> ‐‐‐ Original Message ‐‐‐
> On Wednesday, 7 de August de 2019 0:24, Alexander Strasser eclip...@gmx.net 
> wrote:
>
> > Hi Andreas!
> > On 2019-08-05 17:25 +, Andreas Håkon wrote:
> >
> > > On Monday, 5 de August de 2019 17:31, Moritz Barsnick barsn...@gmx.net 
> > > wrote:
> >
> > [...]
> >
> > Sorry for the noise. IIRC the naming was previously discussed.
> > Can't remember the details right now. Unfortunately I don't have
> > any good name suggestions too :(
> > This is no objections, but at least to me the name timer sounds
> > like some autonomous unit/process that can interrupt/call your
> > process on defined/configured/subscribed intervals. Maybe it's
> > just me...
> > ...what do others think?
>
> It's nitial name was "retimer". After a suggestion I changed to "timer".
> Other options can be "timestamp", "synchronizer", etc.
> However, they're all a little vague.
>
> Therefore, I ask someone to present an appropriate name taking
> into account the objective: shifting the PTS/DTS marks of a stream.
>
> You like "timeshift"?

Check new version:
https://patchwork.ffmpeg.org/patch/14302/

Regards.
A.H.

---

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] libavcodec: add timer bitstream filter [v2]

2019-08-07 Thread Andreas Håkon
Hi Alexander,


‐‐‐ Original Message ‐‐‐
On Wednesday, 7 de August de 2019 0:24, Alexander Strasser  
wrote:

> Hi Andreas!
>
> On 2019-08-05 17:25 +, Andreas Håkon wrote:
>
> > On Monday, 5 de August de 2019 17:31, Moritz Barsnick barsn...@gmx.net 
> > wrote:
>
> [...]
>
> > > > +static const AVClass timer_class = {
> > > >
> > > > -   .class_name = "timer",
> > >
> > > In about half of the existing BSFs, this would be called "timer_bsf". I
> > > don't care, I just look at other existing code. ;-)
> >
> > Good point! Other bitstream filters have this. I'll update it.
> > Thank you!
>
> Sorry for the noise. IIRC the naming was previously discussed.
> Can't remember the details right now. Unfortunately I don't have
> any good name suggestions too :(
>
> This is no objections, but at least to me the name timer sounds
> like some autonomous unit/process that can interrupt/call your
> process on defined/configured/subscribed intervals. Maybe it's
> just me...
>
> ...what do others think?

It's nitial name was "retimer". After a suggestion I changed to "timer".
Other options can be "timestamp", "synchronizer", etc.
However, they're all a little vague.

Therefore, I ask someone to present an appropriate name taking
into account the objective: shifting the PTS/DTS marks of a stream.

You like "timeshift"?

Regards.
A.H.

---

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] libavcodec: add timer bitstream filter [v2]

2019-08-06 Thread Alexander Strasser
Hi Andreas!

On 2019-08-05 17:25 +, Andreas Håkon wrote:
> On Monday, 5 de August de 2019 17:31, Moritz Barsnick  
> wrote:
>
[...]

> > > +static const AVClass timer_class = {
> > > +   .class_name = "timer",
> >
> > In about half of the existing BSFs, this would be called "timer_bsf". I
> > don't care, I just look at other existing code. ;-)
> >
>
> Good point! Other bitstream filters have this. I'll update it.
> Thank you!

Sorry for the noise. IIRC the naming was previously discussed.
Can't remember the details right now. Unfortunately I don't have
any good name suggestions too :(

This is no objections, but at least to me the name timer sounds
like some autonomous unit/process that can interrupt/call your
process on defined/configured/subscribed intervals. Maybe it's
just me...

...what do others think?


  Alexander
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] libavcodec: add timer bitstream filter [v2]

2019-08-05 Thread Andreas Håkon
Hi Moritz,


‐‐‐ Original Message ‐‐‐
On Monday, 5 de August de 2019 17:31, Moritz Barsnick  wrote:

> Hi Andreas,
>
> While trying to figure out how to add features I'd like to see into
> this ;-), some remarks:
>
> > +Apply an offset to the PTS/DTS timestamps.
> > +
> > +@table @option
> > +@item offset
> > +The offset value to apply to the PTS/DTS timestamps.
>
> For the unknowing, it might be useful to point out what sort of
> increments this is (i.e. not an actual "time" stamp or seconds).

The value are native PTS/DTS ticks, so a resolution of 90kHz.
So, you agree with something like this?

@item offset
"The absolute offset value to apply to the PTS/DTS timestamps
with a 90kHz resolution."


> [...]
> > +   { "offset", NULL, OFFSET(offset), AV_OPT_TYPE_INT, { .i64 = 0 }, 
> > INT_MIN, INT_MAX, FLAGS },
>
> Considering PTS/DTS is int64, wouldn't it be useful for the offset also
> being int64 (and using limits INT64_MIN, INT64_MAX)?

Aah, I feel you like then to full cover all the possible values.
Then two changes are required:

1. Use int64 types.
2. Limit offset values from -((2^33)-1) to +((2^33)-1)

You agree with this?


> > +// TODO: Instead of using absolute timestamp offsets, use frame numbers
>
> Alternatively? Or perhaps also AV_OPT_TYPE_DURATION? TODO is for later,
> anyway...

Perhaps I'll remove the TODO comments. The reason to appear is because some
other developers in the mailing-list have pointed some interesting ideas for
this plugin in the future. I'm not sure to remove it or not.


> > +   if (!s->first_debug_done) {
> > +  av_log(ctx, AV_LOG_DEBUG, "Updated PTS/DTS (%"PRId64"/%"PRId64" 
> > : %"PRId64"/%"PRId64") with offset:%d\\n",
> > +  pkt->pts, pkt->dts, opts, odts, s->offset );
> > +   }
> > +   s->first_debug_done = 1;
>
> You should set the variable inside the if() block. otherwise it gets
> assigned on every packet.

Yes, a small optimization.


> > +static const AVClass timer_class = {
> > +   .class_name = "timer",
>
> In about half of the existing BSFs, this would be called "timer_bsf". I
> don't care, I just look at other existing code. ;-)
>

Good point! Other bitstream filters have this. I'll update it.
Thank you!


Regards.
A.H.

---

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] libavcodec: add timer bitstream filter [v2]

2019-08-05 Thread Moritz Barsnick
Hi Andreas,

On Fri, Aug 02, 2019 at 13:03:03 +, Andreas Håkon wrote:

While trying to figure out how to add features I'd like to see into
this ;-), some remarks:

> +Apply an offset to the PTS/DTS timestamps.
> +
> +@table @option
> +@item offset
> +The offset value to apply to the PTS/DTS timestamps.

For the unknowing, it might be useful to point out what sort of
increments this is (i.e. not an actual "time" stamp or seconds).

> +// TODO: Control time wrapping
[...]
> +int offset;
[...]
> +{ "offset", NULL, OFFSET(offset), AV_OPT_TYPE_INT, { .i64 = 0 }, 
> INT_MIN, INT_MAX, FLAGS },

Considering PTS/DTS is int64, wouldn't it be useful for the offset also
being int64 (and using limits INT64_MIN, INT64_MAX)?

> +// TODO: Instead of using absolute timestamp offsets, use frame numbers

Alternatively? Or perhaps also AV_OPT_TYPE_DURATION? TODO is for later,
anyway...

> +if (!s->first_debug_done) {
> +av_log(ctx, AV_LOG_DEBUG, "Updated PTS/DTS (%"PRId64"/%"PRId64" : 
> %"PRId64"/%"PRId64") with offset:%d\n",
> +pkt->pts, pkt->dts, opts, odts, s->offset );
> +}
> +s->first_debug_done = 1;

You should set the variable inside the if() block. otherwise it gets
assigned on every packet.

> +static const AVClass timer_class = {
> +.class_name = "timer",

In about half of the existing BSFs, this would be called "timer_bsf". I
don't care, I just look at other existing code. ;-)

Cheers,
Moritz
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".