00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #if !defined(_PG_DECODE_H_)
00021 #define _PG_DECODE_H_
00022
00023 #include "pg.h"
00024
00025 #include <util/attributes.h>
00026 #include <util/bits.h>
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032
00033
00034
00035
00036 BD_PRIVATE void pg_decode_video_descriptor(BITBUFFER *bb, BD_PG_VIDEO_DESCRIPTOR *p);
00037 BD_PRIVATE void pg_decode_composition_descriptor(BITBUFFER *bb, BD_PG_COMPOSITION_DESCRIPTOR *p);
00038 BD_PRIVATE void pg_decode_sequence_descriptor(BITBUFFER *bb, BD_PG_SEQUENCE_DESCRIPTOR *p);
00039 BD_PRIVATE void pg_decode_window(BITBUFFER *bb, BD_PG_WINDOW *p);
00040 BD_PRIVATE void pg_decode_composition_object(BITBUFFER *bb, BD_PG_COMPOSITION_OBJECT *p);
00041
00042
00043
00044
00045
00046 BD_PRIVATE int pg_decode_palette_update(BITBUFFER *bb, BD_PG_PALETTE *p);
00047 BD_PRIVATE int pg_decode_palette(BITBUFFER *bb, BD_PG_PALETTE *p);
00048 BD_PRIVATE int pg_decode_object(BITBUFFER *bb, BD_PG_OBJECT *p);
00049 BD_PRIVATE int pg_decode_composition(BITBUFFER *bb, BD_PG_COMPOSITION *p);
00050 BD_PRIVATE int pg_decode_windows(BITBUFFER *bb, BD_PG_WINDOWS *p);
00051
00052
00053
00054
00055
00056 BD_PRIVATE void pg_clean_object(BD_PG_OBJECT *p);
00057 BD_PRIVATE void pg_clean_composition(BD_PG_COMPOSITION *p);
00058 BD_PRIVATE void pg_clean_windows(BD_PG_WINDOWS *p);
00059
00060 BD_PRIVATE void pg_free_palette(BD_PG_PALETTE **p);
00061 BD_PRIVATE void pg_free_object(BD_PG_OBJECT **p);
00062 BD_PRIVATE void pg_free_composition(BD_PG_COMPOSITION **p);
00063 BD_PRIVATE void pg_free_windows(BD_PG_WINDOWS **p);
00064
00065 #ifdef __cplusplus
00066 };
00067 #endif
00068
00069 #endif // _PG_DECODE_H_