[FFmpeg-soc] [soc]: r2021 - in?eac3:?ac3dec.h?ac3dec_data.c?ac3dec_data.h eac3dec.c

Bartlomiej Wolowiec bartek.wolowiec at gmail.com
Thu Mar 27 22:28:51 CET 2008


2008/3/26, Michael Niedermayer <michaelni at gmx.at>:
>  I do not like generic code full of
>  If(codecA)
>  else
>
>  The sync function should return if it has a complete frame or if (maybe) not.
>  That is
>
>  flags= FRAME_START | FRAME_END;
>
>
>  You do this in stream_type but this name is totally wrong this is not a
>  stream_type. It is not even constant for a stream. NEVER even think of using
>  a name from the a52* spec, the people who wrote it are idiots.
>  Its a flag indicating the start/end of a frame. And IMHO it should be
>  returned more directly than as a context variable but thats rather minor
>  the name is a major issue. It totally confused me until looked it up in the
>  spec.
>
>  Code should be understandable without looking things up in the specs.
>
>  Also the "stream_type" has the wrong type (should be enum) and the types used
>  in AAC-AC3 code must be generic types not *AC3 specific types in headers which
>  arent #included.

Ok, what do you think about such a plan:

1.
enum AACAC3FrameFlag{
    FRAME_COMPLETE,
    FRAME_START,
    FRAME_CONTINUATION
    };
removal of stream_type z AACAC3ParseContext, change of int
(*sync)(struct AACAC3ParseContext *hdr_info)
to
int (*sync)(struct AACAC3ParseContext *hdr_info, AACAC3FrameFlag *flag)

2.change of stream_type to frame_type

3.change of ff_aac_ac3_parse to make it react correctly to result
returned in flag.

-- 
Bartlomiej Wolowiec



More information about the FFmpeg-soc mailing list