37 #define ID_8SVX MKTAG('8','S','V','X')
38 #define ID_VHDR MKTAG('V','H','D','R')
39 #define ID_ATAK MKTAG('A','T','A','K')
40 #define ID_RLSE MKTAG('R','L','S','E')
41 #define ID_CHAN MKTAG('C','H','A','N')
42 #define ID_PBM MKTAG('P','B','M',' ')
43 #define ID_ILBM MKTAG('I','L','B','M')
44 #define ID_BMHD MKTAG('B','M','H','D')
45 #define ID_CMAP MKTAG('C','M','A','P')
47 #define ID_FORM MKTAG('F','O','R','M')
48 #define ID_ANNO MKTAG('A','N','N','O')
49 #define ID_AUTH MKTAG('A','U','T','H')
50 #define ID_CHRS MKTAG('C','H','R','S')
51 #define ID_COPYRIGHT MKTAG('(','c',')',' ')
52 #define ID_CSET MKTAG('C','S','E','T')
53 #define ID_FVER MKTAG('F','V','E','R')
54 #define ID_NAME MKTAG('N','A','M','E')
55 #define ID_TEXT MKTAG('T','E','X','T')
56 #define ID_BODY MKTAG('B','O','D','Y')
57 #define ID_ANNO MKTAG('A','N','N','O')
83 const char *
const tag,
84 const unsigned data_size)
86 uint8_t *buf = ((data_size + 1) == 0) ?
NULL :
av_malloc(data_size + 1);
102 const uint8_t *d = p->
buf;
116 uint32_t chunk_id, data_size;
117 int compression = -1;
131 const char *metadata_tag =
NULL;
144 if (data_size >= 16) {
162 if (data_size < 3 || data_size > 768 || data_size % 3) {
183 if (data_size >= 11) {
187 if (data_size >= 16) {
196 metadata_tag =
"comment";
200 metadata_tag =
"artist";
204 metadata_tag =
"copyright";
208 metadata_tag =
"title";
213 if ((res =
get_metadata(s, metadata_tag, data_size)) < 0) {
227 switch(compression) {
248 switch (compression) {