Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-22 Thread Kevin Wheatley
The ITU has the following freely available

https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.1366-0-199802-S!!PDF-E.pdf

so at best tens of hours has 2 bits of BCD

Kevin
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-21 Thread Christoph Gerstbauer



Am 13.01.2016 um 22:30 schrieb Dave Rice:

On Jan 13, 2016, at 9:25 AM, Bouke / VideoToolShed  
wrote:

On Jan 13, 2016, at 14:17, Robert Krüger  wrote:

On Wed, Jan 13, 2016 at 12:53 PM, Christoph Gerstbauer <
christophgerstba...@gmail.com> wrote:


FFmpeg allows me to set a timecode of 24:00:00:00 and beyond.

e.g "-timecode 24:00:00:00"

When I make an MXF D10 for example, the value of 24:00:00:00 is still in
the file.
Most but not all programs ignore this and display 00:00:00:00 correctly.

Here are some sample extractions of the timecode offset value in different
mxf d10 files generated by ffmpeg:

PAL 25fps:

-timecode 12:34:56:11  -> in file: 11477b hex -> 1132411 dec

-timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec

-timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec

-timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec

-timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h

-timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec

-timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h


NTSC 30fps

-timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec

-timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec


Why is this possible to set a timecode after 23:59:59:XX?
Is there a usecase?


I wasn't able to find any official spec that says what the limit for the
hour part is but since it in the general case does not define a time of day
but an offset, why limit it to 25 hours and not use the full 100? On a
side-note, I have not come across a real-world use case for a timecode of
that magnitude either.


Some forms of TC just lack the space to store higher numbers IIRC (LTC / VITC, 
perhaps also in MpegII frame headers)
But there is logic in not going higher, as it is ‘time’.
For a real world use case, in the old days of tape, a reelname most of the time 
corresponded with the hour.
So a production with more than 24 tapes needed better administration in reel 
names that had to be written on the tape and box.

FWIW QuickTime timecode flags includes a "24 hour max" flag to clarify when it is and is 
not enabled in a timecode track, but >24 hour values are certainly allowed in the QuickTime 
spec. https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html 

Dave Rice
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Hello Dave,

as seen in SMPTE S012M Time and Control Code from 1999:

Page 2 of 21 pages:

"4.2 Time address of a frame
Each frame shall be identified by a unique and complete
address consisting of an hour, minute, second,
and frame number. Refer to ANSI/SMPTE 258M for
standard formats used to display frame-based time.
The hours, minutes, and seconds follow the ascending
progression of a 24-hour clock beginning with 0
hours, 0 minutes, and 0 seconds to 23 hours, 59
minutes, and 59 seconds. "

It would be interesting what would be mentioned in the newest SMPTE 
version about timecode.

Does anyone have this standard paper? (Year 2014)

Best Regards
Christoph
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Dave Rice

> On Jan 13, 2016, at 9:25 AM, Bouke / VideoToolShed  
> wrote:
>> On Jan 13, 2016, at 14:17, Robert Krüger  wrote:
>> 
>> On Wed, Jan 13, 2016 at 12:53 PM, Christoph Gerstbauer <
>> christophgerstba...@gmail.com> wrote:
>> 
>>> FFmpeg allows me to set a timecode of 24:00:00:00 and beyond.
>>> 
>>> e.g "-timecode 24:00:00:00"
>>> 
>>> When I make an MXF D10 for example, the value of 24:00:00:00 is still in
>>> the file.
>>> Most but not all programs ignore this and display 00:00:00:00 correctly.
>>> 
>>> Here are some sample extractions of the timecode offset value in different
>>> mxf d10 files generated by ffmpeg:
>>> 
>>> PAL 25fps:
>>> 
>>> -timecode 12:34:56:11  -> in file: 11477b hex -> 1132411 dec
>>> 
>>> -timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec
>>> 
>>> -timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec
>>> 
>>> -timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec
>>> 
>>> -timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h
>>> 
>>> -timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec
>>> 
>>> -timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h
>>> 
>>> 
>>> NTSC 30fps
>>> 
>>> -timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec
>>> 
>>> -timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec
>>> 
>>> 
>>> Why is this possible to set a timecode after 23:59:59:XX?
>>> Is there a usecase?
>>> 
>> 
>> I wasn't able to find any official spec that says what the limit for the
>> hour part is but since it in the general case does not define a time of day
>> but an offset, why limit it to 25 hours and not use the full 100? On a
>> side-note, I have not come across a real-world use case for a timecode of
>> that magnitude either.
>> 
> Some forms of TC just lack the space to store higher numbers IIRC (LTC / 
> VITC, perhaps also in MpegII frame headers)
> But there is logic in not going higher, as it is ‘time’.
> For a real world use case, in the old days of tape, a reelname most of the 
> time corresponded with the hour.
> So a production with more than 24 tapes needed better administration in reel 
> names that had to be written on the tape and box.

FWIW QuickTime timecode flags includes a "24 hour max" flag to clarify when it 
is and is not enabled in a timecode track, but >24 hour values are certainly 
allowed in the QuickTime spec. 
https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html
 

Dave Rice
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Bouke / VideoToolShed


> On Jan 13, 2016, at 14:17, Robert Krüger  wrote:
> 
> On Wed, Jan 13, 2016 at 12:53 PM, Christoph Gerstbauer <
> christophgerstba...@gmail.com> wrote:
> 
>> FFmpeg allows me to set a timecode of 24:00:00:00 and beyond.
>> 
>> e.g "-timecode 24:00:00:00"
>> 
>> When I make an MXF D10 for example, the value of 24:00:00:00 is still in
>> the file.
>> Most but not all programs ignore this and display 00:00:00:00 correctly.
>> 
>> Here are some sample extractions of the timecode offset value in different
>> mxf d10 files generated by ffmpeg:
>> 
>> PAL 25fps:
>> 
>> -timecode 12:34:56:11  -> in file: 11477b hex -> 1132411 dec
>> 
>> -timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec
>> 
>> -timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec
>> 
>> -timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec
>> 
>> -timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h
>> 
>> -timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec
>> 
>> -timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h
>> 
>> 
>> NTSC 30fps
>> 
>> -timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec
>> 
>> -timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec
>> 
>> 
>> Why is this possible to set a timecode after 23:59:59:XX?
>> Is there a usecase?
>> 
> 
> I wasn't able to find any official spec that says what the limit for the
> hour part is but since it in the general case does not define a time of day
> but an offset, why limit it to 25 hours and not use the full 100? On a
> side-note, I have not come across a real-world use case for a timecode of
> that magnitude either.
> 
Some forms of TC just lack the space to store higher numbers IIRC (LTC / VITC, 
perhaps also in MpegII frame headers)
But there is logic in not going higher, as it is ‘time’.
For a real world use case, in the old days of tape, a reelname most of the time 
corresponded with the hour.
So a production with more than 24 tapes needed better administration in reel 
names that had to be written on the tape and box.

Bouke
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Robert Krüger
On Wed, Jan 13, 2016 at 3:06 PM, Phil Rhodes 
wrote:

> I'd be a very careful here.
> Linear timecode (which is fundamentally an audio signal) cannot represent
> a value of more than two in the tens-of-hours position, because only two
> bits are allocated to it. Although other systems may be more forgiving, LTC
> is still very commonly used.
> Furthermore, the standards which specify various types of MXF refer to
> "timecode time addresses" which mirror LTC timecode in that they "consist
> of 64 data bits... 26 bits specify hours, minutes, seconds and frames...
> The combination of these values is the time address of the SMPTE 12M-1
> timecode value. "
> At least some types of MXF will therefore suffer the same limitation.
> The standard I have always referred to is SMPTE-12M (now two documents). I
> don't have access to my copy of 12M right now, and I can't recall if it
> specifically disallows time beyond 24 hours, but I would suggest that the
> safest approach to reject hours > 24 as it is far from universally
> supported. Whenever I have written implementations of 12M, which I have
> done at least three times, I have rejected hours > 24 on this basis.
> P
> __
>

Thanks a lot for the explanation.

Robert
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Phil Rhodes
I'd be a very careful here.
Linear timecode (which is fundamentally an audio signal) cannot represent a 
value of more than two in the tens-of-hours position, because only two bits are 
allocated to it. Although other systems may be more forgiving, LTC is still 
very commonly used.
Furthermore, the standards which specify various types of MXF refer to 
"timecode time addresses" which mirror LTC timecode in that they "consist of 64 
data bits... 26 bits specify hours, minutes, seconds and frames... The 
combination of these values is the time address of the SMPTE 12M-1 timecode 
value. "
At least some types of MXF will therefore suffer the same limitation.
The standard I have always referred to is SMPTE-12M (now two documents). I 
don't have access to my copy of 12M right now, and I can't recall if it 
specifically disallows time beyond 24 hours, but I would suggest that the 
safest approach to reject hours > 24 as it is far from universally supported. 
Whenever I have written implementations of 12M, which I have done at least 
three times, I have rejected hours > 24 on this basis.
P
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Moritz Barsnick
On Wed, Jan 13, 2016 at 14:17:43 +0100, Robert Krüger wrote:
> I wasn't able to find any official spec that says what the limit for the
> hour part is but since it in the general case does not define a time of day
> but an offset, why limit it to 25 hours and not use the full 100? On a
> side-note, I have not come across a real-world use case for a timecode of
> that magnitude either.

I too couldn't find any official specification (at all), but every
source I found (10 minutes of *search engine of choice*) indicates that
it reflects a wall-clock time. Personally, I too would say it *could*
reflect a duration.

*shrug*

Moritz
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Robert Krüger
On Wed, Jan 13, 2016 at 12:53 PM, Christoph Gerstbauer <
christophgerstba...@gmail.com> wrote:

> FFmpeg allows me to set a timecode of 24:00:00:00 and beyond.
>
> e.g "-timecode 24:00:00:00"
>
> When I make an MXF D10 for example, the value of 24:00:00:00 is still in
> the file.
> Most but not all programs ignore this and display 00:00:00:00 correctly.
>
> Here are some sample extractions of the timecode offset value in different
> mxf d10 files generated by ffmpeg:
>
> PAL 25fps:
>
> -timecode 12:34:56:11  -> in file: 11477b hex -> 1132411 dec
>
> -timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec
>
> -timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec
>
> -timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec
>
> -timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h
>
> -timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec
>
> -timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h
>
>
> NTSC 30fps
>
> -timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec
>
> -timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec
>
>
> Why is this possible to set a timecode after 23:59:59:XX?
> Is there a usecase?
>

I wasn't able to find any official spec that says what the limit for the
hour part is but since it in the general case does not define a time of day
but an offset, why limit it to 25 hours and not use the full 100? On a
side-note, I have not come across a real-world use case for a timecode of
that magnitude either.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


[FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

2016-01-13 Thread Christoph Gerstbauer

FFmpeg allows me to set a timecode of 24:00:00:00 and beyond.

e.g "-timecode 24:00:00:00"

When I make an MXF D10 for example, the value of 24:00:00:00 is still in 
the file.

Most but not all programs ignore this and display 00:00:00:00 correctly.

Here are some sample extractions of the timecode offset value in 
different mxf d10 files generated by ffmpeg:


PAL 25fps:

-timecode 12:34:56:11  -> in file: 11477b hex -> 1132411 dec

-timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec

-timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec

-timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec

-timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h

-timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec

-timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h


NTSC 30fps

-timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec

-timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec


Why is this possible to set a timecode after 23:59:59:XX?
Is there a usecase?

Best Regards
Christoph Gerstbauer


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user