Modify FFMP Vendor FourCC for ProRes Videostream
Hello, Looking into FFMPEG's source when trying to figure out how to change a ProRes Video Stream's vendor tag (which is required for certain automated spec compliency tests), I have found that the vendor code is hard-coded to "FFMP" as visible on this line of code: https://github.com/FFmpeg/FFmpeg/blob/c75dfa043585db7f5e20f5cab2ca8be1771ca7... . Being hardcoded, it doesn't seem like it can be changed unless the source is forked. Is there a reason this is set to "FFMP"? Would there be an issue changing it to "appl"? Why was a different value from "appl" chosen in the first place? Sincerely, Marcel
Hallo Marcel, On Wed, May 19, 2021 at 11:48:58 +0200, Marcel Hinsch wrote:
Looking into FFMPEG's source when trying to figure out how to change a ProRes Video Stream's vendor tag (which is required for certain automated spec compliency tests), I have found that the vendor code is hard-coded to "FFMP" as visible on this line of code:
Which spec compliancy demands that the file be written by Apple, Inc.?
https://github.com/FFmpeg/FFmpeg/blob/c75dfa043585db7f5e20f5cab2ca8be1771ca7... . Being hardcoded, it doesn't seem like it can be changed unless the source is forked. Is there a reason this is set to "FFMP"? Would there be an issue changing it to "appl"? Why was a different value from "appl" chosen in the first place?
I guess it was chosen as such, because ffmpeg isn't Apple, and even Apple specifies: https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTF... Vendor A 32-bit integer that specifies the developer of the compressor that generated the compressed data. Often this field contains 'appl' to indicate Apple, Inc. "Often" tells me a compliance tool shouldn't demand this value. On the other hand, such tags can often be changed within ffmpeg. Just not this one. Cheers, Moritz
participants (2)
-
Marcel Hinsch -
Moritz Barsnick