[MPlayer-dev-eng] OpenDML Read/Write support

Tilmann Bitterberg transcode at tibit.org
Mon Mar 8 10:33:20 CET 2004


On 08.03.04, Tobias Diedrich wrote:

>Tilmann Bitterberg wrote:
>> o better interleaving algorithm from the odml indices into
>>   mplayers index
>
>That is kinda ugly too, but I don't think it is worth changing the
>internal structs for that.

Using the native indices whould not only mean changing the
internal structure but would also mean rewriting the seek/synch
routines.

>> +	// completely empty chunk, whats the purpose of that? Just delete it.
>> +	if (idx->dwChunkOffset==0 && idx->dwChunkLength==0) {
>> +	    mp_msg(MSGT_HEADER, MSGL_V,
>> +		    "AVI: ODML: Skipping emtpy chunk nr %d fcc %.4s\n", i, (char *)&idx->ckid);
>> +	    idx--;
>> +	    priv->idx_size--;
>> +	    i--;
>> +	}
>
>Empty chunks mean "repeat last frame".  They shouldn't be dropped, AFAICS
>it would cause a/v desync.

I know that empty chunks mean "repeat last frame" but this
index _entry_ is completely empty. Here is a hexdump:

00017E00   69 78 30 31  F8 7D 00 00  02 00 00 01  F5 01 00 00  ix01.}..........
00017E10   30 31 64 62  00 3C 02 00  00 00 00 00  00 00 00 00  01db.<..........
00017E20   08 00 00 00  D4 2A 00 00  00 00 00 00  00 00 00 80  .....*..........
           ^^^^^^^1st entry^^^^^^^^  ^^^^2nd entry (empty)^^^
00017E30   08 2C 00 00  7C 04 00 80  08 32 00 00  08 00 00 80  .,..|....2......
           ^^^^^^^3rd entry^^^^^^^^  ^^^^4th entry^^^^^^^^^^^

I stumbled about the 2nd one. Its offset is zero and the length
is zero as well, it has only the not-keyframe bit set. I suspect
a bug in the muxer which wrote that file (BeyondTV). And
ofcourse at offset(0)+BaseOffset(23C00) there is no chunk.

My check checks for idx->dwChunkOffset==0 &&
idx->dwChunkLength==0 and not only Length==0
So please do not remove it.

Tilmann
-- 
Sometimes transcode changes or   |    http://www.transcoding.org/
adds new features while you      |      Searchable ML-archives
are encoding.                    |  http://itdp.de/transcode-users/
            -- ThOe              |         IRCnet #transcode




More information about the MPlayer-dev-eng mailing list