Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-2-2
Commits
05368cee
Commit
05368cee
authored
Aug 28, 2011
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MP4: FOURCC_* => ATOM_*
The atom names are like FOURCC, but they are not fourcc
parent
197852f8
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
482 additions
and
482 deletions
+482
-482
modules/demux/mp4/drms.c
modules/demux/mp4/drms.c
+5
-5
modules/demux/mp4/libmp4.c
modules/demux/mp4/libmp4.c
+211
-211
modules/demux/mp4/libmp4.h
modules/demux/mp4/libmp4.h
+211
-211
modules/demux/mp4/mp4.c
modules/demux/mp4/mp4.c
+55
-55
No files found.
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
},
{
ATOM
_0xa9PRD
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9grp
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_0xa9lyr
,
MP4_ReadBox_0xa9xxx
,
MP4_FreeBox_0xa9xxx
},
{
ATOM
_chpl
,
MP4_ReadBox_chpl
,
MP4_FreeBox_chpl
},
/* iTunes/Quicktime meta info */
{
FOURCC
_meta
,
MP4_ReadBox_meta
,
MP4_FreeBox_Common
},
{
FOURCC
_name
,
MP4_ReadBox_name
,
MP4_FreeBox_name
},
{
ATOM
_meta
,
MP4_ReadBox_meta
,
MP4_FreeBox_Common
},
{
ATOM
_name
,
MP4_ReadBox_name
,
MP4_FreeBox_name
},
/* found in smoothstreaming */
{
FOURCC
_traf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
FOURCC
_mfhd
,
MP4_ReadBox_mfhd
,
MP4_FreeBox_Common
},
{
FOURCC
_tfhd
,
MP4_ReadBox_tfhd
,
MP4_FreeBox_Common
},
{
FOURCC
_trun
,
MP4_ReadBox_trun
,
MP4_FreeBox_trun
},
{
ATOM
_traf
,
MP4_ReadBoxContainer
,
MP4_FreeBox_Common
},
{
ATOM
_mfhd
,
MP4_ReadBox_mfhd
,
MP4_FreeBox_Common
},
{
ATOM
_tfhd
,
MP4_ReadBox_tfhd
,
MP4_FreeBox_Common
},
{
ATOM
_trun
,
MP4_ReadBox_trun
,
MP4_FreeBox_trun
},
/* Last entry */
{
0
,
MP4_ReadBox_default
,
NULL
}
...
...
@@ -3116,7 +3116,7 @@ MP4_Box_t *MP4_BoxGetRoot( stream_t *s )
(
p_cmov
=
MP4_BoxGet
(
p_root
,
"foov/cmov"
)
)
)
)
{
/* rename the compressed moov as a box to skip */
p_moov
->
i_type
=
FOURCC
_skip
;
p_moov
->
i_type
=
ATOM
_skip
;
/* get uncompressed p_moov */
p_moov
=
p_cmov
->
data
.
p_cmov
->
p_moov
;
...
...
modules/demux/mp4/libmp4.h
View file @
05368cee
...
...
@@ -23,217 +23,217 @@
#ifndef _VLC_MP4_H
#define _VLC_MP4_H 1
#define
FOURCC
_uuid VLC_FOURCC( 'u', 'u', 'i', 'd' )
#define
FOURCC
_ftyp VLC_FOURCC( 'f', 't', 'y', 'p' )
#define
FOURCC
_moov VLC_FOURCC( 'm', 'o', 'o', 'v' )
#define
FOURCC
_foov VLC_FOURCC( 'f', 'o', 'o', 'v' )
#define
FOURCC
_cmov VLC_FOURCC( 'c', 'm', 'o', 'v' )
#define
FOURCC
_dcom VLC_FOURCC( 'd', 'c', 'o', 'm' )
#define
FOURCC
_cmvd VLC_FOURCC( 'c', 'm', 'v', 'd' )
#define
FOURCC
_moof VLC_FOURCC( 'm', 'o', 'o', 'f' )
#define
FOURCC
_mdat VLC_FOURCC( 'm', 'd', 'a', 't' )
#define
FOURCC
_skip VLC_FOURCC( 's', 'k', 'i', 'p' )
#define
FOURCC
_free VLC_FOURCC( 'f', 'r', 'e', 'e' )
#define
FOURCC
_udta VLC_FOURCC( 'u', 'd', 't', 'a' )
#define
FOURCC
_wide VLC_FOURCC( 'w', 'i', 'd', 'e' )
#define
FOURCC
_trak VLC_FOURCC( 't', 'r', 'a', 'k' )
#define
FOURCC
_mvhd VLC_FOURCC( 'm', 'v', 'h', 'd' )
#define
FOURCC
_tkhd VLC_FOURCC( 't', 'k', 'h', 'd' )
#define
FOURCC
_tref VLC_FOURCC( 't', 'r', 'e', 'f' )
#define
FOURCC
_mdia VLC_FOURCC( 'm', 'd', 'i', 'a' )
#define
FOURCC
_mdhd VLC_FOURCC( 'm', 'd', 'h', 'd' )
#define
FOURCC
_hdlr VLC_FOURCC( 'h', 'd', 'l', 'r' )
#define
FOURCC
_minf VLC_FOURCC( 'm', 'i', 'n', 'f' )
#define
FOURCC
_vmhd VLC_FOURCC( 'v', 'm', 'h', 'd' )
#define
FOURCC
_smhd VLC_FOURCC( 's', 'm', 'h', 'd' )
#define
FOURCC
_hmhd VLC_FOURCC( 'h', 'm', 'h', 'd' )
#define
FOURCC
_dinf VLC_FOURCC( 'd', 'i', 'n', 'f' )
#define
FOURCC
_url VLC_FOURCC( 'u', 'r', 'l', ' ' )
#define
FOURCC
_urn VLC_FOURCC( 'u', 'r', 'n', ' ' )
#define
FOURCC
_dref VLC_FOURCC( 'd', 'r', 'e', 'f' )
#define
FOURCC
_stbl VLC_FOURCC( 's', 't', 'b', 'l' )
#define
FOURCC
_stts VLC_FOURCC( 's', 't', 't', 's' )
#define
FOURCC
_ctts VLC_FOURCC( 'c', 't', 't', 's' )
#define
FOURCC
_stsd VLC_FOURCC( 's', 't', 's', 'd' )
#define
FOURCC
_stsz VLC_FOURCC( 's', 't', 's', 'z' )
#define
FOURCC
_stz2 VLC_FOURCC( 's', 't', 'z', '2' )
#define
FOURCC
_stsc VLC_FOURCC( 's', 't', 's', 'c' )
#define
FOURCC
_stco VLC_FOURCC( 's', 't', 'c', 'o' )
#define
FOURCC
_co64 VLC_FOURCC( 'c', 'o', '6', '4' )
#define
FOURCC
_stss VLC_FOURCC( 's', 't', 's', 's' )
#define
FOURCC
_stsh VLC_FOURCC( 's', 't', 's', 'h' )
#define
FOURCC
_stdp VLC_FOURCC( 's', 't', 'd', 'p' )
#define
FOURCC
_padb VLC_FOURCC( 'p', 'a', 'd', 'b' )
#define
FOURCC
_edts VLC_FOURCC( 'e', 'd', 't', 's' )
#define
FOURCC
_elst VLC_FOURCC( 'e', 'l', 's', 't' )
#define
FOURCC
_mvex VLC_FOURCC( 'm', 'v', 'e', 'x' )
#define
FOURCC
_trex VLC_FOURCC( 't', 'r', 'e', 'x' )
#define
FOURCC
_mfhd VLC_FOURCC( 'm', 'f', 'h', 'd' )
#define
FOURCC
_traf VLC_FOURCC( 't', 'r', 'a', 'f' )
#define
FOURCC
_tfhd VLC_FOURCC( 't', 'f', 'h', 'd' )
#define
FOURCC
_trun VLC_FOURCC( 't', 'r', 'u', 'n' )
#define
FOURCC
_cprt VLC_FOURCC( 'c', 'p', 'r', 't' )
#define
FOURCC
_iods VLC_FOURCC( 'i', 'o', 'd', 's' )
#define
FOURCC
_nmhd VLC_FOURCC( 'n', 'm', 'h', 'd' )
#define
FOURCC
_mp2v VLC_FOURCC( 'm', 'p', '2', 'v' )
#define
FOURCC
_mp4v VLC_FOURCC( 'm', 'p', '4', 'v' )
#define
FOURCC
_mp4a VLC_FOURCC( 'm', 'p', '4', 'a' )
#define
FOURCC
_mp4s VLC_FOURCC( 'm', 'p', '4', 's' )
#define
FOURCC
_vide VLC_FOURCC( 'v', 'i', 'd', 'e' )
#define
FOURCC
_soun VLC_FOURCC( 's', 'o', 'u', 'n' )
#define
FOURCC
_hint VLC_FOURCC( 'h', 'i', 'n', 't' )
#define
FOURCC
_hdv2 VLC_FOURCC( 'h', 'd', 'v', '2' )
#define
FOURCC
_dpnd VLC_FOURCC( 'd', 'p', 'n', 'd' )
#define
FOURCC
_ipir VLC_FOURCC( 'i', 'p', 'i', 'r' )
#define
FOURCC
_mpod VLC_FOURCC( 'm', 'p', 'o', 'd' )
#define
FOURCC
_hnti VLC_FOURCC( 'h', 'n', 't', 'i' )
#define
FOURCC
_rtp VLC_FOURCC( 'r', 't', 'p', ' ' )
#define
FOURCC
_isom VLC_FOURCC( 'i', 's', 'o', 'm' )
#define
FOURCC
_3gp4 VLC_FOURCC( '3', 'g', 'p', '4' )
#define
FOURCC
_esds VLC_FOURCC( 'e', 's', 'd', 's' )
#define
FOURCC
__mp3 VLC_FOURCC( '.', 'm', 'p', '3' )
#define
FOURCC
_ms02 VLC_FOURCC( 'm', 's', 0x0, 0x02 )
#define
FOURCC
_ms11 VLC_FOURCC( 'm', 's', 0x0, 0x11 )
#define
FOURCC
_ms55 VLC_FOURCC( 'm', 's', 0x0, 0x55 )
#define
FOURCC
_twos VLC_FOURCC( 't', 'w', 'o', 's' )
#define
FOURCC
_sowt VLC_FOURCC( 's', 'o', 'w', 't' )
#define
FOURCC
_QDMC VLC_FOURCC( 'Q', 'D', 'M', 'C' )
#define
FOURCC
_QDM2 VLC_FOURCC( 'Q', 'D', 'M', '2' )
#define
FOURCC
_ima4 VLC_FOURCC( 'i', 'm', 'a', '4' )
#define
FOURCC
_IMA4 VLC_FOURCC( 'I', 'M', 'A', '4' )
#define
FOURCC
_dvi VLC_FOURCC( 'd', 'v', 'i', ' ' )
#define
FOURCC
_MAC3 VLC_FOURCC( 'M', 'A', 'C', '3' )
#define
FOURCC
_MAC6 VLC_FOURCC( 'M', 'A', 'C', '6' )
#define
FOURCC
_alaw VLC_FOURCC( 'a', 'l', 'a', 'w' )
#define
FOURCC
_ulaw VLC_FOURCC( 'u', 'l', 'a', 'w' )
#define
FOURCC
_Qclp VLC_FOURCC( 'Q', 'c', 'l', 'p' )
#define
FOURCC
_samr VLC_FOURCC( 's', 'a', 'm', 'r' )
#define
FOURCC
_sawb VLC_FOURCC( 's', 'a', 'w', 'b' )
#define
FOURCC
_OggS VLC_FOURCC( 'O', 'g', 'g', 'S' )
#define
FOURCC
_alac VLC_FOURCC( 'a', 'l', 'a', 'c' )
#define
FOURCC
_dac3 VLC_FOURCC( 'd', 'a', 'c', '3' )
#define
FOURCC
_dec3 VLC_FOURCC( 'd', 'e', 'c', '3' )
#define
FOURCC
_enda VLC_FOURCC( 'e', 'n', 'd', 'a' )
#define
FOURCC
_gnre VLC_FOURCC( 'g', 'n', 'r', 'e' )
#define
FOURCC
_trkn VLC_FOURCC( 't', 'r', 'k', 'n' )
#define
FOURCC
_zlib VLC_FOURCC( 'z', 'l', 'i', 'b' )
#define
FOURCC
_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' )
#define
FOURCC
_SVQ3 VLC_FOURCC( 'S', 'V', 'Q', '3' )
#define
FOURCC
_ZyGo VLC_FOURCC( 'Z', 'y', 'G', 'o' )
#define
FOURCC
_3IV1 VLC_FOURCC( '3', 'I', 'V', '1' )
#define
FOURCC
_3iv1 VLC_FOURCC( '3', 'i', 'v', '1' )
#define
FOURCC
_3IV2 VLC_FOURCC( '3', 'I', 'V', '2' )
#define
FOURCC
_3iv2 VLC_FOURCC( '3', 'i', 'v', '2' )
#define
FOURCC
_3IVD VLC_FOURCC( '3', 'I', 'V', 'D' )
#define
FOURCC
_3ivd VLC_FOURCC( '3', 'i', 'v', 'd' )
#define
FOURCC
_3VID VLC_FOURCC( '3', 'V', 'I', 'D' )
#define
FOURCC
_3vid VLC_FOURCC( '3', 'v', 'i', 'd' )
#define
FOURCC
_h263 VLC_FOURCC( 'h', '2', '6', '3' )
#define
FOURCC
_s263 VLC_FOURCC( 's', '2', '6', '3' )
#define
FOURCC
_DIVX VLC_FOURCC( 'D', 'I', 'V', 'X' )
#define
FOURCC
_XVID VLC_FOURCC( 'X', 'V', 'I', 'D' )
#define
FOURCC
_cvid VLC_FOURCC( 'c', 'v', 'i', 'd' )
#define
FOURCC
_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' )
#define
FOURCC
_mjpb VLC_FOURCC( 'm', 'j', 'q', 't' )
#define
FOURCC
_mjqt VLC_FOURCC( 'm', 'j', 'h', 't' )
#define
FOURCC
_mjht VLC_FOURCC( 'm', 'j', 'p', 'b' )
#define
FOURCC
_VP31 VLC_FOURCC( 'V', 'P', '3', '1' )
#define
FOURCC
_vp31 VLC_FOURCC( 'v', 'p', '3', '1' )
#define
FOURCC
_h264 VLC_FOURCC( 'h', '2', '6', '4' )
#define
FOURCC
_qdrw VLC_FOURCC( 'q', 'd', 'r', 'w' )
#define
FOURCC
_avc1 VLC_FOURCC( 'a', 'v', 'c', '1' )
#define
FOURCC
_avcC VLC_FOURCC( 'a', 'v', 'c', 'C' )
#define
FOURCC
_m4ds VLC_FOURCC( 'm', '4', 'd', 's' )
#define
FOURCC
_dvc VLC_FOURCC( 'd', 'v', 'c', ' ' )
#define
FOURCC
_dvp VLC_FOURCC( 'd', 'v', 'p', ' ' )
#define
FOURCC
_dv5n VLC_FOURCC( 'd', 'v', '5', 'n' )
#define
FOURCC
_dv5p VLC_FOURCC( 'd', 'v', '5', 'p' )
#define
FOURCC
_raw VLC_FOURCC( 'r', 'a', 'w', ' ' )
#define
FOURCC
_jpeg VLC_FOURCC( 'j', 'p', 'e', 'g' )
#define
FOURCC
_yv12 VLC_FOURCC( 'y', 'v', '1', '2' )
#define
FOURCC
_yuv2 VLC_FOURCC( 'y', 'u', 'v', '2' )
#define
FOURCC
_rmra VLC_FOURCC( 'r', 'm', 'r', 'a' )
#define
FOURCC
_rmda VLC_FOURCC( 'r', 'm', 'd', 'a' )
#define
FOURCC
_rdrf VLC_FOURCC( 'r', 'd', 'r', 'f' )
#define
FOURCC
_rmdr VLC_FOURCC( 'r', 'm', 'd', 'r' )
#define
FOURCC
_rmvc VLC_FOURCC( 'r', 'm', 'v', 'c' )
#define
FOURCC
_rmcd VLC_FOURCC( 'r', 'm', 'c', 'd' )
#define
FOURCC
_rmqu VLC_FOURCC( 'r', 'm', 'q', 'u' )
#define
FOURCC
_alis VLC_FOURCC( 'a', 'l', 'i', 's' )
#define
FOURCC
_gmhd VLC_FOURCC( 'g', 'm', 'h', 'd' )
#define
FOURCC
_wave VLC_FOURCC( 'w', 'a', 'v', 'e' )
#define
FOURCC
_drms VLC_FOURCC( 'd', 'r', 'm', 's' )
#define
FOURCC
_sinf VLC_FOURCC( 's', 'i', 'n', 'f' )
#define
FOURCC
_schi VLC_FOURCC( 's', 'c', 'h', 'i' )
#define
FOURCC
_user VLC_FOURCC( 'u', 's', 'e', 'r' )
#define
FOURCC
_key VLC_FOURCC( 'k', 'e', 'y', ' ' )
#define
FOURCC
_iviv VLC_FOURCC( 'i', 'v', 'i', 'v' )
#define
FOURCC
_name VLC_FOURCC( 'n', 'a', 'm', 'e' )
#define
FOURCC
_priv VLC_FOURCC( 'p', 'r', 'i', 'v' )
#define
FOURCC
_drmi VLC_FOURCC( 'd', 'r', 'm', 'i' )
#define
FOURCC
_frma VLC_FOURCC( 'f', 'r', 'm', 'a' )
#define
FOURCC
_skcr VLC_FOURCC( 's', 'k', 'c', 'r' )
#define
FOURCC
_text VLC_FOURCC( 't', 'e', 'x', 't' )
#define
FOURCC
_tx3g VLC_FOURCC( 't', 'x', '3', 'g' )
#define
FOURCC
_subp VLC_FOURCC( 's', 'u', 'b', 'p' )
#define
FOURCC
_sbtl VLC_FOURCC( 's', 'b', 't', 'l' )
#define
FOURCC
_0xa9nam VLC_FOURCC( 0xa9, 'n', 'a', 'm' )
#define
FOURCC
_0xa9aut VLC_FOURCC( 0xa9, 'a', 'u', 't' )
#define
FOURCC
_0xa9cpy VLC_FOURCC( 0xa9, 'c', 'p', 'y' )
#define
FOURCC
_0xa9inf VLC_FOURCC( 0xa9, 'i', 'n', 'f' )
#define
FOURCC
_0xa9ART VLC_FOURCC( 0xa9, 'A', 'R', 'T' )
#define
FOURCC
_0xa9des VLC_FOURCC( 0xa9, 'd', 'e', 's' )
#define
FOURCC
_0xa9dir VLC_FOURCC( 0xa9, 'd', 'i', 'r' )
#define
FOURCC
_0xa9cmt VLC_FOURCC( 0xa9, 'c', 'm', 't' )
#define
FOURCC
_0xa9req VLC_FOURCC( 0xa9, 'r', 'e', 'q' )
#define
FOURCC
_0xa9day VLC_FOURCC( 0xa9, 'd', 'a', 'y' )
#define
FOURCC
_0xa9fmt VLC_FOURCC( 0xa9, 'f', 'm', 't' )
#define
FOURCC
_0xa9prd VLC_FOURCC( 0xa9, 'p', 'r', 'd' )
#define
FOURCC
_0xa9prf VLC_FOURCC( 0xa9, 'p', 'r', 'f' )
#define
FOURCC
_0xa9src VLC_FOURCC( 0xa9, 's', 'r', 'c' )
#define
FOURCC
_0xa9alb VLC_FOURCC( 0xa9, 'a', 'l', 'b' )
#define
FOURCC
_0xa9dis VLC_FOURCC( 0xa9, 'd', 'i', 's' )
#define
FOURCC
_0xa9enc VLC_FOURCC( 0xa9, 'e', 'n', 'c' )
#define
FOURCC
_0xa9trk VLC_FOURCC( 0xa9, 't', 'r', 'k' )
#define
FOURCC
_0xa9url VLC_FOURCC( 0xa9, 'u', 'r', 'l' )
#define
FOURCC
_0xa9dsa VLC_FOURCC( 0xa9, 'd', 's', 'a' )
#define
FOURCC
_0xa9hst VLC_FOURCC( 0xa9, 'h', 's', 't' )
#define
FOURCC
_0xa9ope VLC_FOURCC( 0xa9, 'o', 'p', 'e' )
#define
FOURCC
_0xa9wrt VLC_FOURCC( 0xa9, 'w', 'r', 't' )
#define
FOURCC
_0xa9com VLC_FOURCC( 0xa9, 'c', 'o', 'm' )
#define
FOURCC
_0xa9gen VLC_FOURCC( 0xa9, 'g', 'e', 'n' )
#define
FOURCC
_0xa9too VLC_FOURCC( 0xa9, 't', 'o', 'o' )
#define
FOURCC
_0xa9wrn VLC_FOURCC( 0xa9, 'w', 'r', 'n' )
#define
FOURCC
_0xa9swr VLC_FOURCC( 0xa9, 's', 'w', 'r' )
#define
FOURCC
_0xa9mak VLC_FOURCC( 0xa9, 'm', 'a', 'k' )
#define
FOURCC
_0xa9mod VLC_FOURCC( 0xa9, 'm', 'o', 'd' )
#define
FOURCC
_0xa9PRD VLC_FOURCC( 0xa9, 'P', 'R', 'D' )
#define
FOURCC
_0xa9grp VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
#define
FOURCC
_0xa9lyr VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
#define
FOURCC
_chpl VLC_FOURCC( 'c', 'h', 'p', 'l' )
#define
FOURCC
_WLOC VLC_FOURCC( 'W', 'L', 'O', 'C' )
#define
FOURCC
_meta VLC_FOURCC( 'm', 'e', 't', 'a' )
#define
FOURCC
_ilst VLC_FOURCC( 'i', 'l', 's', 't' )
#define
FOURCC
_chap VLC_FOURCC( 'c', 'h', 'a', 'p' )
#define
ATOM
_uuid VLC_FOURCC( 'u', 'u', 'i', 'd' )
#define
ATOM
_ftyp VLC_FOURCC( 'f', 't', 'y', 'p' )
#define
ATOM
_moov VLC_FOURCC( 'm', 'o', 'o', 'v' )
#define
ATOM
_foov VLC_FOURCC( 'f', 'o', 'o', 'v' )
#define
ATOM
_cmov VLC_FOURCC( 'c', 'm', 'o', 'v' )
#define
ATOM
_dcom VLC_FOURCC( 'd', 'c', 'o', 'm' )
#define
ATOM
_cmvd VLC_FOURCC( 'c', 'm', 'v', 'd' )
#define
ATOM
_moof VLC_FOURCC( 'm', 'o', 'o', 'f' )
#define
ATOM
_mdat VLC_FOURCC( 'm', 'd', 'a', 't' )
#define
ATOM
_skip VLC_FOURCC( 's', 'k', 'i', 'p' )
#define
ATOM
_free VLC_FOURCC( 'f', 'r', 'e', 'e' )
#define
ATOM
_udta VLC_FOURCC( 'u', 'd', 't', 'a' )
#define
ATOM
_wide VLC_FOURCC( 'w', 'i', 'd', 'e' )
#define
ATOM
_trak VLC_FOURCC( 't', 'r', 'a', 'k' )
#define
ATOM
_mvhd VLC_FOURCC( 'm', 'v', 'h', 'd' )
#define
ATOM
_tkhd VLC_FOURCC( 't', 'k', 'h', 'd' )
#define
ATOM
_tref VLC_FOURCC( 't', 'r', 'e', 'f' )
#define
ATOM
_mdia VLC_FOURCC( 'm', 'd', 'i', 'a' )
#define
ATOM
_mdhd VLC_FOURCC( 'm', 'd', 'h', 'd' )
#define
ATOM
_hdlr VLC_FOURCC( 'h', 'd', 'l', 'r' )
#define
ATOM
_minf VLC_FOURCC( 'm', 'i', 'n', 'f' )
#define
ATOM
_vmhd VLC_FOURCC( 'v', 'm', 'h', 'd' )
#define
ATOM
_smhd VLC_FOURCC( 's', 'm', 'h', 'd' )
#define
ATOM
_hmhd VLC_FOURCC( 'h', 'm', 'h', 'd' )
#define
ATOM
_dinf VLC_FOURCC( 'd', 'i', 'n', 'f' )
#define
ATOM
_url VLC_FOURCC( 'u', 'r', 'l', ' ' )
#define
ATOM
_urn VLC_FOURCC( 'u', 'r', 'n', ' ' )
#define
ATOM
_dref VLC_FOURCC( 'd', 'r', 'e', 'f' )
#define
ATOM
_stbl VLC_FOURCC( 's', 't', 'b', 'l' )
#define
ATOM
_stts VLC_FOURCC( 's', 't', 't', 's' )
#define
ATOM
_ctts VLC_FOURCC( 'c', 't', 't', 's' )
#define
ATOM
_stsd VLC_FOURCC( 's', 't', 's', 'd' )
#define
ATOM
_stsz VLC_FOURCC( 's', 't', 's', 'z' )
#define
ATOM
_stz2 VLC_FOURCC( 's', 't', 'z', '2' )
#define
ATOM
_stsc VLC_FOURCC( 's', 't', 's', 'c' )
#define
ATOM
_stco VLC_FOURCC( 's', 't', 'c', 'o' )
#define
ATOM
_co64 VLC_FOURCC( 'c', 'o', '6', '4' )
#define
ATOM
_stss VLC_FOURCC( 's', 't', 's', 's' )
#define
ATOM
_stsh VLC_FOURCC( 's', 't', 's', 'h' )
#define
ATOM
_stdp VLC_FOURCC( 's', 't', 'd', 'p' )
#define
ATOM
_padb VLC_FOURCC( 'p', 'a', 'd', 'b' )
#define
ATOM
_edts VLC_FOURCC( 'e', 'd', 't', 's' )
#define
ATOM
_elst VLC_FOURCC( 'e', 'l', 's', 't' )
#define
ATOM
_mvex VLC_FOURCC( 'm', 'v', 'e', 'x' )
#define
ATOM
_trex VLC_FOURCC( 't', 'r', 'e', 'x' )
#define
ATOM
_mfhd VLC_FOURCC( 'm', 'f', 'h', 'd' )
#define
ATOM
_traf VLC_FOURCC( 't', 'r', 'a', 'f' )
#define
ATOM
_tfhd VLC_FOURCC( 't', 'f', 'h', 'd' )
#define
ATOM
_trun VLC_FOURCC( 't', 'r', 'u', 'n' )
#define
ATOM
_cprt VLC_FOURCC( 'c', 'p', 'r', 't' )
#define
ATOM
_iods VLC_FOURCC( 'i', 'o', 'd', 's' )
#define
ATOM
_nmhd VLC_FOURCC( 'n', 'm', 'h', 'd' )
#define
ATOM
_mp2v VLC_FOURCC( 'm', 'p', '2', 'v' )
#define
ATOM
_mp4v VLC_FOURCC( 'm', 'p', '4', 'v' )
#define
ATOM
_mp4a VLC_FOURCC( 'm', 'p', '4', 'a' )
#define
ATOM
_mp4s VLC_FOURCC( 'm', 'p', '4', 's' )
#define
ATOM
_vide VLC_FOURCC( 'v', 'i', 'd', 'e' )
#define
ATOM
_soun VLC_FOURCC( 's', 'o', 'u', 'n' )
#define
ATOM
_hint VLC_FOURCC( 'h', 'i', 'n', 't' )
#define
ATOM
_hdv2 VLC_FOURCC( 'h', 'd', 'v', '2' )
#define
ATOM
_dpnd VLC_FOURCC( 'd', 'p', 'n', 'd' )
#define
ATOM
_ipir VLC_FOURCC( 'i', 'p', 'i', 'r' )
#define
ATOM
_mpod VLC_FOURCC( 'm', 'p', 'o', 'd' )
#define
ATOM
_hnti VLC_FOURCC( 'h', 'n', 't', 'i' )
#define
ATOM
_rtp VLC_FOURCC( 'r', 't', 'p', ' ' )
#define
ATOM
_isom VLC_FOURCC( 'i', 's', 'o', 'm' )
#define
ATOM
_3gp4 VLC_FOURCC( '3', 'g', 'p', '4' )
#define
ATOM
_esds VLC_FOURCC( 'e', 's', 'd', 's' )
#define
ATOM
__mp3 VLC_FOURCC( '.', 'm', 'p', '3' )
#define
ATOM
_ms02 VLC_FOURCC( 'm', 's', 0x0, 0x02 )
#define
ATOM
_ms11 VLC_FOURCC( 'm', 's', 0x0, 0x11 )
#define
ATOM
_ms55 VLC_FOURCC( 'm', 's', 0x0, 0x55 )
#define
ATOM
_twos VLC_FOURCC( 't', 'w', 'o', 's' )
#define
ATOM
_sowt VLC_FOURCC( 's', 'o', 'w', 't' )
#define
ATOM
_QDMC VLC_FOURCC( 'Q', 'D', 'M', 'C' )
#define
ATOM
_QDM2 VLC_FOURCC( 'Q', 'D', 'M', '2' )
#define
ATOM
_ima4 VLC_FOURCC( 'i', 'm', 'a', '4' )
#define
ATOM
_IMA4 VLC_FOURCC( 'I', 'M', 'A', '4' )
#define
ATOM
_dvi VLC_FOURCC( 'd', 'v', 'i', ' ' )
#define
ATOM
_MAC3 VLC_FOURCC( 'M', 'A', 'C', '3' )
#define
ATOM
_MAC6 VLC_FOURCC( 'M', 'A', 'C', '6' )
#define
ATOM
_alaw VLC_FOURCC( 'a', 'l', 'a', 'w' )
#define
ATOM
_ulaw VLC_FOURCC( 'u', 'l', 'a', 'w' )
#define
ATOM
_Qclp VLC_FOURCC( 'Q', 'c', 'l', 'p' )
#define
ATOM
_samr VLC_FOURCC( 's', 'a', 'm', 'r' )
#define
ATOM
_sawb VLC_FOURCC( 's', 'a', 'w', 'b' )
#define
ATOM
_OggS VLC_FOURCC( 'O', 'g', 'g', 'S' )
#define
ATOM
_alac VLC_FOURCC( 'a', 'l', 'a', 'c' )
#define
ATOM
_dac3 VLC_FOURCC( 'd', 'a', 'c', '3' )
#define
ATOM
_dec3 VLC_FOURCC( 'd', 'e', 'c', '3' )
#define
ATOM
_enda VLC_FOURCC( 'e', 'n', 'd', 'a' )
#define
ATOM
_gnre VLC_FOURCC( 'g', 'n', 'r', 'e' )
#define
ATOM
_trkn VLC_FOURCC( 't', 'r', 'k', 'n' )
#define
ATOM
_zlib VLC_FOURCC( 'z', 'l', 'i', 'b' )
#define
ATOM
_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' )
#define
ATOM
_SVQ3 VLC_FOURCC( 'S', 'V', 'Q', '3' )
#define
ATOM
_ZyGo VLC_FOURCC( 'Z', 'y', 'G', 'o' )
#define
ATOM
_3IV1 VLC_FOURCC( '3', 'I', 'V', '1' )
#define
ATOM
_3iv1 VLC_FOURCC( '3', 'i', 'v', '1' )
#define
ATOM
_3IV2 VLC_FOURCC( '3', 'I', 'V', '2' )
#define
ATOM
_3iv2 VLC_FOURCC( '3', 'i', 'v', '2' )
#define
ATOM
_3IVD VLC_FOURCC( '3', 'I', 'V', 'D' )
#define
ATOM
_3ivd VLC_FOURCC( '3', 'i', 'v', 'd' )
#define
ATOM
_3VID VLC_FOURCC( '3', 'V', 'I', 'D' )
#define
ATOM
_3vid VLC_FOURCC( '3', 'v', 'i', 'd' )
#define
ATOM
_h263 VLC_FOURCC( 'h', '2', '6', '3' )
#define
ATOM
_s263 VLC_FOURCC( 's', '2', '6', '3' )
#define
ATOM
_DIVX VLC_FOURCC( 'D', 'I', 'V', 'X' )
#define
ATOM
_XVID VLC_FOURCC( 'X', 'V', 'I', 'D' )
#define
ATOM
_cvid VLC_FOURCC( 'c', 'v', 'i', 'd' )
#define
ATOM
_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' )
#define
ATOM
_mjpb VLC_FOURCC( 'm', 'j', 'q', 't' )
#define
ATOM
_mjqt VLC_FOURCC( 'm', 'j', 'h', 't' )
#define
ATOM
_mjht VLC_FOURCC( 'm', 'j', 'p', 'b' )
#define
ATOM
_VP31 VLC_FOURCC( 'V', 'P', '3', '1' )
#define
ATOM
_vp31 VLC_FOURCC( 'v', 'p', '3', '1' )
#define
ATOM
_h264 VLC_FOURCC( 'h', '2', '6', '4' )
#define
ATOM
_qdrw VLC_FOURCC( 'q', 'd', 'r', 'w' )
#define
ATOM
_avc1 VLC_FOURCC( 'a', 'v', 'c', '1' )
#define
ATOM
_avcC VLC_FOURCC( 'a', 'v', 'c', 'C' )
#define
ATOM
_m4ds VLC_FOURCC( 'm', '4', 'd', 's' )
#define
ATOM
_dvc VLC_FOURCC( 'd', 'v', 'c', ' ' )
#define
ATOM
_dvp VLC_FOURCC( 'd', 'v', 'p', ' ' )
#define
ATOM
_dv5n VLC_FOURCC( 'd', 'v', '5', 'n' )
#define
ATOM
_dv5p VLC_FOURCC( 'd', 'v', '5', 'p' )
#define
ATOM
_raw VLC_FOURCC( 'r', 'a', 'w', ' ' )
#define
ATOM
_jpeg VLC_FOURCC( 'j', 'p', 'e', 'g' )
#define
ATOM
_yv12 VLC_FOURCC( 'y', 'v', '1', '2' )
#define
ATOM
_yuv2 VLC_FOURCC( 'y', 'u', 'v', '2' )
#define
ATOM
_rmra VLC_FOURCC( 'r', 'm', 'r', 'a' )
#define
ATOM
_rmda VLC_FOURCC( 'r', 'm', 'd', 'a' )
#define
ATOM
_rdrf VLC_FOURCC( 'r', 'd', 'r', 'f' )
#define
ATOM
_rmdr VLC_FOURCC( 'r', 'm', 'd', 'r' )
#define
ATOM
_rmvc VLC_FOURCC( 'r', 'm', 'v', 'c' )
#define
ATOM
_rmcd VLC_FOURCC( 'r', 'm', 'c', 'd' )
#define
ATOM
_rmqu VLC_FOURCC( 'r', 'm', 'q', 'u' )
#define
ATOM
_alis VLC_FOURCC( 'a', 'l', 'i', 's' )
#define
ATOM
_gmhd VLC_FOURCC( 'g', 'm', 'h', 'd' )
#define
ATOM
_wave VLC_FOURCC( 'w', 'a', 'v', 'e' )
#define
ATOM
_drms VLC_FOURCC( 'd', 'r', 'm', 's' )
#define
ATOM
_sinf VLC_FOURCC( 's', 'i', 'n', 'f' )
#define
ATOM
_schi VLC_FOURCC( 's', 'c', 'h', 'i' )
#define
ATOM
_user VLC_FOURCC( 'u', 's', 'e', 'r' )
#define
ATOM
_key VLC_FOURCC( 'k', 'e', 'y', ' ' )
#define
ATOM
_iviv VLC_FOURCC( 'i', 'v', 'i', 'v' )
#define
ATOM
_name VLC_FOURCC( 'n', 'a', 'm', 'e' )
#define
ATOM
_priv VLC_FOURCC( 'p', 'r', 'i', 'v' )
#define
ATOM
_drmi VLC_FOURCC( 'd', 'r', 'm', 'i' )
#define
ATOM
_frma VLC_FOURCC( 'f', 'r', 'm', 'a' )
#define
ATOM
_skcr VLC_FOURCC( 's', 'k', 'c', 'r' )
#define
ATOM
_text VLC_FOURCC( 't', 'e', 'x', 't' )
#define
ATOM
_tx3g VLC_FOURCC( 't', 'x', '3', 'g' )
#define
ATOM
_subp VLC_FOURCC( 's', 'u', 'b', 'p' )
#define
ATOM
_sbtl VLC_FOURCC( 's', 'b', 't', 'l' )
#define
ATOM
_0xa9nam VLC_FOURCC( 0xa9, 'n', 'a', 'm' )
#define
ATOM
_0xa9aut VLC_FOURCC( 0xa9, 'a', 'u', 't' )
#define
ATOM
_0xa9cpy VLC_FOURCC( 0xa9, 'c', 'p', 'y' )
#define
ATOM
_0xa9inf VLC_FOURCC( 0xa9, 'i', 'n', 'f' )
#define
ATOM
_0xa9ART VLC_FOURCC( 0xa9, 'A', 'R', 'T' )
#define
ATOM
_0xa9des VLC_FOURCC( 0xa9, 'd', 'e', 's' )
#define
ATOM
_0xa9dir VLC_FOURCC( 0xa9, 'd', 'i', 'r' )
#define
ATOM
_0xa9cmt VLC_FOURCC( 0xa9, 'c', 'm', 't' )
#define
ATOM
_0xa9req VLC_FOURCC( 0xa9, 'r', 'e', 'q' )
#define
ATOM
_0xa9day VLC_FOURCC( 0xa9, 'd', 'a', 'y' )
#define
ATOM
_0xa9fmt VLC_FOURCC( 0xa9, 'f', 'm', 't' )
#define
ATOM
_0xa9prd VLC_FOURCC( 0xa9, 'p', 'r', 'd' )
#define
ATOM
_0xa9prf VLC_FOURCC( 0xa9, 'p', 'r', 'f' )
#define
ATOM
_0xa9src VLC_FOURCC( 0xa9, 's', 'r', 'c' )
#define
ATOM
_0xa9alb VLC_FOURCC( 0xa9, 'a', 'l', 'b' )
#define
ATOM
_0xa9dis VLC_FOURCC( 0xa9, 'd', 'i', 's' )
#define
ATOM
_0xa9enc VLC_FOURCC( 0xa9, 'e', 'n', 'c' )
#define
ATOM
_0xa9trk VLC_FOURCC( 0xa9, 't', 'r', 'k' )
#define
ATOM
_0xa9url VLC_FOURCC( 0xa9, 'u', 'r', 'l' )
#define
ATOM
_0xa9dsa VLC_FOURCC( 0xa9, 'd', 's', 'a' )
#define
ATOM
_0xa9hst VLC_FOURCC( 0xa9, 'h', 's', 't' )
#define
ATOM
_0xa9ope VLC_FOURCC( 0xa9, 'o', 'p', 'e' )
#define
ATOM
_0xa9wrt VLC_FOURCC( 0xa9, 'w', 'r', 't' )
#define
ATOM
_0xa9com VLC_FOURCC( 0xa9, 'c', 'o', 'm' )
#define
ATOM
_0xa9gen VLC_FOURCC( 0xa9, 'g', 'e', 'n' )
#define
ATOM
_0xa9too VLC_FOURCC( 0xa9, 't', 'o', 'o' )
#define
ATOM
_0xa9wrn VLC_FOURCC( 0xa9, 'w', 'r', 'n' )
#define
ATOM
_0xa9swr VLC_FOURCC( 0xa9, 's', 'w', 'r' )
#define
ATOM
_0xa9mak VLC_FOURCC( 0xa9, 'm', 'a', 'k' )
#define
ATOM
_0xa9mod VLC_FOURCC( 0xa9, 'm', 'o', 'd' )
#define
ATOM
_0xa9PRD VLC_FOURCC( 0xa9, 'P', 'R', 'D' )
#define
ATOM
_0xa9grp VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
#define
ATOM
_0xa9lyr VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
#define
ATOM
_chpl VLC_FOURCC( 'c', 'h', 'p', 'l' )
#define
ATOM
_WLOC VLC_FOURCC( 'W', 'L', 'O', 'C' )
#define
ATOM
_meta VLC_FOURCC( 'm', 'e', 't', 'a' )
#define
ATOM
_ilst VLC_FOURCC( 'i', 'l', 's', 't' )
#define
ATOM
_chap VLC_FOURCC( 'c', 'h', 'a', 'p' )
/* Do you want some debug information on all read boxes ? */
//#define MP4_VERBOSE 1
...
...
modules/demux/mp4/mp4.c
View file @
05368cee
...
...
@@ -38,7 +38,7 @@
#include "libmp4.h"
#include "drms.h"
#include "id3genres.h"
/* for
FOURCC
_gnre */
#include "id3genres.h"
/* for
ATOM
_gnre */
/*****************************************************************************
* Module descriptor
...
...
@@ -283,15 +283,15 @@ static int Open( vlc_object_t * p_this )
switch
(
VLC_FOURCC
(
p_peek
[
4
],
p_peek
[
5
],
p_peek
[
6
],
p_peek
[
7
]
)
)
{
case
FOURCC
_ftyp
:
case
FOURCC
_moov
:
case
FOURCC
_foov
:
case
FOURCC
_moof
:
case
FOURCC
_mdat
:
case
FOURCC
_udta
:
case
FOURCC
_free
:
case
FOURCC
_skip
:
case
FOURCC
_wide
:
case
ATOM
_ftyp
:
case
ATOM
_moov
:
case
ATOM
_foov
:
case
ATOM
_moof
:
case
ATOM
_mdat
:
case
ATOM
_udta
:
case
ATOM
_free
:
case
ATOM
_skip
:
case
ATOM
_wide
:
case
VLC_FOURCC
(
'p'
,
'n'
,
'o'
,
't'
):
break
;
default:
...
...
@@ -326,12 +326,12 @@ static int Open( vlc_object_t * p_this )
{
switch
(
p_ftyp
->
data
.
p_ftyp
->
i_major_brand
)
{
case
(
FOURCC
_isom
):
case
(
ATOM
_isom
):
msg_Dbg
(
p_demux
,
"ISO Media file (isom) version %d."
,
p_ftyp
->
data
.
p_ftyp
->
i_minor_version
);
break
;
case
(
FOURCC
_3gp4
):
case
(
ATOM
_3gp4
):
case
(
VLC_FOURCC
(
'3'
,
'g'
,
'p'
,
'5'
)
):
case
(
VLC_FOURCC
(
'3'
,
'g'
,
'p'
,
'6'
)
):
case
(
VLC_FOURCC
(
'3'
,
'g'
,
'p'
,
'7'
)
):
...
...
@@ -374,7 +374,7 @@ static int Open( vlc_object_t * p_this )
}
}
/* we have a free box as a moov, rename it */
p_foov
->
i_type
=
FOURCC
_moov
;
p_foov
->
i_type
=
ATOM
_moov
;
}
if
(
(
p_rmra
=
MP4_BoxGet
(
p_sys
->
p_root
,
"/moov/rmra"
)
)
)
...
...
@@ -899,41 +899,41 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
/* XXX Becarefull p_udta can have box that are not 0xa9xx */
switch
(
p_0xa9xxx
->
i_type
)
{
case
FOURCC
_0xa9nam
:
/* Full name */
case
ATOM
_0xa9nam
:
/* Full name */
SET
(
vlc_meta_SetTitle
);
break
;
case
FOURCC
_0xa9aut
:
case
ATOM
_0xa9aut
:
SET
(
vlc_meta_SetArtist
);
break
;
case
FOURCC
_0xa9ART
:
case
ATOM
_0xa9ART
:
SET
(
vlc_meta_SetArtist
);
break
;
case
FOURCC
_0xa9cpy
:
case
ATOM
_0xa9cpy
:
SET
(
vlc_meta_SetCopyright
);
break
;
case
FOURCC
_0xa9day
:
/* Creation Date */
case
ATOM
_0xa9day
:
/* Creation Date */
SET
(
vlc_meta_SetDate
);
break
;
case
FOURCC
_0xa9des
:
/* Description */
case
ATOM
_0xa9des
:
/* Description */
SET
(
vlc_meta_SetDescription
);
break
;
case
FOURCC
_0xa9gen
:
/* Genre */
case
ATOM
_0xa9gen
:
/* Genre */
SET
(
vlc_meta_SetGenre
);
break
;
case
FOURCC
_gnre
:
case
ATOM
_gnre
:
if
(
p_0xa9xxx
->
data
.
p_gnre
->
i_genre
<=
NUM_GENRES
)
vlc_meta_SetGenre
(
p_meta
,
ppsz_genres
[
p_0xa9xxx
->
data
.
p_gnre
->
i_genre
-
1
]
);
break
;
case
FOURCC
_0xa9alb
:
/* Album */
case
ATOM
_0xa9alb
:
/* Album */
SET
(
vlc_meta_SetAlbum
);
break
;
case
FOURCC
_0xa9trk
:
/* Track */
case
ATOM
_0xa9trk
:
/* Track */
SET
(
vlc_meta_SetTrackNum
);
break
;
case
FOURCC
_trkn
:
case
ATOM
_trkn
:
{
char
psz_trck
[
11
];
snprintf
(
psz_trck
,
sizeof
(
psz_trck
),
"%i"
,
...
...
@@ -941,16 +941,16 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
vlc_meta_SetTrackNum
(
p_meta
,
psz_trck
);
break
;
}
case
FOURCC
_0xa9cmt
:
/* Commment */
case
ATOM
_0xa9cmt
:
/* Commment */
SET
(
vlc_meta_SetDescription
);
break
;
case
FOURCC
_0xa9url
:
/* URL */
case
ATOM
_0xa9url
:
/* URL */
SET
(
vlc_meta_SetURL
);
break
;
case
FOURCC
_0xa9too
:
/* Encoder Tool */
case
FOURCC
_0xa9enc
:
/* Encoded By */
case
ATOM
_0xa9too
:
/* Encoder Tool */
case
ATOM
_0xa9enc
:
/* Encoded By */
SET
(
vlc_meta_SetEncodedBy
);
break
;
...
...
@@ -960,26 +960,26 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
#undef SET
static
const
struct
{
uint32_t
xa9_type
;
char
metadata
[
25
];
}
xa9typetoextrameta
[]
=
{
{
FOURCC
_0xa9wrt
,
N_
(
"Writer"
)
},
{
FOURCC
_0xa9com
,
N_
(
"Composr"
)
},
{
FOURCC
_0xa9prd
,
N_
(
"Producer"
)
},
{
FOURCC
_0xa9inf
,
N_
(
"Information"
)
},
{
FOURCC
_0xa9dir
,
N_
(
"Director"
)
},
{
FOURCC
_0xa9dis
,
N_
(
"Disclaimer"
)
},
{
FOURCC
_0xa9req
,
N_
(
"Requirements"
)
},
{
FOURCC
_0xa9fmt
,
N_
(
"Original Format"
)
},
{
FOURCC
_0xa9dsa
,
N_
(
"Display Source As"
)
},
{
FOURCC
_0xa9hst
,
N_
(
"Host Computer"
)
},
{
FOURCC
_0xa9prf
,
N_
(
"Performers"
)
},
{
FOURCC
_0xa9ope
,
N_
(
"Original Performer"
)
},
{
FOURCC
_0xa9src
,
N_
(
"Providers Source Content"
)
},
{
FOURCC
_0xa9wrn
,
N_
(
"Warning"
)
},
{
FOURCC
_0xa9swr
,
N_
(
"Software"
)
},
{
FOURCC
_0xa9lyr
,
N_
(
"Lyrics"
)
},
{
FOURCC
_0xa9mak
,
N_
(
"Make"
)
},
{
FOURCC
_0xa9mod
,
N_
(
"Model"
)
},
{
FOURCC
_0xa9PRD
,
N_
(
"Product"
)
},
{
FOURCC
_0xa9grp
,
N_
(
"Grouping"
)
},
{
ATOM
_0xa9wrt
,
N_
(
"Writer"
)
},
{
ATOM
_0xa9com
,
N_
(
"Composr"
)
},
{
ATOM
_0xa9prd
,
N_
(
"Producer"
)
},
{
ATOM
_0xa9inf
,
N_
(
"Information"
)
},
{
ATOM
_0xa9dir
,
N_
(
"Director"
)
},
{
ATOM
_0xa9dis
,
N_
(
"Disclaimer"
)
},
{
ATOM
_0xa9req
,
N_
(
"Requirements"
)
},
{
ATOM
_0xa9fmt
,
N_
(
"Original Format"
)
},
{
ATOM
_0xa9dsa
,
N_
(
"Display Source As"
)
},
{
ATOM
_0xa9hst
,
N_
(
"Host Computer"
)
},
{
ATOM
_0xa9prf
,
N_
(
"Performers"
)
},
{
ATOM
_0xa9ope
,
N_
(
"Original Performer"
)
},
{
ATOM
_0xa9src
,
N_
(
"Providers Source Content"
)
},
{
ATOM
_0xa9wrn
,
N_
(
"Warning"
)
},
{
ATOM
_0xa9swr
,
N_
(
"Software"
)
},
{
ATOM
_0xa9lyr
,
N_
(
"Lyrics"
)
},
{
ATOM
_0xa9mak
,
N_
(
"Make"
)
},
{
ATOM
_0xa9mod
,
N_
(
"Model"
)
},
{
ATOM
_0xa9PRD
,
N_
(
"Product"
)
},
{
ATOM
_0xa9grp
,
N_
(
"Grouping"
)
},
{
0
,
""
},
};
for
(
unsigned
i
=
0
;
xa9typetoextrameta
[
i
].
xa9_type
;
i
++
)
...
...
@@ -2319,7 +2319,7 @@ static void MP4_TrackCreate( demux_t *p_demux, mp4_track_t *p_track,
switch
(
p_hdlr
->
data
.
p_hdlr
->
i_handler_type
)
{
case
(
FOURCC
_soun
):
case
(
ATOM
_soun
):
if
(
!
(
p_smhd
=
MP4_BoxGet
(
p_box_trak
,
"mdia/minf/smhd"
)
)
)
{
return
;
...
...
@@ -2327,7 +2327,7 @@ static void MP4_TrackCreate( demux_t *p_demux, mp4_track_t *p_track,
p_track
->
fmt
.
i_cat
=
AUDIO_ES
;
break
;
case
(
FOURCC
_vide
):
case
(
ATOM
_vide
):
if
(
!
(
p_vmhd
=
MP4_BoxGet
(
p_box_trak
,
"mdia/minf/vmhd"
)
)
)
{
return
;
...
...
@@ -2335,10 +2335,10 @@ static void MP4_TrackCreate( demux_t *p_demux, mp4_track_t *p_track,
p_track
->
fmt
.
i_cat
=
VIDEO_ES
;
break
;
case
(
FOURCC
_text
):
case
(
FOURCC
_subp
):
case
(
FOURCC
_tx3g
):
case
(
FOURCC
_sbtl
):
case
(
ATOM
_text
):
case
(
ATOM
_subp
):
case
(
ATOM
_tx3g
):
case
(
ATOM
_sbtl
):
p_track
->
fmt
.
i_cat
=
SPU_ES
;
break
;
...
...
@@ -2409,7 +2409,7 @@ static void MP4_TrackCreate( demux_t *p_demux, mp4_track_t *p_track,
{
switch
(
p_0xa9xxx
->
i_type
)
{
case
FOURCC
_0xa9nam
:
case
ATOM
_0xa9nam
:
p_track
->
fmt
.
psz_description
=
strdup
(
p_0xa9xxx
->
data
.
p_0xa9xxx
->
psz_text
);
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment