Live data from Hacker News

Flicks – A unit of time defined in C++

github.com

11–20 of 55 posts

Re: Flicks – A unit of time defined in C++

#11
While humans can't hear higher than 48kHz, the higher sample rates are used for working audio files which might later be resampled or retimed.

48 kHz? Someone probably got confused between Nyquist–Shannon sampling theorem and the human ear...

And someone beat me to it hehe

https://github.com/OculusVR/Flicks/issues/2

Re: Flicks – A unit of time defined in C++

#12
post #2

Can you "invent" a definition?

Planck, Coulomb, Dirac, Fermi, Newton, Faraday, Avagadro, etc might think so. https://en.wikipedia.org/wiki/Physical_constant#Table_of_phy... Archimedes, Pythagoras and Euler might agree. https://en.wikipedia.org/wiki/Mathematical_constant

Also, giving a name to a formula is "inventing a definition". If you're a programmer and you write a function, or assign the result of an operation to a variable, the act of naming that function or variable can be considered the same.

Re: Flicks – A unit of time defined in C++

#13
post #8

Earlier quoted context omitted.

Planck, Coulomb, Dirac, Fermi, Newton, Faraday, Avagadro, etc might think so. https://en.wikipedia.org/wiki/Physical_constant#Table_of_phy... Archimedes, Pythagoras and Euler might agree. https://en.wikipedia.org/wiki/Mathematical_constant

Those people didn't invent those definitions...

Bah. That's either wrong or overly pedantic, depending on the case.

At least Newton's lab of universal gravitation and Coulomb's law defined their eponymous constants directly.

In other cases the people doing the defining named them retrospectively after the originator of, or most significant contributor to, the concept that motivated the definition.

The point is that we ascribe enough invention to these definitions to commonly name them after the people who invented them.

Re: Flicks – A unit of time defined in C++

#15
post #2

Can you "invent" a definition?

You can if you want to try and plaster your name all over VR as a facet of soft lock-in and to arbitrarily insert yourself into every potential aspect of a fledgling industry. Next they'll invent the 'Ocu-ternion', which is the same as a normal Quaternion but each scalar value is divided by a constant because...VR? Facebook? Who cares, the point is they own it.

> Who cares, the point is they own it.

The header file they provided is BSD licensed. You can use it freely, forever, for anything you want.

Re: Flicks – A unit of time defined in C++

#16

Earlier quoted context omitted.

You can if you want to try and plaster your name all over VR as a facet of soft lock-in and to arbitrarily insert yourself into every potential aspect of a fledgling industry. Next they'll invent the 'Ocu-ternion', which is the same as a normal Quaternion but each scalar value is divided by a constant because...VR? Facebook? Who cares, the point is they own it.

> Who cares, the point is they own it. The header file they provided is BSD licensed. You can use it freely, forever, for anything you want.

And applies only to this particular implementation. Anyone should be free to implement the flick time unit in any other language, or re-implement the flick time unit in C++.

Re: Flicks – A unit of time defined in C++

#17

Earlier quoted context omitted.

You can if you want to try and plaster your name all over VR as a facet of soft lock-in and to arbitrarily insert yourself into every potential aspect of a fledgling industry. Next they'll invent the 'Ocu-ternion', which is the same as a normal Quaternion but each scalar value is divided by a constant because...VR? Facebook? Who cares, the point is they own it.

> Who cares, the point is they own it. The header file they provided is BSD licensed. You can use it freely, forever, for anything you want.

IIRC the BSD license doesn't say anything about trademarks or patents?

(EDIT: Obviously, this doesn't invalidate your conclusion, but your conclusion doesn't follow from the premise, at least.)

Re: Flicks – A unit of time defined in C++

#18
post #11

While humans can't hear higher than 48kHz, the higher sample rates are used for working audio files which might later be resampled or retimed. 48 kHz? Someone probably got confused between Nyquist–Shannon sampling theorem and the human ear... And someone beat me to it hehe https://github.com/OculusVR/Flicks/issues/2

>humans can't hear higher than 48kHz

Well, it's a true statement! (But yes, I agree)

Re: Flicks – A unit of time defined in C++

#19
I'm not sure I understand this:

"The NTSC variations (~29.97, etc) are actually defined as 24 * 1000/1001 and 30 * 1000/1001, which are impossible to represent exactly in a way where 1 second is exact, so we don't bother - they'll be inexact in any circumstance."

The NTSC color subcarrier is exactly 315/88 MHz, so one could make the flick something like 1/528th of this period. The frame is related to the subcarrier by 525 lines by 455/2 color clocks.

See: https://en.wikipedia.org/wiki/Colorburst

So one NTSC frame is exactly 63063 flicks, one 30 Hz frame is exactly 63000 of them, one 24 Hz frame is 78750 of them and one second is exactly 1890000000 of them.

Re: Flicks – A unit of time defined in C++

#20
Failure to handle NTSC frame rates is exactly why no one uses a time definition like this. ISO/MP4 gets it right: Using a time scale with sample durations. If you work with tracks or files with different time scales you just use the smallest common multiple of those to become your working time scale. Works every time, even for NTSC frame rates.

For instance for a file with 48Khz sound and 30000/1001 (29.97...) frame rate you would convert to a time scale of 48048000. Worst case would be mixing 48Khz, 44.1Khz and NTSC video: 1009008000.

Post reply on HN