33 #include <sys/types.h>
55 #define BLOCK_FLAG_DISCONTINUITY 0x0001
57 #define BLOCK_FLAG_TYPE_I 0x0002
59 #define BLOCK_FLAG_TYPE_P 0x0004
61 #define BLOCK_FLAG_TYPE_B 0x0008
63 #define BLOCK_FLAG_TYPE_PB 0x0010
65 #define BLOCK_FLAG_HEADER 0x0020
67 #define BLOCK_FLAG_END_OF_FRAME 0x0040
69 #define BLOCK_FLAG_NO_KEYFRAME 0x0080
71 #define BLOCK_FLAG_END_OF_SEQUENCE 0x0100
73 #define BLOCK_FLAG_CLOCK 0x0200
75 #define BLOCK_FLAG_SCRAMBLED 0x0400
77 #define BLOCK_FLAG_PREROLL 0x0800
79 #define BLOCK_FLAG_CORRUPTED 0x1000
81 #define BLOCK_FLAG_TOP_FIELD_FIRST 0x2000
83 #define BLOCK_FLAG_BOTTOM_FIELD_FIRST 0x4000
86 #define BLOCK_FLAG_INTERLACED_MASK \
87 (BLOCK_FLAG_TOP_FIELD_FIRST|BLOCK_FLAG_BOTTOM_FIELD_FIRST)
89 #define BLOCK_FLAG_TYPE_MASK \
90 (BLOCK_FLAG_TYPE_I|BLOCK_FLAG_TYPE_P|BLOCK_FLAG_TYPE_B|BLOCK_FLAG_TYPE_PB)
93 #define BLOCK_FLAG_CORE_PRIVATE_MASK 0x00ff0000
94 #define BLOCK_FLAG_CORE_PRIVATE_SHIFT 16
97 #define BLOCK_FLAG_PRIVATE_MASK 0xff000000
98 #define BLOCK_FLAG_PRIVATE_SHIFT 24
144 dst->i_flags = src->i_flags;
145 dst->i_nb_samples = src->i_nb_samples;
146 dst->i_dts = src->i_dts;
147 dst->i_pts = src->i_pts;
148 dst->i_length = src->i_length;
179 #define block_cleanup_push( block ) vlc_cleanup_push (block_Cleanup, block)
195 if( *pp_list == NULL )
212 **ppp_last = p_block;
215 *ppp_last = &p_last->
p_next;
231 uint8_t *p = (uint8_t*)p_data;
233 while( p_list && i_max )
235 size_t i_copy = __MIN( i_max, p_list->
i_buffer );
236 memcpy( p, p_list->
p_buffer, i_copy );
264 *pi_length = i_length;
275 if( p_list->
p_next == NULL )