| 125 | #define INTERNAL_BUFFER_SIZE 32 |
| 126 | |
| 127 | void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[4]){ |
| 128 | int w_align= 1; |
| 129 | int h_align= 1; |
| 130 | |
| 131 | switch(s->pix_fmt){ |
| 132 | case PIX_FMT_YUV420P: |
| 133 | case PIX_FMT_YUYV422: |
| 134 | case PIX_FMT_UYVY422: |
| 135 | case PIX_FMT_YUV422P: |
| 136 | case PIX_FMT_YUV440P: |
| 137 | case PIX_FMT_YUV444P: |
| 138 | case PIX_FMT_GRAY8: |
| 139 | case PIX_FMT_GRAY16BE: |
| 140 | case PIX_FMT_GRAY16LE: |
| 141 | case PIX_FMT_YUVJ420P: |
| 142 | case PIX_FMT_YUVJ422P: |
| 143 | case PIX_FMT_YUVJ440P: |
| 144 | case PIX_FMT_YUVJ444P: |
| 145 | case PIX_FMT_YUVA420P: |
| 146 | w_align= 16; //FIXME check for non mpeg style codecs and use less alignment |
| 147 | h_align= 16; |
| 148 | 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) |
| 149 | h_align= 32; // interlaced is rounded up to 2 MBs |
| 150 | break; |
| 151 | case PIX_FMT_YUV411P: |
| 152 | case PIX_FMT_UYYVYY411: |
| 153 | w_align=32; |
| 154 | h_align=8; |
| 155 | break; |
| 156 | case PIX_FMT_YUV410P: |
| 157 | if(s->codec_id == CODEC_ID_SVQ1){ |
| 158 | w_align=64; |
| 159 | h_align=64; |
| 160 | } |
| 161 | case PIX_FMT_RGB555: |
| 162 | if(s->codec_id == CODEC_ID_RPZA){ |
| 163 | w_align=4; |
| 164 | h_align=4; |
| 165 | } |
| 166 | case PIX_FMT_PAL8: |
| 167 | case PIX_FMT_BGR8: |
| 168 | case PIX_FMT_RGB8: |
| 169 | if(s->codec_id == CODEC_ID_SMC){ |
| 170 | w_align=4; |
| 171 | h_align=4; |
| 172 | } |
| 173 | break; |
| 174 | case PIX_FMT_BGR24: |
| 175 | if((s->codec_id == CODEC_ID_MSZH) || (s->codec_id == CODEC_ID_ZLIB)){ |
| 176 | w_align=4; |
| 177 | h_align=4; |
| 178 | } |
| 179 | break; |
| 180 | default: |
| 181 | w_align= 1; |
| 182 | h_align= 1; |
| 183 | break; |
| 184 | } |
no outgoing calls
no test coverage detected