shaka-packager/packager
Caitlin O'Callaghan f264befe86
feat: Write colr atom to muxed mp4 (#1261)
This PR is an extension of the full AV1 codec string feature: [PR
1205](https://github.com/shaka-project/shaka-packager/pull/1205) and
relates to [Issue
1007](https://github.com/shaka-project/shaka-packager/issues/1007) and
[Issue
1202](https://github.com/shaka-project/shaka-packager/issues/1202).

As per the AV1 spec, the codec string may contain optional color values.
These color values are critical for detecting HDR video streams - see
[Issue
1007](https://github.com/shaka-project/shaka-packager/issues/1007).
Color information is extracted from the input mp4's `colr` atom and used
to generate the full AV1 codec string. This PR preserves the color
information by writing the `colr` atom to the muxed mp4.

**References**:
- [AV1 Codec ISO Media File Format
Binding](https://aomediacodec.github.io/av1-isobmff/#codecsparam)
- [AV1 Bitstream & Decoding Process
Specification - Section 6.4.2 Color config semantics (page
117)](https://aomediacodec.github.io/av1-spec/av1-spec.pdf)
- [QuickTime File Format
Specification](https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-125526)
2023-08-29 18:46:19 -07:00
..
app fix(MP4): Add compatible brand dby1 for Dolby content. (#1211) 2023-07-18 19:50:33 -07:00
buildtools/third_party Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
file fix: Don't close upstream on HttpFile::Flush (#1201) 2023-07-05 14:38:01 -07:00
hls feat: Write colr atom to muxed mp4 (#1261) 2023-08-29 18:46:19 -07:00
media feat: Write colr atom to muxed mp4 (#1261) 2023-08-29 18:46:19 -07:00
mpd fix: Prevent crash in GetEarliestTimestamp() if periods are empty (#1173) 2023-07-12 14:51:00 -07:00
testing ci: Fix main workflows (#1122) 2022-10-28 15:46:33 -07:00
third_party fix: Fix issues with `collections.abc` in Python 3.10+ (#1188) 2023-05-01 09:07:08 -07:00
tools fix: Indexing `bytes` produces `int` on python3 for `pssh-box.py` (#1228) 2023-07-12 09:03:43 -07:00
version chore: Update URLs after moving projects (#1042) 2022-03-07 11:56:34 -08:00
common.gypi ci: Produce static release executables on Linux (#978) 2021-08-12 20:14:43 -07:00
packager.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
packager.gyp Fix Windows shared_library builds 2021-06-15 13:16:47 -07:00
packager.h cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
packager_test.cc Low latency DASH support (#979) 2021-08-25 08:38:05 -07:00
protoc.gypi build: Fix pylint 2.10 issues, use python3 where possible 2021-08-24 12:27:03 -07:00
status.cc Fix error code message for trick play error 2018-12-13 00:26:55 +00:00
status.h Cleans up Status class 2018-01-31 03:32:07 +00:00
status_macros.h Generate full segment after cue point 2018-03-27 19:14:26 +00:00
status_test_util.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
status_unittest.cc Cleans up Status class 2018-01-31 03:32:07 +00:00