[Matroska-devel] Re: DRAFT: new elements for compression/encryption

Moritz Bunkus moritz at bunkus.org
Sat Oct 18 13:51:12 CEST 2003


Hi.

> How about the "only certain frames" ? That would also encryption of only 
> some parts of a movie or 1 frame every 3, so that the user still need to 
> get a way do decrypt it and still be somehow playable. It would also 
> save some encryption time on some systems.

Not possible - or not without HUGE overhead. You cannot simply use a bit
in the block or something like that because you can have more than one
ContentEncoding element present. So you probably need something like
this for each block that you want to mark specifically:

KaxBlockGroup
\+ KaxBlockEncoding
 \+ KaxBlockEncodingOrder (references the ContentEncoding block)
  + KaxBlockEncodingDone (wether or not encoding has been done to this
    block)

Depending on how you interpret the lack of such a KaxBlockEncoding
element in a BlockGroup read from disc you'll have more or less overhead
- but it'll be huge. (If no KaxBlockEncoding element is present then the
block has been encoded - or has it not?)

Let's keep this simple and not introduce this ability. It's a 'maybe
nice to have', but I can't really imagine an useful application for it.

> I propose a bitfield for these values :
> bit 0 : track's private data
> bit 1 : frames marked as such (we need to use something in the frame, 
> probably a bit in the frame header)
> bit 2 : all frames

What if both bit 1 and 2 are set? 2 has precedence over 1 I suppose.

> I was thinking about adding a Bitfield EBML type someday. Maybe we could 
> do it now.

If you can do it fast, then I'm fine with it, but I want to get this
done sooner than later.

-- 
 ==> Ciao, Mosu (Moritz Bunkus)



More information about the Matroska-devel mailing list