Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
GSoC
GSoC2018
macOS
vlc
Commits
05368cee
Commit
05368cee
authored
Aug 28, 2011
by
Jean-Baptiste Kempf
Browse files
MP4: FOURCC_* => ATOM_*
The atom names are like FOURCC, but they are not fourcc
parent
197852f8
Changes
4
Hide whitespace changes
Inline
Side-by-side
modules/demux/mp4/drms.c
View file @
05368cee
...
...
@@ -281,7 +281,7 @@ int drms_init( void *_p_drms, uint32_t i_type,
switch
(
i_type
)
{
case
FOURCC
_user
:
case
ATOM
_user
:
if
(
i_len
<
sizeof
(
p_drms
->
i_user
)
)
{
i_ret
=
-
2
;
...
...
@@ -291,7 +291,7 @@ int drms_init( void *_p_drms, uint32_t i_type,
p_drms
->
i_user
=
U32_AT
(
p_info
);
break
;
case
FOURCC
_key
:
case
ATOM
_key
:
if
(
i_len
<
sizeof
(
p_drms
->
i_key
)
)
{
i_ret
=
-
2
;
...
...
@@ -301,7 +301,7 @@ int drms_init( void *_p_drms, uint32_t i_type,
p_drms
->
i_key
=
U32_AT
(
p_info
);
break
;
case
FOURCC
_iviv
:
case
ATOM
_iviv
:
if
(
i_len
<
sizeof
(
p_drms
->
p_key
)
)
{
i_ret
=
-
2
;
...
...
@@ -311,7 +311,7 @@ int drms_init( void *_p_drms, uint32_t i_type,
memcpy
(
p_drms
->
p_iviv
,
p_info
,
16
);
break
;
case
FOURCC
_name
:
case
ATOM
_name
:
p_drms
->
p_name
=
(
uint8_t
*
)
strdup
(
(
char
*
)
p_info
);
if
(
p_drms
->
p_name
==
NULL
)
...
...
@@ -320,7 +320,7 @@ int drms_init( void *_p_drms, uint32_t i_type,
}
break
;
case
FOURCC
_priv
:
case
ATOM
_priv
:
{
uint32_t
p_priv
[
64
];
struct
md5_s
md5
;
...
...
modules/demux/mp4/libmp4.c
View file @
05368cee
...
...
@@ -44,7 +44,7 @@ static inline size_t mp4_box_headersize( MP4_Box_t *p_box )
{
return
8
+
(
p_box
->
i_shortsize
==
1
?
8
:
0
)
+
(
p_box
->
i_type
==
FOURCC
_uuid
?
16
:
0
);
+
(
p_box
->
i_type
==
ATOM
_uuid
?
16
:
0
);
}
#define MP4_GETX_PRIVATE(dst, code, size) do { \
...
...
@@ -212,7 +212,7 @@ int MP4_ReadBoxCommon( stream_t *p_stream, MP4_Box_t *p_box )
/* XXX size of 0 means that the box extends to end of file */
}
if
(
p_box
->
i_type
==
FOURCC
_uuid
)
if
(
p_box
->
i_type
==
ATOM
_uuid
)
{
/* get extented type on 16 bytes */
GetUUID
(
&
p_box
->
i_uuid
,
p_peek
);
...
...
@@ -335,7 +335,7 @@ static int MP4_ReadBoxSkip( stream_t *p_stream, MP4_Box_t *p_box )
/* XXX sometime moov is hiden in a free box */
if
(
p_box
->
p_father
&&
p_box
->
p_father
->
i_type
==
VLC_FOURCC
(
'r'
,
'o'
,
'o'
,
't'
)
&&
p_box
->
i_type
==
FOURCC
_free
)
p_box
->
i_type
==
ATOM
_free
)
{
const
uint8_t
*
p_peek
;
int
i_read
;
...
...
@@ -350,11 +350,11 @@ static int MP4_ReadBoxSkip( stream_t *p_stream, MP4_Box_t *p_box )
{
i_fcc
=
VLC_FOURCC
(
p_peek
[
0
],
p_peek
[
1
],
p_peek
[
2
],
p_peek
[
3
]
);
if
(
i_fcc
==
FOURCC
_cmov
||
i_fcc
==
FOURCC
_mvhd
)
if
(
i_fcc
==
ATOM
_cmov
||
i_fcc
==
ATOM
_mvhd
)
{
msg_Warn
(
p_stream
,
"detected moov hidden in a free box ..."
);
p_box
->
i_type
=
FOURCC
_foov
;
p_box
->
i_type
=
ATOM
_foov
;
return
MP4_ReadBoxContainer
(
p_stream
,
p_box
);
}
}
...
...
@@ -1443,7 +1443,7 @@ static int MP4_ReadBox_sample_soun( stream_t *p_stream, MP4_Box_t *p_box )
mp4_box_headersize
(
p_box
)
+
28
);
}
if
(
p_box
->
i_type
==
FOURCC
_drms
)
if
(
p_box
->
i_type
==
ATOM
_drms
)
{
char
*
home
=
config_GetUserDir
(
VLC_HOME_DIR
);
if
(
home
!=
NULL
)
...
...
@@ -1454,7 +1454,7 @@ static int MP4_ReadBox_sample_soun( stream_t *p_stream, MP4_Box_t *p_box )
}
}
if
(
p_box
->
i_type
==
FOURCC
_samr
||
p_box
->
i_type
==
FOURCC
_sawb
)
if
(
p_box
->
i_type
==
ATOM
_samr
||
p_box
->
i_type
==
ATOM
_sawb
)
{
/* Ignore channelcount for AMR (3gpp AMRSpecificBox) */
p_box
->
data
.
p_sample_soun
->
i_channelcount
=
1
;
...
...
@@ -1479,7 +1479,7 @@ static void MP4_FreeBox_sample_soun( MP4_Box_t *p_box )
{
FREENULL
(
p_box
->
data
.
p_sample_soun
->
p_qt_description
);
if
(
p_box
->
i_type
==
FOURCC
_drms
)
if
(
p_box
->
i_type
==
ATOM
_drms
)
{
if
(
p_box
->
data
.
p_sample_soun
->
p_drms
)
{
...
...
@@ -1544,7 +1544,7 @@ int MP4_ReadBox_sample_vide( stream_t *p_stream, MP4_Box_t *p_box )
stream_Seek
(
p_stream
,
p_box
->
i_pos
+
mp4_box_headersize
(
p_box
)
+
78
);
if
(
p_box
->
i_type
==
FOURCC
_drmi
)
if
(
p_box
->
i_type
==
ATOM
_drmi
)
{
char
*
home
=
config_GetUserDir
(
VLC_HOME_DIR
);
if
(
home
!=
NULL
)
...
...
@@ -1572,7 +1572,7 @@ void MP4_FreeBox_sample_vide( MP4_Box_t *p_box )
{
FREENULL
(
p_box
->
data
.
p_sample_vide
->
p_qt_image_description
);
if
(
p_box
->
i_type
==
FOURCC
_drmi
)
if
(
p_box
->
i_type
==
ATOM
_drmi
)
{
if
(
p_box
->
data
.
p_sample_vide
->
p_drms
)
{
...
...
@@ -1803,7 +1803,7 @@ static int MP4_ReadBox_stco_co64( stream_t *p_stream, MP4_Box_t *p_box )
for
(
i
=
0
;
i
<
p_box
->
data
.
p_co64
->
i_entry_count
;
i
++
)
{
if
(
p_box
->
i_type
==
FOURCC
_stco
)
if
(
p_box
->
i_type
==
ATOM
_stco
)
{
if
(
i_read
<
4
)
{
...
...
@@ -2158,8 +2158,8 @@ static int MP4_ReadBox_cmov( stream_t *p_stream, MP4_Box_t *p_box )
memset
(
p_box
->
data
.
p_cmov
,
0
,
sizeof
(
MP4_Box_data_cmov_t
)
);
if
(
!
p_box
->
p_father
||
(
p_box
->
p_father
->
i_type
!=
FOURCC
_moov
&&
p_box
->
p_father
->
i_type
!=
FOURCC
_foov
)
)
(
p_box
->
p_father
->
i_type
!=
ATOM
_moov
&&
p_box
->
p_father
->
i_type
!=
ATOM
_foov
)
)
{
msg_Warn
(
p_stream
,
"Read box:
\"
cmov
\"
box alone"
);
return
1
;
...
...
@@ -2178,7 +2178,7 @@ static int MP4_ReadBox_cmov( stream_t *p_stream, MP4_Box_t *p_box )
return
0
;
}
if
(
p_dcom
->
data
.
p_dcom
->
i_algorithm
!=
FOURCC
_zlib
)
if
(
p_dcom
->
data
.
p_dcom
->
i_algorithm
!=
ATOM
_zlib
)
{
msg_Dbg
(
p_stream
,
"read box:
\"
cmov
\"
compression algorithm : %4.4s "
"not supported"
,
(
char
*
)
&
p_dcom
->
data
.
p_dcom
->
i_algorithm
);
...
...
@@ -2395,12 +2395,12 @@ static int MP4_ReadBox_drms( stream_t *p_stream, MP4_Box_t *p_box )
do
{
p_drms_box
=
p_drms_box
->
p_father
;
}
while
(
p_drms_box
&&
p_drms_box
->
i_type
!=
FOURCC
_drms
&&
p_drms_box
->
i_type
!=
FOURCC
_drmi
);
}
while
(
p_drms_box
&&
p_drms_box
->
i_type
!=
ATOM
_drms
&&
p_drms_box
->
i_type
!=
ATOM
_drmi
);
if
(
p_drms_box
&&
p_drms_box
->
i_type
==
FOURCC
_drms
)
if
(
p_drms_box
&&
p_drms_box
->
i_type
==
ATOM
_drms
)
p_drms
=
p_drms_box
->
data
.
p_sample_soun
->
p_drms
;
else
if
(
p_drms_box
&&
p_drms_box
->
i_type
==
FOURCC
_drmi
)
else
if
(
p_drms_box
&&
p_drms_box
->
i_type
==
ATOM
_drmi
)
p_drms
=
p_drms_box
->
data
.
p_sample_vide
->
p_drms
;
if
(
p_drms_box
&&
p_drms
)
...
...
@@ -2429,9 +2429,9 @@ static int MP4_ReadBox_drms( stream_t *p_stream, MP4_Box_t *p_box )
drms_free
(
p_drms
);
if
(
p_drms_box
->
i_type
==
FOURCC
_drms
)
if
(
p_drms_box
->
i_type
==
ATOM
_drms
)
p_drms_box
->
data
.
p_sample_soun
->
p_drms
=
NULL
;
else
if
(
p_drms_box
->
i_type
==
FOURCC
_drmi
)
else
if
(
p_drms_box
->
i_type
==
ATOM
_drmi
)
p_drms_box
->
data
.
p_sample_vide
->
p_drms
=
NULL
;
}
}
...
...
@@ -2711,26 +2711,26 @@ static int MP4_ReadBox_default( stream_t *p_stream, MP4_Box_t *p_box )
{
goto
unknown
;
}
if
(
p_box
->
p_father
->
i_type
==
FOURCC
_stsd
)
if
(
p_box
->
p_father
->
i_type
==
ATOM
_stsd
)
{
MP4_Box_t
*
p_mdia
=
MP4_BoxGet
(
p_box
,
"../../../.."
);
MP4_Box_t
*
p_hdlr
;
if
(
p_mdia
==
NULL
||
p_mdia
->
i_type
!=
FOURCC
_mdia
||
if
(
p_mdia
==
NULL
||
p_mdia
->
i_type
!=
ATOM
_mdia
||
(
p_hdlr
=
MP4_BoxGet
(
p_mdia
,
"hdlr"
))
==
NULL
)
{
goto
unknown
;
}
switch
(
p_hdlr
->
data
.
p_hdlr
->
i_handler_type
)
{
case
FOURCC
_soun
:
case
ATOM
_soun
:
return
MP4_ReadBox_sample_soun
(
p_stream
,
p_box
);
case
FOURCC
_vide
:
case
ATOM
_vide
:
return
MP4_ReadBox_sample_vide
(
p_stream
,
p_box
);
case
FOURCC
_text
:
case
ATOM
_text
:
return
MP4_ReadBox_sample_text
(
p_stream
,
p_box
);
case
FOURCC
_tx3g
:
case
FOURCC
_sbtl
:
case
ATOM
_tx3g
:
case
ATOM
_sbtl
:
return
MP4_ReadBox_sample_tx3g
(
p_stream
,
p_box
);
default:
msg_Warn
(
p_stream
,
...
...
@@ -2764,209 +2764,209 @@ static const struct
}
MP4_Box_Function
[]
=
{
/* Containers */
{
FOURCC
_moov
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_trak
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_mdia
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_moof
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_minf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_stbl
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_dinf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_edts
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_udta
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_nmhd
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_hnti
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_rmra
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_rmda
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_tref
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_gmhd
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_wave
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_ilst
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_moov
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_trak
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_mdia
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_moof
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_minf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_stbl
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_dinf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_edts
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_udta
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_nmhd
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_hnti
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_rmra
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_rmda
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_tref
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_gmhd
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_wave
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_ilst
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
/* specific box */
{
FOURCC
_ftyp
,
MP4_ReadBox_ftyp
,
MP4_FreeBox_ftyp
},
{
FOURCC
_cmov
,
MP4_ReadBox_cmov
,
MP4_FreeBox_Common
},
{
FOURCC
_mvhd
,
MP4_ReadBox_mvhd
,
MP4_FreeBox_Common
},
{
FOURCC
_tkhd
,
MP4_ReadBox_tkhd
,
MP4_FreeBox_Common
},
{
FOURCC
_mdhd
,
MP4_ReadBox_mdhd
,
MP4_FreeBox_Common
},
{
FOURCC
_hdlr
,
MP4_ReadBox_hdlr
,
MP4_FreeBox_hdlr
},
{
FOURCC
_vmhd
,
MP4_ReadBox_vmhd
,
MP4_FreeBox_Common
},
{
FOURCC
_smhd
,
MP4_ReadBox_smhd
,
MP4_FreeBox_Common
},
{
FOURCC
_hmhd
,
MP4_ReadBox_hmhd
,
MP4_FreeBox_Common
},
{
FOURCC
_url
,
MP4_ReadBox_url
,
MP4_FreeBox_url
},
{
FOURCC
_urn
,
MP4_ReadBox_urn
,
MP4_FreeBox_urn
},
{
FOURCC
_dref
,
MP4_ReadBox_dref
,
MP4_FreeBox_Common
},
{
FOURCC
_stts
,
MP4_ReadBox_stts
,
MP4_FreeBox_stts
},
{
FOURCC
_ctts
,
MP4_ReadBox_ctts
,
MP4_FreeBox_ctts
},
{
FOURCC
_stsd
,
MP4_ReadBox_stsd
,
MP4_FreeBox_Common
},
{
FOURCC
_stsz
,
MP4_ReadBox_stsz
,
MP4_FreeBox_stsz
},
{
FOURCC
_stsc
,
MP4_ReadBox_stsc
,
MP4_FreeBox_stsc
},
{
FOURCC
_stco
,
MP4_ReadBox_stco_co64
,
MP4_FreeBox_stco_co64
},
{
FOURCC
_co64
,
MP4_ReadBox_stco_co64
,
MP4_FreeBox_stco_co64
},
{
FOURCC
_stss
,
MP4_ReadBox_stss
,
MP4_FreeBox_stss
},
{
FOURCC
_stsh
,
MP4_ReadBox_stsh
,
MP4_FreeBox_stsh
},
{
FOURCC
_stdp
,
MP4_ReadBox_stdp
,
MP4_FreeBox_stdp
},
{
FOURCC
_padb
,
MP4_ReadBox_padb
,
MP4_FreeBox_padb
},
{
FOURCC
_elst
,
MP4_ReadBox_elst
,
MP4_FreeBox_elst
},
{
FOURCC
_cprt
,
MP4_ReadBox_cprt
,
MP4_FreeBox_cprt
},
{
FOURCC
_esds
,
MP4_ReadBox_esds
,
MP4_FreeBox_esds
},
{
FOURCC
_dcom
,
MP4_ReadBox_dcom
,
MP4_FreeBox_Common
},
{
FOURCC
_cmvd
,
MP4_ReadBox_cmvd
,
MP4_FreeBox_cmvd
},
{
FOURCC
_avcC
,
MP4_ReadBox_avcC
,
MP4_FreeBox_avcC
},
{
FOURCC
_dac3
,
MP4_ReadBox_dac3
,
MP4_FreeBox_Common
},
{
FOURCC
_enda
,
MP4_ReadBox_enda
,
MP4_FreeBox_Common
},
{
FOURCC
_gnre
,
MP4_ReadBox_gnre
,
MP4_FreeBox_Common
},
{
FOURCC
_trkn
,
MP4_ReadBox_trkn
,
MP4_FreeBox_Common
},
{
FOURCC
_iods
,
MP4_ReadBox_iods
,
MP4_FreeBox_Common
},
{
ATOM
_ftyp
,
MP4_ReadBox_ftyp
,
MP4_FreeBox_ftyp
},
{
ATOM
_cmov
,
MP4_ReadBox_cmov
,
MP4_FreeBox_Common
},
{
ATOM
_mvhd
,
MP4_ReadBox_mvhd
,
MP4_FreeBox_Common
},
{
ATOM
_tkhd
,
MP4_ReadBox_tkhd
,
MP4_FreeBox_Common
},
{
ATOM
_mdhd
,
MP4_ReadBox_mdhd
,
MP4_FreeBox_Common
},
{
ATOM
_hdlr
,
MP4_ReadBox_hdlr
,
MP4_FreeBox_hdlr
},
{
ATOM
_vmhd
,
MP4_ReadBox_vmhd
,
MP4_FreeBox_Common
},
{
ATOM
_smhd
,
MP4_ReadBox_smhd
,
MP4_FreeBox_Common
},
{
ATOM
_hmhd
,
MP4_ReadBox_hmhd
,
MP4_FreeBox_Common
},
{
ATOM
_url
,
MP4_ReadBox_url
,
MP4_FreeBox_url
},
{
ATOM
_urn
,
MP4_ReadBox_urn
,
MP4_FreeBox_urn
},
{
ATOM
_dref
,
MP4_ReadBox_dref
,
MP4_FreeBox_Common
},
{
ATOM
_stts
,
MP4_ReadBox_stts
,
MP4_FreeBox_stts
},
{
ATOM
_ctts
,
MP4_ReadBox_ctts
,
MP4_FreeBox_ctts
},
{
ATOM
_stsd
,
MP4_ReadBox_stsd
,
MP4_FreeBox_Common
},
{
ATOM
_stsz
,
MP4_ReadBox_stsz
,
MP4_FreeBox_stsz
},
{
ATOM
_stsc
,
MP4_ReadBox_stsc
,
MP4_FreeBox_stsc
},
{
ATOM
_stco
,
MP4_ReadBox_stco_co64
,
MP4_FreeBox_stco_co64
},
{
ATOM
_co64
,
MP4_ReadBox_stco_co64
,
MP4_FreeBox_stco_co64
},
{
ATOM
_stss
,
MP4_ReadBox_stss
,
MP4_FreeBox_stss
},
{
ATOM
_stsh
,
MP4_ReadBox_stsh
,
MP4_FreeBox_stsh
},
{
ATOM
_stdp
,
MP4_ReadBox_stdp
,
MP4_FreeBox_stdp
},
{
ATOM
_padb
,
MP4_ReadBox_padb
,
MP4_FreeBox_padb
},
{
ATOM
_elst
,
MP4_ReadBox_elst
,
MP4_FreeBox_elst
},
{
ATOM
_cprt
,
MP4_ReadBox_cprt
,
MP4_FreeBox_cprt
},
{
ATOM
_esds
,
MP4_ReadBox_esds
,
MP4_FreeBox_esds
},
{
ATOM
_dcom
,
MP4_ReadBox_dcom
,
MP4_FreeBox_Common
},
{
ATOM
_cmvd
,
MP4_ReadBox_cmvd
,
MP4_FreeBox_cmvd
},
{
ATOM
_avcC
,
MP4_ReadBox_avcC
,
MP4_FreeBox_avcC
},
{
ATOM
_dac3
,
MP4_ReadBox_dac3
,
MP4_FreeBox_Common
},
{
ATOM
_enda
,
MP4_ReadBox_enda
,
MP4_FreeBox_Common
},
{
ATOM
_gnre
,
MP4_ReadBox_gnre
,
MP4_FreeBox_Common
},
{
ATOM
_trkn
,
MP4_ReadBox_trkn
,
MP4_FreeBox_Common
},
{
ATOM
_iods
,
MP4_ReadBox_iods
,
MP4_FreeBox_Common
},
/* Nothing to do with this box */
{
FOURCC
_mdat
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
FOURCC
_skip
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
FOURCC
_free
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
FOURCC
_wide
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
ATOM
_mdat
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
ATOM
_skip
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
ATOM
_free
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
{
ATOM
_wide
,
MP4_ReadBoxSkip
,
MP4_FreeBox_Common
},
/* for codecs */
{
FOURCC
_soun
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_ms02
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_ms11
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_ms55
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
__mp3
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_mp4a
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_twos
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_sowt
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_QDMC
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_QDM2
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_ima4
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_IMA4
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_dvi
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_alaw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_ulaw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_raw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_MAC3
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_MAC6
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_Qclp
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_samr
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_sawb
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_OggS
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_alac
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_drmi
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_vide
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mp4v
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_SVQ1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_SVQ3
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_ZyGo
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_DIVX
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_XVID
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_h263
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_s263
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_cvid
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3IV1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3iv1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3IV2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3iv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3IVD
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3ivd
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3VID
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_3vid
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mjpa
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mjpb
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_qdrw
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mp2v
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_hdv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mjqt
,
MP4_ReadBox_default
,
NULL
},
/* found in mjpa/b */
{
FOURCC
_mjht
,
MP4_ReadBox_default
,
NULL
},
{
FOURCC
_dvc
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_dvp
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_dv5n
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_dv5p
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_VP31
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_vp31
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_h264
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_jpeg
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_avc1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_yv12
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_yuv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
FOURCC
_mp4s
,
MP4_ReadBox_sample_mp4s
,
MP4_FreeBox_Common
},
{
ATOM
_soun
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_ms02
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_ms11
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_ms55
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
__mp3
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_mp4a
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_twos
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_sowt
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_QDMC
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_QDM2
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_ima4
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_IMA4
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_dvi
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_alaw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_ulaw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_raw
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_MAC3
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_MAC6
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_Qclp
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_samr
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_sawb
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_OggS
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_alac
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_drmi
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_vide
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mp4v
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_SVQ1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_SVQ3
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_ZyGo
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_DIVX
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_XVID
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_h263
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_s263
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_cvid
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3IV1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3iv1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3IV2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3iv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3IVD
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3ivd
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3VID
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_3vid
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mjpa
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mjpb
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_qdrw
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mp2v
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_hdv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mjqt
,
MP4_ReadBox_default
,
NULL
},
/* found in mjpa/b */
{
ATOM
_mjht
,
MP4_ReadBox_default
,
NULL
},
{
ATOM
_dvc
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_dvp
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_dv5n
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_dv5p
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_VP31
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_vp31
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_h264
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_jpeg
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_avc1
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_yv12
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_yuv2
,
MP4_ReadBox_sample_vide
,
MP4_FreeBox_sample_vide
},
{
ATOM
_mp4s
,
MP4_ReadBox_sample_mp4s
,
MP4_FreeBox_Common
},
/* XXX there is 2 box where we could find this entry stbl and tref*/
{
FOURCC
_hint
,
MP4_ReadBox_default
,
MP4_FreeBox_Common
},
{
ATOM
_hint
,
MP4_ReadBox_default
,
MP4_FreeBox_Common
},
/* found in tref box */
{
FOURCC
_dpnd
,
MP4_ReadBox_default
,
NULL
},
{
FOURCC
_ipir
,
MP4_ReadBox_default
,
NULL
},
{
FOURCC
_mpod
,
MP4_ReadBox_default
,
NULL
},
{
FOURCC
_chap
,
MP4_ReadBox_tref_generic
,
MP4_FreeBox_tref_generic
},
{
ATOM
_dpnd
,
MP4_ReadBox_default
,
NULL
},
{
ATOM
_ipir
,
MP4_ReadBox_default
,
NULL
},
{
ATOM
_mpod
,
MP4_ReadBox_default
,
NULL
},
{
ATOM
_chap
,
MP4_ReadBox_tref_generic
,
MP4_FreeBox_tref_generic
},
/* found in hnti */
{
FOURCC
_rtp
,
MP4_ReadBox_default
,
NULL
},
{
ATOM
_rtp
,
MP4_ReadBox_default
,
NULL
},
/* found in rmra */
{
FOURCC
_rdrf
,
MP4_ReadBox_rdrf
,
MP4_FreeBox_rdrf
},
{
FOURCC
_rmdr
,
MP4_ReadBox_rmdr
,
MP4_FreeBox_Common
},
{
FOURCC
_rmqu
,
MP4_ReadBox_rmqu
,
MP4_FreeBox_Common
},
{
FOURCC
_rmvc
,
MP4_ReadBox_rmvc
,
MP4_FreeBox_Common
},
{
FOURCC
_drms
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
FOURCC
_sinf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_schi
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_user
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
FOURCC
_key
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
FOURCC
_iviv
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
FOURCC
_priv
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
FOURCC
_frma
,
MP4_ReadBox_frma
,
MP4_FreeBox_Common
},
{
FOURCC
_skcr
,
MP4_ReadBox_skcr
,
MP4_FreeBox_Common
},
{
ATOM
_rdrf
,
MP4_ReadBox_rdrf
,
MP4_FreeBox_rdrf
},
{
ATOM
_rmdr
,
MP4_ReadBox_rmdr
,
MP4_FreeBox_Common
},
{
ATOM
_rmqu
,
MP4_ReadBox_rmqu
,
MP4_FreeBox_Common
},
{
ATOM
_rmvc
,
MP4_ReadBox_rmvc
,
MP4_FreeBox_Common
},
{
ATOM
_drms
,
MP4_ReadBox_sample_soun
,
MP4_FreeBox_sample_soun
},
{
ATOM
_sinf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_schi
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_user
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
ATOM
_key
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
ATOM
_iviv
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
ATOM
_priv
,
MP4_ReadBox_drms
,
MP4_FreeBox_Common
},
{
ATOM
_frma
,
MP4_ReadBox_frma
,
MP4_FreeBox_Common
},
{
ATOM
_skcr
,
MP4_ReadBox_skcr
,
MP4_FreeBox_Common
},
/* found in udta */
{
FOURCC
_0xa9nam
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9aut
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9cpy
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9swr
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9inf
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9ART
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9dir
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9cmt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9req
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9day
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9des
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9fmt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9prd
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9prf
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9src
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9alb
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9dis
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9enc
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9gen
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9trk
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9dsa
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9hst
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9url
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9ope
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9com
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9wrt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9too
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9wrn
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9mak
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9mod
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9PRD
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9grp
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_0xa9lyr
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
FOURCC
_chpl
,
MP4_ReadBox_chpl
,
MP4_FreeBox_chpl
},
{
ATOM
_0xa9nam
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9aut
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9cpy
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9swr
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9inf
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9ART
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9dir
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9cmt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9req
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9day
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9des
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9fmt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9prd
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9prf
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9src
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9alb
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9dis
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9enc
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9gen
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9trk
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9dsa
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9hst
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9url
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9ope
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9com
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9wrt
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9too
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9wrn
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9mak
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9mod
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},