comparison h263.c @ 1910:5c21b165abf6 libavcodec

ensure that the bitstream buffers for encoding partitioned frames are aligned
author michael
date Fri, 26 Mar 2004 21:58:55 +0000
parents ef87d53ca87a
children 351e996f29d9
comparison
equal deleted inserted replaced
1909:559e92baf533 1910:5c21b165abf6
2994 void ff_mpeg4_init_partitions(MpegEncContext *s) 2994 void ff_mpeg4_init_partitions(MpegEncContext *s)
2995 { 2995 {
2996 uint8_t *start= pbBufPtr(&s->pb); 2996 uint8_t *start= pbBufPtr(&s->pb);
2997 uint8_t *end= s->pb.buf_end; 2997 uint8_t *end= s->pb.buf_end;
2998 int size= end - start; 2998 int size= end - start;
2999 int pb_size = size/3; 2999 int pb_size = (size/3)&(~1);
3000 int pb2_size= size/3; 3000 int tex_size= size - 2*pb_size;
3001 int tex_size= size - pb_size - pb2_size;
3002 3001
3003 set_put_bits_buffer_size(&s->pb, pb_size); 3002 set_put_bits_buffer_size(&s->pb, pb_size);
3004 init_put_bits(&s->tex_pb, start + pb_size , tex_size); 3003 init_put_bits(&s->tex_pb, start + pb_size , tex_size);
3005 init_put_bits(&s->pb2 , start + pb_size + tex_size, pb2_size); 3004 init_put_bits(&s->pb2 , start + pb_size + tex_size, pb_size);
3006 } 3005 }
3007 3006
3008 void ff_mpeg4_merge_partitions(MpegEncContext *s) 3007 void ff_mpeg4_merge_partitions(MpegEncContext *s)
3009 { 3008 {
3010 const int pb2_len = put_bits_count(&s->pb2 ); 3009 const int pb2_len = put_bits_count(&s->pb2 );