[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