Mercurial > libavcodec.hg
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 ); |