[FFmpeg-devel] [PATCH] MOV: support stz2 "Compact Sample Size Box"

Michael Niedermayer michaelni
Tue Mar 3 15:27:50 CET 2009


On Tue, Mar 03, 2009 at 02:45:15AM -0500, Alex Converse wrote:
[...]
> @@ -1143,8 +1150,33 @@ static int mov_read_stsz(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
>      if (!sc->sample_sizes)
>          return AVERROR(ENOMEM);
>  
> +    switch(field_size) {
> +    case 4:
> +        for(i=0; i<entries-1; i+=2) {
> +            int field = get_byte(pb);
> +            sc->sample_sizes[i  ] = field >> 4;
> +            sc->sample_sizes[i+1] = field & 0xF;
> +        }
> +        if(entries&1) {
> +            sc->sample_sizes[entries-1] = get_byte(pb) >> 4;
> +        }
> +        break;
> +    case 8:
> +        for(i=0; i<entries; i++)
> +            sc->sample_sizes[i] = get_byte(pb);
> +        break;
> +    case 16:
> +        for(i=0; i<entries; i++)
> +            sc->sample_sizes[i] = get_be16(pb);
> +        break;
> +    case 32:
>      for(i=0; i<entries; i++)
>          sc->sample_sizes[i] = get_be32(pb);
> +        break;
> +    default:
> +        av_log(c->fc, AV_LOG_ERROR, "Invalid sample field size %d\n", field_size);
> +        return -1;
> +    }

I think that should be using GetBitContext

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090303/e5f92bf8/attachment.pgp>



More information about the ffmpeg-devel mailing list