[FFmpeg-devel] Question: Indeo frame types

Maxim max_pole
Sun May 24 20:46:21 CEST 2009


[...]
>> I would say:
>> 0 - I-Frame
>> 1 - P-Frame
>> 3 - droppable P-Frame
>>     
>
> Well... above looks to me like 2 would then be a non-dropable B-frame
> type, which sounds illogical.
> Or frame type 3 is not really that dropable, because it would force you
> to also drop the B-frame.
> Might be though, you'd have the option of droping type 2, or type 2 and
> one type 3 or type 2 and both type 3.
>   

I cannot say anything more regarding the frame type 2 because it
requires additional experiments. I just observed that this frame type
(2) only occurs if the scalability mode is enabled while the frame type
of 3 is always present if a video has > 15 fps...

I tried to skip frames of the type 3 and the samples are still decodable
(at reduced frame rate)...

> I don't like that I don't see any logic in their frame type numbering
> like that though

me too...
The reason why I think that the frame type of 2 should be bi-directional
one is based on the observation I made on indeo4: it has the same P and
"droppable" P frames as well as the bidirectional frames mode. All
indeo4 decoder libs contain some frame averaging code while indeo5 for
xanim and Mac don't have anything like that!
Indeo4 has five frame types: 0 (key), 2 and 4 (P and "droppable" P), 3
(bi-directional) and 6 (null)...
Indeo5 has the same types numbered differently: 0 (key), 1 and 3 (P and
"droppable" P), 2 (unknown) and 4 (null)...

That's why I think the type 2 must be a B-Frame. Otherwise it doesn't
make any sense to have an additional frame type, right?
But the indeo5 decoders for xanim and Mac cannot perform averaging
(because the code for that isn't present in the libs) I assume that
these just drop the frames of the type 2...
But I need to do some research, especially by looking at how the xanim
and Mac decoders handle it...

Thanks
Maxim



More information about the ffmpeg-devel mailing list