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