mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-25 04:11:44 +00:00
MP4 reader: support nclx
colour type in colr
atom
An enhancement to #1804.
This commit is contained in:
parent
548be05507
commit
96191d403c
2
NEWS.md
2
NEWS.md
@ -42,6 +42,8 @@
|
|||||||
* mkvmerge: MP4 reader: fixed finding and parsing the `colr` atom if there are
|
* mkvmerge: MP4 reader: fixed finding and parsing the `colr` atom if there are
|
||||||
more than one video extension atoms and the `colr` atom is not the first
|
more than one video extension atoms and the `colr` atom is not the first
|
||||||
one.
|
one.
|
||||||
|
* mkvmerge: MP4 reader: the `nclx` colour type of the `colr` atom is now
|
||||||
|
recognized, too (as defined by ISO/IEC 14496-12, "ISO base media format").
|
||||||
|
|
||||||
|
|
||||||
# Version 11.0.0 "Alive" 2017-04-22
|
# Version 11.0.0 "Alive" 2017-04-22
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "common/hacks.h"
|
#include "common/hacks.h"
|
||||||
#include "common/id_info.h"
|
#include "common/id_info.h"
|
||||||
#include "common/iso639.h"
|
#include "common/iso639.h"
|
||||||
|
#include "common/list_utils.h"
|
||||||
#include "common/math.h"
|
#include "common/math.h"
|
||||||
#include "common/mp3.h"
|
#include "common/mp3.h"
|
||||||
#include "common/strings/formatting.h"
|
#include "common/strings/formatting.h"
|
||||||
@ -2719,7 +2720,7 @@ qtmp4_demuxer_c::handle_colr_atom(memory_cptr const &atom_content,
|
|||||||
auto &colr_atom = *reinterpret_cast<colr_atom_t *>(atom_content->get_buffer());
|
auto &colr_atom = *reinterpret_cast<colr_atom_t *>(atom_content->get_buffer());
|
||||||
fourcc_c colour_type{reinterpret_cast<unsigned char const *>(&colr_atom) + offsetof(colr_atom_t, colour_type)};
|
fourcc_c colour_type{reinterpret_cast<unsigned char const *>(&colr_atom) + offsetof(colr_atom_t, colour_type)};
|
||||||
|
|
||||||
if (colour_type != "nclc")
|
if (!mtx::included_in(colour_type, "nclc", "nclx"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
v_colour_primaries = get_uint16_be(&colr_atom.colour_primaries);
|
v_colour_primaries = get_uint16_be(&colr_atom.colour_primaries);
|
||||||
|
@ -286,7 +286,7 @@ T_437ac3_from_avi_with_garbage:56391fa45c37d9db2be1fa54c6b43485:passed:20140908-
|
|||||||
T_438pcm_in_vob:1868b20abd60a09ef111e07c06086a71:passed:20140917-213731:1.216717009
|
T_438pcm_in_vob:1868b20abd60a09ef111e07c06086a71:passed:20140917-213731:1.216717009
|
||||||
T_439pcm_in_m2ts:c55ea07add8d4dcf7477c4cad4b5e130-c76eed60c27198283a3b5090eb655159:passed:20140917-222633:4.736872644
|
T_439pcm_in_m2ts:c55ea07add8d4dcf7477c4cad4b5e130-c76eed60c27198283a3b5090eb655159:passed:20140917-222633:4.736872644
|
||||||
T_440chapter_display_language_default_value:6dd844972d790ee741c58f5de5ff1555:passed:20140929-142306:0.021103552
|
T_440chapter_display_language_default_value:6dd844972d790ee741c58f5de5ff1555:passed:20140929-142306:0.021103552
|
||||||
T_441mkvmerge_mp4_big_endian_pcm:7d8e29b86fa96934b1f4f16b5a43dac3:passed:20141104-190420:0.278181073
|
T_441mkvmerge_mp4_big_endian_pcm:887d54fcd2216430429f07c8d15c248c:passed:20141104-190420:0.278181073
|
||||||
T_442ui_locale_ca_ES:b8b1ebb4a729cd34bac943b4a7eec4d5-efc218c7d73104f27e852a4d6b66412e:passed:20141105-201811:0.070000034
|
T_442ui_locale_ca_ES:b8b1ebb4a729cd34bac943b4a7eec4d5-efc218c7d73104f27e852a4d6b66412e:passed:20141105-201811:0.070000034
|
||||||
T_443hevc_keep_user_data:42bd85d67466b2c78a820684a78a3c7b:passed:20141105-202533:1.308417598
|
T_443hevc_keep_user_data:42bd85d67466b2c78a820684a78a3c7b:passed:20141105-202533:1.308417598
|
||||||
T_444pcm_statistics_from_packaged_sources:7fbfcd5dae796951c461de5aec60e3a9-7fbfcd5dae796951c461de5aec60e3a9-ffdebcc03419e30af6426dcb9310282b-833f726aa92853b669032182bc3fe56f-+++:passed:20141205-220805:0.604375231
|
T_444pcm_statistics_from_packaged_sources:7fbfcd5dae796951c461de5aec60e3a9-7fbfcd5dae796951c461de5aec60e3a9-ffdebcc03419e30af6426dcb9310282b-833f726aa92853b669032182bc3fe56f-+++:passed:20141205-220805:0.604375231
|
||||||
@ -444,3 +444,4 @@ T_595h264_bogus_timing_info:78c27e10b35f3bfea09d8c005dead342:passed:20170417-200
|
|||||||
T_596mpeg_ts_aac_loas_latm_misdetected_as_adts:5ae490a6b1e59d5382aa887355b7d96e:passed:20170424-170304:0.084835812
|
T_596mpeg_ts_aac_loas_latm_misdetected_as_adts:5ae490a6b1e59d5382aa887355b7d96e:passed:20170424-170304:0.084835812
|
||||||
T_597mpeg_ts_starting_with_avc_start_code:ae5233c238ef8ca33a713f3ab193864b:passed:20170510-145746:0.077795359
|
T_597mpeg_ts_starting_with_avc_start_code:ae5233c238ef8ca33a713f3ab193864b:passed:20170510-145746:0.077795359
|
||||||
T_598aac_track_not_listed_in_pmt:444929dd4db38e68b59a3ebf833e5128-AAC:passed:20170511-221910:0.0849745
|
T_598aac_track_not_listed_in_pmt:444929dd4db38e68b59a3ebf833e5128-AAC:passed:20170511-221910:0.0849745
|
||||||
|
T_599mp4_nclx_colour_type_in_colr_atom:3639a6fdf7a0e46d158188fdd932bd2b:passed:20170514-203828:0.018287634
|
||||||
|
5
tests/test-599mp4_nclx_colour_type_in_colr_atom.rb
Executable file
5
tests/test-599mp4_nclx_colour_type_in_colr_atom.rb
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/ruby -w
|
||||||
|
|
||||||
|
# T_599mp4_nclx_colour_type_in_colr_atom
|
||||||
|
describe "mkvmerge / MP4 files with `nclx` colour type in the `colr` atom"
|
||||||
|
test_merge "data/mp4/colr_atom_with_nclx_colour_type.mp4"
|
Loading…
Reference in New Issue
Block a user