[FFmpeg-devel] [PATCH] avformat/dump: Change precision of stream start offsets

Marton Balint cus at passwd.hu
Mon Apr 21 23:17:54 EEST 2025



On Mon, 21 Apr 2025, softworkz . wrote:

>
>
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
>> Marton Balint
>> Sent: Montag, 21. April 2025 21:32
>> To: FFmpeg development discussions and patches <ffmpeg-
>> devel at ffmpeg.org>
>> Subject: Re: [FFmpeg-devel] [PATCH] avformat/dump: Change precision of
>> stream start offsets
>>
>>
>>
>> On Mon, 21 Apr 2025, softworkz . wrote:
>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
>> Gyan
>>>> Doshi
>>>> Sent: Montag, 21. April 2025 06:51
>>>> To: ffmpeg-devel at ffmpeg.org
>>>> Subject: Re: [FFmpeg-devel] [PATCH] avformat/dump: Change precision
>> of
>>>> stream start offsets
>>>>
>>>>
>>>>
>>>> On 2025-04-21 01:41 am, softworkz wrote:
>>>>> From: softworkz <softworkz at hotmail.com>
>>>>>
>>>>> Changing this to 6 digits to align with other
>>>>> printed times
>>>>>
>>>>> Signed-off-by: softworkz <softworkz at hotmail.com>
>>>>> ---
>>>>>      avformat/dump: Change precision of stream start offsets
>>>>>
>>>>>      Changing this to 6 digits to align with other printed times
>>>>>
>>>>>      Signed-off-by: softworkz softworkz at hotmail.com
>>>>>
>>>>> Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-
>>>> ffstaging-72%2Fsoftworkz%2Fsubmit_start_offsets-v1
>>>>> Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-
>>>> ffstaging-72/softworkz/submit_start_offsets-v1
>>>>> Pull-Request: https://github.com/ffstaging/FFmpeg/pull/72
>>>>>
>>>>>   libavformat/dump.c | 2 +-
>>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/libavformat/dump.c b/libavformat/dump.c
>>>>> index 8c7db7b275..1bd0424f3d 100644
>>>>> --- a/libavformat/dump.c
>>>>> +++ b/libavformat/dump.c
>>>>> @@ -680,7 +680,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
>>>>>
>>>>>       if (st->start_time != AV_NOPTS_VALUE && st->start_time != 0
>> &&
>>>> st->time_base.den && st->time_base.num) {
>>>>>           const double stream_start = av_q2d(st->time_base) * st-
>>>>> start_time;
>>>>> -        av_log(NULL, AV_LOG_INFO, ", Start-Time %.3fs",
>>>> stream_start);
>>>>> +        av_log(NULL, AV_LOG_INFO, ", Start-Time %.6fs",
>>>> stream_start);
>>>>
>>>> The camel case is incongruous with the formatting of the text next
>> To
>>>> It.
>>>
>>> Hi Gyan,
>>>
>>> as far as I'm seeing it, captions/labels are title case and values
>> are
>>> lower case. I would consider "Start-Time" to be a caption/label.
>> Let's
>>> look at an example:
>>>
>>>  Stream #0:0[0x8fd]: Video: h264 (High) ([27][0][0][0] / 0x001B),
>> yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], Level 40,
>> 25 fps, 50 tbr, 90k tbn, Start-Time 32476.588s
>>>  Stream #0:1[0x907](dut): Audio: mp2 ([3][0][0][0] / 0x0003), 48000
>> Hz, stereo, fltp, 256 kb/s, Start-Time 32476.706s
>>>  Stream #0:2[0x908](dut): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
>> 5.1(side), fltp, 448 kb/s, Start-Time 32476.643s
>>>  Stream #0:3[0x909](GOS): Audio: mp2 ([3][0][0][0] / 0x0003), 48000
>> Hz, stereo, fltp, 256 kb/s, Start-Time 32476.674s (visual impaired)
>> (descriptions)
>>>  Stream #0:4[0x962](dut): Subtitle: dvb_subtitle ([6][0][0][0] /
>> 0x0006), Start-Time 32476.588s
>>>  Stream #0:5[0x963](dut): Subtitle: dvb_subtitle ([6][0][0][0] /
>> 0x0006), Start-Time 32476.719s (hearing impaired)
>>
>> I think Gyan means fps, tbr or tbn. These are all lowercase and
>> abbreviations.
>
> Yes, I understood that. But these are units, not labels.
>
>
>> The one-line stream info should be as compact as
>> possible.
>
> Agreed.
>
>> So we should make it shorter, and we should lose the "s" unit as
>> well.
>
> I'm afraid, but omitting the unit makes no sense to me.
>
> Why?

Because it is redundant. You always print the start time in seconds, users 
will have no problem guessing the time measurement unit of timestamps. 
E.g. see the status line of ffplay or mpv. Timestamps or time 
differences miss the measurement unit, and nobody complianed...

>
>
>
>> Something like:
>>
>> "in 1234.567"
>
> What means "in"?

in is short for inpoint.

>
> Maybe "offset" if it's gotta be short..?

Or simply "start", if you don't like "in".

Thanks,
Marton


More information about the ffmpeg-devel mailing list