[vlc-commits] AVI: support more extended tags
Jean-Baptiste Kempf
git at videolan.org
Mon May 21 14:02:10 CEST 2012
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Mon May 21 13:51:04 2012 +0200| [81a47a0267683dcb8ea354cdfbe6f367e7a09b1f] | committer: Jean-Baptiste Kempf
AVI: support more extended tags
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=81a47a0267683dcb8ea354cdfbe6f367e7a09b1f
---
modules/demux/avi/avi.c | 5 ++-
modules/demux/avi/libavi.c | 80 ++++++++++++++++++++++++++++++--------------
modules/demux/avi/libavi.h | 13 +++++++
3 files changed, 71 insertions(+), 27 deletions(-)
diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index 91791a0..990aa3a 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -2573,7 +2573,10 @@ static void AVI_MetaLoad( demux_t *p_demux,
AVIFOURCC_IARL, AVIFOURCC_ICMS, AVIFOURCC_ICRP, AVIFOURCC_IDIM, AVIFOURCC_IDPI,
AVIFOURCC_IENG, AVIFOURCC_IKEY, AVIFOURCC_ILGT, AVIFOURCC_IMED, AVIFOURCC_IPLT,
AVIFOURCC_IPRD, AVIFOURCC_ISBJ, AVIFOURCC_ISFT, AVIFOURCC_ISHP, AVIFOURCC_ISRC,
- AVIFOURCC_ISRF, AVIFOURCC_ITCH, AVIFOURCC_ISMP, AVIFOURCC_IDIT, 0
+ AVIFOURCC_ISRF, AVIFOURCC_ITCH, AVIFOURCC_ISMP, AVIFOURCC_IDIT, AVIFOURCC_ISGN,
+ AVIFOURCC_IWRI, AVIFOURCC_IPRO, AVIFOURCC_ICNM, AVIFOURCC_IPDS, AVIFOURCC_IEDT,
+ AVIFOURCC_ICDS, AVIFOURCC_IMUS, AVIFOURCC_ISTD, AVIFOURCC_IDST, AVIFOURCC_ICNT,
+ AVIFOURCC_ISTR, AVIFOURCC_IFRM, 0,
};
for( int i = 0; p_extra[i] != 0; i++ )
diff --git a/modules/demux/avi/libavi.c b/modules/demux/avi/libavi.c
index b86a1dd..297bfdf 100644
--- a/modules/demux/avi/libavi.c
+++ b/modules/demux/avi/libavi.c
@@ -616,32 +616,45 @@ static const struct
const char *psz_type;
} AVI_strz_type[] =
{
- { AVIFOURCC_IARL, "archive location" },
- { AVIFOURCC_IART, "artist" },
- { AVIFOURCC_ICMS, "commisioned" },
- { AVIFOURCC_ICMT, "comments" },
- { AVIFOURCC_ICOP, "copyright" },
- { AVIFOURCC_ICRD, "creation date" },
- { AVIFOURCC_ICRP, "cropped" },
- { AVIFOURCC_IDIM, "dimensions" },
- { AVIFOURCC_IDPI, "dots per inch" },
- { AVIFOURCC_IENG, "engineer" },
- { AVIFOURCC_IGNR, "genre" },
- { AVIFOURCC_IKEY, "keywords" },
- { AVIFOURCC_ILGT, "lightness" },
- { AVIFOURCC_IMED, "medium" },
- { AVIFOURCC_INAM, "name" },
- { AVIFOURCC_IPLT, "palette setting" },
- { AVIFOURCC_IPRD, "product" },
- { AVIFOURCC_ISBJ, "subject" },
- { AVIFOURCC_ISFT, "software" },
- { AVIFOURCC_ISHP, "sharpness" },
- { AVIFOURCC_ISRC, "source" },
- { AVIFOURCC_ISRF, "source form" },
- { AVIFOURCC_ITCH, "technician" },
- { AVIFOURCC_ISMP, "time code" },
- { AVIFOURCC_IDIT, "digitalization time" },
- { AVIFOURCC_strn, "stream name" },
+ { AVIFOURCC_IARL, "Archive location" },
+ { AVIFOURCC_IART, "Artist" },
+ { AVIFOURCC_ICMS, "Commisioned" },
+ { AVIFOURCC_ICMT, "Comments" },
+ { AVIFOURCC_ICOP, "Copyright" },
+ { AVIFOURCC_ICRD, "Creation date" },
+ { AVIFOURCC_ICRP, "Cropped" },
+ { AVIFOURCC_IDIM, "Dimensions" },
+ { AVIFOURCC_IDPI, "Dots per inch" },
+ { AVIFOURCC_IENG, "Engineer" },
+ { AVIFOURCC_IGNR, "Genre" },
+ { AVIFOURCC_ISGN, "Secondary Genre" },
+ { AVIFOURCC_IKEY, "Keywords" },
+ { AVIFOURCC_ILGT, "Lightness" },
+ { AVIFOURCC_IMED, "Medium" },
+ { AVIFOURCC_INAM, "Name" },
+ { AVIFOURCC_IPLT, "Palette setting" },
+ { AVIFOURCC_IPRD, "Product" },
+ { AVIFOURCC_ISBJ, "Subject" },
+ { AVIFOURCC_ISFT, "Software" },
+ { AVIFOURCC_ISHP, "Sharpness" },
+ { AVIFOURCC_ISRC, "Source" },
+ { AVIFOURCC_ISRF, "Source form" },
+ { AVIFOURCC_ITCH, "Technician" },
+ { AVIFOURCC_ISMP, "Time code" },
+ { AVIFOURCC_IDIT, "Digitalization time" },
+ { AVIFOURCC_IWRI, "Writer" },
+ { AVIFOURCC_IPRO, "Producer" },
+ { AVIFOURCC_ICNM, "Cinematographer" },
+ { AVIFOURCC_IPDS, "Production designer" },
+ { AVIFOURCC_IEDT, "Editor" },
+ { AVIFOURCC_ICDS, "Costume designer" },
+ { AVIFOURCC_IMUS, "Music" },
+ { AVIFOURCC_ISTD, "Production studio" },
+ { AVIFOURCC_IDST, "Distributor" },
+ { AVIFOURCC_ICNT, "Country" },
+ { AVIFOURCC_ISTR, "Starring" },
+ { AVIFOURCC_IFRM, "Total number of parts" },
+ { AVIFOURCC_strn, "Stream name" },
{ 0, "???" }
};
static int AVI_ChunkRead_strz( stream_t *s, avi_chunk_t *p_chk )
@@ -720,6 +733,7 @@ static const struct
{ AVIFOURCC_IDPI, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IENG, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IGNR, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ISGN, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IKEY, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_ILGT, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IMED, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
@@ -738,6 +752,20 @@ static const struct
{ AVIFOURCC_IRTD, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IWEB, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ AVIFOURCC_IPRT, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IWRI, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IPRO, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ICNM, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IPDS, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IEDT, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ICDS, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IMUS, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ISTD, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IDST, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ICNT, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_ISTR, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+ { AVIFOURCC_IFRM, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
+
+
{ AVIFOURCC_strn, AVI_ChunkRead_strz, AVI_ChunkFree_strz },
{ 0, NULL, NULL }
};
diff --git a/modules/demux/avi/libavi.h b/modules/demux/avi/libavi.h
index 38fe2c8..e659daa 100644
--- a/modules/demux/avi/libavi.h
+++ b/modules/demux/avi/libavi.h
@@ -306,6 +306,7 @@ void AVI_ChunkFreeRoot( stream_t *, avi_chunk_t *p_chk );
#define AVIFOURCC_IDPI VLC_FOURCC('I','D','P','I')
#define AVIFOURCC_IENG VLC_FOURCC('I','E','N','G')
#define AVIFOURCC_IGNR VLC_FOURCC('I','G','N','R')
+#define AVIFOURCC_ISGN VLC_FOURCC('I','S','G','N')
#define AVIFOURCC_IKEY VLC_FOURCC('I','K','E','Y')
#define AVIFOURCC_ILGT VLC_FOURCC('I','L','G','T')
#define AVIFOURCC_IMED VLC_FOURCC('I','M','E','D')
@@ -324,6 +325,18 @@ void AVI_ChunkFreeRoot( stream_t *, avi_chunk_t *p_chk );
#define AVIFOURCC_IRTD VLC_FOURCC('I','R','T','D')
#define AVIFOURCC_IWEB VLC_FOURCC('I','W','E','B')
#define AVIFOURCC_IPRT VLC_FOURCC('I','P','R','T')
+#define AVIFOURCC_IWRI VLC_FOURCC('I','W','R','I')
+#define AVIFOURCC_IPRO VLC_FOURCC('I','P','R','O')
+#define AVIFOURCC_ICNM VLC_FOURCC('I','C','N','M')
+#define AVIFOURCC_IPDS VLC_FOURCC('I','P','D','S')
+#define AVIFOURCC_IEDT VLC_FOURCC('I','E','D','T')
+#define AVIFOURCC_ICDS VLC_FOURCC('I','C','D','S')
+#define AVIFOURCC_IMUS VLC_FOURCC('I','M','U','S')
+#define AVIFOURCC_ISTD VLC_FOURCC('I','S','T','D')
+#define AVIFOURCC_IDST VLC_FOURCC('I','D','S','T')
+#define AVIFOURCC_ICNT VLC_FOURCC('I','C','N','T')
+#define AVIFOURCC_ISTR VLC_FOURCC('I','S','T','R')
+#define AVIFOURCC_IFRM VLC_FOURCC('I','F','R','M')
#define AVITWOCC_wb VLC_TWOCC('w','b')
More information about the vlc-commits
mailing list