[FFmpeg-devel] [PATCH] Indeo5 decoder

Maxim max_pole
Thu Apr 2 11:40:49 CEST 2009

Michael Niedermayer schrieb:
> On Wed, Apr 01, 2009 at 02:43:04AM +0200, Maxim wrote:
>> Diego Biurrun schrieb:
>>> Have you checked this works standalone, i.e. there are no other
>>> dependencies?
>>> Try disabling all decoders and encoders and just enabling indeo5 please.


> useless & [0]
> indeo5patch.txt:676:+                band->dequant_intra = &deq4x4_intra[0][0];
> indeo5patch.txt:677:+                band->dequant_inter = &deq4x4_inter[0][0];

changing it to

band->dequant_intra = deq4x4_intra;

causes the following compiler's message:
warning: assignment from incompatible pointer type

> indeo5patch.txt:1035:+    av_freep(&planes[0].buf1);
> indeo5patch.txt:1036:+    av_freep(&planes[0].buf2);

Hmm, shouldn't av_freep receive a POINTER to a POINTER as it's declared
in its prototype? Will then the removing of the "&" lead to a wrong
program behavior?

> missing const?
> indeo5patch.txt:1248:+    int32_t *src, *dst, tmp[64];
> indeo5patch.txt:1295:+    int32_t *src, *dst, tmp[16];

Yes, this is abit complicated! The src pointer should be declared as a
pointer to a const data in fact. But due to the given design of the
transform it cannot be made so because both IVI_IREFLECT and
IVI_SLANT_BFLY make changes to their operands. I need to redesign the
whole transform in order to make the src const. Will it worth it?



More information about the ffmpeg-devel mailing list