comparison mpegvideo.c @ 4281:de525a2b41db libavcodec

ff_check_alignment to warn the user about a missaligned stack
author michael
date Thu, 07 Dec 2006 18:33:00 +0000
parents 07625477adfa
children d6f83e2f8804
comparison
equal deleted inserted replaced
4280:57dc5aabf8c0 4281:de525a2b41db
4836 } 4836 }
4837 4837
4838 static int estimate_motion_thread(AVCodecContext *c, void *arg){ 4838 static int estimate_motion_thread(AVCodecContext *c, void *arg){
4839 MpegEncContext *s= arg; 4839 MpegEncContext *s= arg;
4840 4840
4841 ff_check_alignment();
4842
4841 s->me.dia_size= s->avctx->dia_size; 4843 s->me.dia_size= s->avctx->dia_size;
4842 s->first_slice_line=1; 4844 s->first_slice_line=1;
4843 for(s->mb_y= s->start_mb_y; s->mb_y < s->end_mb_y; s->mb_y++) { 4845 for(s->mb_y= s->start_mb_y; s->mb_y < s->end_mb_y; s->mb_y++) {
4844 s->mb_x=0; //for block init below 4846 s->mb_x=0; //for block init below
4845 ff_init_block_index(s); 4847 ff_init_block_index(s);
4862 4864
4863 static int mb_var_thread(AVCodecContext *c, void *arg){ 4865 static int mb_var_thread(AVCodecContext *c, void *arg){
4864 MpegEncContext *s= arg; 4866 MpegEncContext *s= arg;
4865 int mb_x, mb_y; 4867 int mb_x, mb_y;
4866 4868
4869 ff_check_alignment();
4870
4867 for(mb_y=s->start_mb_y; mb_y < s->end_mb_y; mb_y++) { 4871 for(mb_y=s->start_mb_y; mb_y < s->end_mb_y; mb_y++) {
4868 for(mb_x=0; mb_x < s->mb_width; mb_x++) { 4872 for(mb_x=0; mb_x < s->mb_width; mb_x++) {
4869 int xx = mb_x * 16; 4873 int xx = mb_x * 16;
4870 int yy = mb_y * 16; 4874 int yy = mb_y * 16;
4871 uint8_t *pix = s->new_picture.data[0] + (yy * s->linesize) + xx; 4875 uint8_t *pix = s->new_picture.data[0] + (yy * s->linesize) + xx;
4908 uint8_t bit_buf[2][MAX_MB_BYTES]; 4912 uint8_t bit_buf[2][MAX_MB_BYTES];
4909 uint8_t bit_buf2[2][MAX_MB_BYTES]; 4913 uint8_t bit_buf2[2][MAX_MB_BYTES];
4910 uint8_t bit_buf_tex[2][MAX_MB_BYTES]; 4914 uint8_t bit_buf_tex[2][MAX_MB_BYTES];
4911 PutBitContext pb[2], pb2[2], tex_pb[2]; 4915 PutBitContext pb[2], pb2[2], tex_pb[2];
4912 //printf("%d->%d\n", s->resync_mb_y, s->end_mb_y); 4916 //printf("%d->%d\n", s->resync_mb_y, s->end_mb_y);
4917
4918 ff_check_alignment();
4913 4919
4914 for(i=0; i<2; i++){ 4920 for(i=0; i<2; i++){
4915 init_put_bits(&pb [i], bit_buf [i], MAX_MB_BYTES); 4921 init_put_bits(&pb [i], bit_buf [i], MAX_MB_BYTES);
4916 init_put_bits(&pb2 [i], bit_buf2 [i], MAX_MB_BYTES); 4922 init_put_bits(&pb2 [i], bit_buf2 [i], MAX_MB_BYTES);
4917 init_put_bits(&tex_pb[i], bit_buf_tex[i], MAX_MB_BYTES); 4923 init_put_bits(&tex_pb[i], bit_buf_tex[i], MAX_MB_BYTES);