Handle "twos" in addition to "sowt" encoding#850
Handle "twos" in addition to "sowt" encoding#850voxsystems wants to merge 1 commit intoxiph:masterfrom
Conversation
|
Has this been documented (by Apple) anywhere yet? |
I couldn't find anything. The report is actually anecdotal; we received information from a customer that the files were encoded "by Apple", but couldn't verify which product. |
|
Half a year ago I went searching for the most current AIFF spec from Apple (at least one new enough to permit 4 GiB files), and apparently they have removed everything to try to enforce CAF. But I found data types for the QuickTime format, and who knows whether something has done a "codec copy" to it. According to https://developer.apple.com/documentation/quicktime-file-format/sound_sample_descriptions , QuickTime permits
|
|
FFmpeg seems to produce "twos" AIFFs by codec copy big-endian 16-bit from .mov . As reported by MediaInfo, but just in case I attach:
Not that FFmpeg is the authority on compliance, but if FFmpeg produces these files, it explains why they exist. For what it is worth, I don't get "twos" out when doing the same with CAF as intermediate. (Not attached.) |
Wow, thanks for that great summary of where it seems to have come from! |
|
Question is then of course, what to do about it. (Can I suggest in any case that you amend the title into "sowt" for "swot"? Makes it potentially easier to search up later.) I would guess that "raw" and
Up to developer's discretion I think, but again: natural to give "raw" and |
I'm happy to do that, but it's in the commit comment, so I'll have to re-fork and submit another PR. Which I'm happy to do if there's a chance of it being merged.
But I'm confused by this -- what is the difference between "sowt" and "twos" that makes it not flac's job? Isn't this a "standard" from Apple, like "sowt" itself? Or are they just recognizing the "standard" that FFmpeg is (uniquely?) writing? |
If you're able to use command-line git, you can |
I did this, but it required a new PR; I don't know if that improves search. |
Please, no new PR. This leads to unnecessary duplication. The last commit in the branch So, there has been no git checkout twos-aiff-c
git commit --amend
git push --force |
|
Apologize that I might have caused another PR ...
No ... or "maybe". Here is what I found and not (edited to be cleared about where and how). First about AIFF/AIFF-C:
But what I listed in comment #850 (comment) is not for AIFF, it is for the QuickTime format.
I have found no source that "twos" AIFF should even exist - now or ever; it seems it should be "NONE". But FFmpeg does create them when doing codec copy from .mov. |
|
( ... can someone with Appleware run afconvert on the .mov files? ) |
|
A turn of events, with help from hydrogenaudio: Apple's "afconvert" CLI does indeed convert these .mov files to "twos" and "raw" AIFF-C. |
'twos' has been showing up in encoded files coming from various Apple products.
a1daf0f to
33f970b
Compare
PR closed, apparently no way to delete.
Apologies, pushed to wrong branch. Fixed now. |
|
It might be worth also adding in24/in32 and 42ni/23ni, as SoX already added support for it here: https://codeberg.org/sox_ng/sox_ng/pulls/824 |
|
Okay, just took some time to review this. Problem is that this patch just make FLAC accept twos encoding, but doesn't add anything to make decoding possible. This will not work with foreign metadata encoding. Just searching the codebase for "sowt" will show how much more code it should touch. I currently don't have much time to make this work, but I won't merge it as it currently is. |
"twos" has been showing up in encoded files coming from various Apple products.