VideoList 2
File format specification


Types of VideoList 2 file

There are three types of VideoList file:

  1. VideoList 1 file
    This is used by the RISC OS version of VideoList. It is to be considered obsolete.
     
  2. VideoList 2 file
    This is used by the Windows version of VideoList 2. This is deprecated as no software using it was publically released, and this format should not be used.
     
  3. VideoList 2 file, revision 2
    This is slightly extended version of the VideoList 2 file format. Must be supported.

 

File format compliance

In order to be considered VideoList 2 compatible, you must be able to read and write the VideoList 2 revision 2 file (hereafter referred to as VLF2R2).
You should not use the earlier VideoList 2 format (VLF2). Compatibility is not required as no software legitimately creates this type of file.

There is no requirement to support the earlier VideoList for RISC OS file format (VLF1). Whether you do, or not, is entirely up to you.

The VideoList file, though freely available, is only defined here. Any extensions added to the file format that are not defined in the specification available here is an unofficial extension and its effect on other software is undefined; additionally other software is entitled to reject the file as being invalid or to slice out stuff it doesn't recognise. If you have an extension, you must contact me to see about adding it to the base specification.

 

Licence conditions relating to the use of the VideoList file formats

Really simple:

  1. If you provide import, you must also provide export. Vice versa too.
     
  2. If you provide this format, you should include the "fformat.hlp" help file within your product documentation (and/or on your website); it is only 64K.
     
  3. You should only use the published file format; don't add extensions without having them approved as doing so may upset other software.
     
  4. You don't need to pay me royalties, and you can use the format in any sort of software - freeware, shareware, commerical, etc.
  5. You are required to contact me regarding your software's file format so support for it (or the parts that are compatible) may be added to VideoList 2.

 

File format description (all)

Download the complete annotated description of all VideoList file formats. Windows help file, 64K.

 

File format description (VLF2R2)

Here is a brief outline for those unable to view Windows help files.

It is very important to realise that the values given (for example, DVD = media type 7) is for VideoList 2 as supplied. Because most things are read from tables held on disc, the user could totally alter these settings. This may be addressed in a future version of the file format; for now you can either assume default the values given below or you could read the VideoList .dat files (if you have access to them).

VideoList 2 file format
(draft)
Original: March Y2K2
Revised : October Y2K4 / May Y2K5


FILE HEADER

   <byte>     Version (&02)

   <halfword> Number of videos in database

   <byte>     Flags:
                      Bit 0 : Set if a revision 2 format file.
                Bits 1 to 5 : Reserved, should be zero.
                      Bit 6 : Reserved for a future enhancement.
                      Bit 7 : FastLoad data present (unsupported).
              You should fault the loading of the data file if any of the
              flags values are unexpected. Don't just look for the flags
              that you support, ensure the rest are zero.

   <data>     64 bytes for creator identity, zero padded.

   <data>     4028 NULL bytes to pad to 4K boundary.



VIDEO ENTRY (repeats for each video)

   <string>   Video title (32 chars)

   <byte>     Flags byte 1:
                Bits 0 to 3 - Media type
                              0 - Video Home System
                              1 - Betamax, BetaSP, DigitalBeta
                              2 - 8mm, Hi8, Digital8
                              3 - Digital Video Cassette
                              4 - VideoCD (VCD)
                              5 - Super VideoCD (SVCD)
                              6 - DivX/XviD/3ivx on removable media
                              7 - Digital Versatile Disc
                              8 - Other (ciné, etc)
                      Bit 4 - Unused
                      Bit 5 - Media is read-only (DVD, VideoCD...)
                      Bit 6 - Media is hi-band (S-VHS, Hi8 etc)
                      Bit 7 - Media is prerecorded

   <byte>     Filter flag: Is 0 if not matched, 1 if matched. All other
              values reserved, is set to '0' prior to any filtering.
              (INTERNAL USE; value in file is ignored)

   <halfword> Media length (upper byte is hours, lower byte is minutes)

   <halfword> Time free on media (format as for media length)

   <halfword> Fixed identity number (media ID)

   <halfword> Index lookup number (INTERNAL USE; value in file is ignored)

   <byte>     Number of programmes currently on this media (max. 20)

   <byte>     Unused

   <word>     Reserved (VS/PVIM)

   <word>     Reserved (VS/LCOT)

   <word>     Reserved (VS/LRT)

   <word>     Reserved (VS/BN)

   <byte>     Reserved (VS/LDA)

   <3 bytes>  Reserved (VS/unused)
[header = 64 bytes]
PROGRAMME DATA (repeats 20 times, once for each programme)

   <string>   Programme title (32 chars)

   <string>   Programme details (128 chars)

   <halfword> Length (upper byte is hours, lower byte is minutes)

   <byte>     Date (day)

   <byte>     Date (month in lower 4 bits, century from 1900 in upper 4)

   <byte>     Date (year, offset from 1900)

   <byte>     Flags byte 1: Bit 0 - Locked
                            Bit 1 - Reserved
                            Bit 2 - Programme is Closed Captioned
                                    (subtitled)
                            Bit 3 - Programme recorded in Long Play
                            Bit 4 - Programme flagged as "To be watched".
                            Bit 5 - Extended data is valid
                                    (clear if not defined)
                            Bits 6 to 7 - Unused

   <word>     Genre (extended data):
                Byte 0 - Primary genre
                Byte 1 - Secondary genre
                Byte 2 - Tertiary genre
                Byte 3 - Unused

                     0 - No specific genre   1 - Action
                     2 - Adventure           3 - Adult
                     4 - Animation           5 - Comedy
                     6 - Crime               7 - Documentary
                     8 - Drama               9 - Fantasy
                    10 - Family             11 - Film noir
                    12 - Horror             13 - Kids
                    14 - Music video        15 - Musical
                    16 - Mystery            17 - Romance
                    18 - Sci-Fi             19 - Short film
                    20 - Sport              21 - Thriller
                    22 - War                23 - Western
                    24 to 255 - Undefined, can be user-altered

   <byte>     Aspect (extended data):
                Bits 0 to 2 - Aspect ratio
                              0 - 4:3 (standard - 1.33:1)
                              1 - 14:9 (1.56 fake 'widescreen')
                              2 - 16:9 / 1.85:1
                              4 - 21:9 / 2.35:1
                            5-7 - Undefined
                 Bits 3 - 7 - Reserved

   <byte>     Primary Audio mode (extended data):
                Bits 0 to 7 : 0 - None
                              1 - Linear mono
                              2 - Linear stereo
                              3 - HiFi (PCM) mono
                              4 - HiFi (PCM) stereo
                              5 - MPEG audio
                              6 - Digital mono
                              7 - Digital stereo (2.0)
                              8 - Digital surround (5.1)
                              9 - DTS
                              10- THX

   <byte>     Rating (extended):
                Bits 0 to 3 - Rating
                              0 - No rating
                              1 - U          ; Universal
                              2 - C          ; Children
                              3 - PG-U *     ; PG-U (unoff. '10')
                              4 - 12         ; Age 12 or more
                              5 - PG-12 *    ; 12, with guidance
                              6 - PG         ; Parental Guidance
                              7 - 13 *       ; 13+ (unofficial)
                              8 - 15         ; 15 or older
                              9 - 16 *       ; 16+ (unofficial)
                             10 - 18         ; 18 or older
                             11 - 21 *       ; 21+ (EU cert.)
                             12 - Uncertified
                             13 to 15 undefined
                Bits 4 to 7 - Reserved 

   <byte>     Secondary Audio mode (extended data):
                Bits 0 to 7 : 0 - None
                              1 - Linear mono
                              2 - Linear stereo
                              3 - HiFi (PCM) mono
                              4 - HiFi (PCM) stereo
                              5 - MPEG audio
                              6 - Digital mono
                              7 - Digital stereo (2.0)
                              8 - Digital surround (5.1)
                              9 - DTS
                              10- THX
                              11- Multilingual same

   <word>     IMDb identity number

   <string>   Channel (22 characters)
[each programme =  200 bytes]
[REPEAT programme data]
[all programmes = 200 bytes x 20 programmes = 4000 bytes]
   <data>     Unused, 28 bytes to pad each entry to 4092 bytes in length.

   <word>     "#!V!", to aid automatic recovery.


[REPEAT video data]
[each video = 4096 bytes]

 

Notes


Return to main index


Copyright © 2008 Richard Murray