comparison utils.c @ 10549:981e7720fc03 libavcodec

Allocate pictures with enough padding for jpeg. Ensure that jpeg does not use mbs that could require larger padding. This might have been exploitable.
author michael
date Fri, 20 Nov 2009 22:14:37 +0000
parents 046dcf7aa19c
children eb415f52f9f9
comparison
equal deleted inserted replaced
10548:e68792a12c31 10549:981e7720fc03
124 switch(s->pix_fmt){ 124 switch(s->pix_fmt){
125 case PIX_FMT_YUV420P: 125 case PIX_FMT_YUV420P:
126 case PIX_FMT_YUYV422: 126 case PIX_FMT_YUYV422:
127 case PIX_FMT_UYVY422: 127 case PIX_FMT_UYVY422:
128 case PIX_FMT_YUV422P: 128 case PIX_FMT_YUV422P:
129 case PIX_FMT_YUV440P:
129 case PIX_FMT_YUV444P: 130 case PIX_FMT_YUV444P:
130 case PIX_FMT_GRAY8: 131 case PIX_FMT_GRAY8:
131 case PIX_FMT_GRAY16BE: 132 case PIX_FMT_GRAY16BE:
132 case PIX_FMT_GRAY16LE: 133 case PIX_FMT_GRAY16LE:
133 case PIX_FMT_YUVJ420P: 134 case PIX_FMT_YUVJ420P:
134 case PIX_FMT_YUVJ422P: 135 case PIX_FMT_YUVJ422P:
136 case PIX_FMT_YUVJ440P:
135 case PIX_FMT_YUVJ444P: 137 case PIX_FMT_YUVJ444P:
136 case PIX_FMT_YUVA420P: 138 case PIX_FMT_YUVA420P:
137 w_align= 16; //FIXME check for non mpeg style codecs and use less alignment 139 w_align= 16; //FIXME check for non mpeg style codecs and use less alignment
138 h_align= 16; 140 h_align= 16;
139 if(s->codec_id == CODEC_ID_MPEG2VIDEO) 141 if(s->codec_id == CODEC_ID_MPEG2VIDEO || s->codec_id == CODEC_ID_MJPEG || s->codec_id == CODEC_ID_AMV || s->codec_id == CODEC_ID_THP)
140 h_align= 32; // interlaced is rounded up to 2 MBs 142 h_align= 32; // interlaced is rounded up to 2 MBs
141 break; 143 break;
142 case PIX_FMT_YUV411P: 144 case PIX_FMT_YUV411P:
143 case PIX_FMT_UYYVYY411: 145 case PIX_FMT_UYYVYY411:
144 w_align=32; 146 w_align=32;