On 11/20/2017 3:19 PM, Dave Rice wrote: > TN2162 requires a colr atom for uncompressed yuv (including v210, v308, v408, > etc) in mov, so I'd prefer to write it in this case. Note that the colr atom > provides an option for unspecified for each of the color values, so there's a > method to write a colr atom which basically says ¯\_(ツ)_/¯.
[...] > I disagree. I'd prefer to follow the specification and write a colr atom (in > the case of uncompressed yuv in mov) that say the colr is unspecified rather > than to write no colr atom at all and create an invalid file. See > https://developer.apple.com/library/content/technotes/tn2162/_index.html#//apple_ref/doc/uid/DTS40013070-CH1-TNTAG9. > > I do agree that guesswork should be avoided or provided under an option that > users could opt into. I suppose my preference order from support to oppose > for writing uncompressed yuv in mov would be: > > 1: write a colr atom in all cases (if unknown, use unspecified values in colr > atom) > 2: write a colr atom if color data the known (no colr atom if unknown) > 3: write a colr atom in all cases (if unknown, just make stuff up, #yolo) My opinion falls somewhere in between, to something like this (in pseudo-code): if (colors_known) { write_colr(vals); } else if (uncompressed_yuv) { if (guesswork_user_option) { write_colr(guessed_hacky_crap); } else { write_colr(unspecified); } } else if (guesswork_user_option) { write_colr(guessed_hacky_crap); } else { // Don't write a colr atom because it adds no value, to write unspecified in it // and no spec requires it for compressed streams. } Does this make sense? - Derek _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel