'Try to find out with brute force if the mpeg is interlaced or not.
Search for the Sequence_Extension in the extension header (01B5)'

def progressive(self, file):

    file.seek(0)
    buffer = ''
    count = 0
    while 1:
        if (len(buffer) < 1000):
            count += 1
            if (count > 1000):
                break
            buffer += file.read(1024)
        if (len(buffer) < 1000):
            break
        pos = buffer.find('\x00\x00\x01\xb5')
        if ((pos == (-1)) or ((len(buffer) - pos) < 5)):
            buffer = buffer[(-10):]
            continue
        ext = (ord(buffer[(pos + 4)]) >> 4)
        if (ext == 8):
            pass
        elif (ext == 1):
            if ((ord(buffer[(pos + 5)]) >> 3) & 1):
                self._set('progressive', True)
            else:
                self._set('interlaced', True)
            return True
        else:
            log.debug((u'ext:    %r' % ext))
        buffer = buffer[(pos + 4):]
    return False
