Mercurial > libavcodec.hg
comparison mjpegdec.c @ 7931:fd6c05a225aa libavcodec
Simplify pix_fmt_id instead of listing a subset of non-simplified ones.
author | michael |
---|---|
date | Sat, 27 Sep 2008 01:59:50 +0000 |
parents | fae5e74eef1b |
children | 7729da3e4866 |
comparison
equal
deleted
inserted
replaced
7930:fae5e74eef1b | 7931:fd6c05a225aa |
---|---|
287 pix_fmt_id = (s->h_count[0] << 28) | (s->v_count[0] << 24) | | 287 pix_fmt_id = (s->h_count[0] << 28) | (s->v_count[0] << 24) | |
288 (s->h_count[1] << 20) | (s->v_count[1] << 16) | | 288 (s->h_count[1] << 20) | (s->v_count[1] << 16) | |
289 (s->h_count[2] << 12) | (s->v_count[2] << 8) | | 289 (s->h_count[2] << 12) | (s->v_count[2] << 8) | |
290 (s->h_count[3] << 4) | s->v_count[3]; | 290 (s->h_count[3] << 4) | s->v_count[3]; |
291 av_log(s->avctx, AV_LOG_DEBUG, "pix fmt id %x\n", pix_fmt_id); | 291 av_log(s->avctx, AV_LOG_DEBUG, "pix fmt id %x\n", pix_fmt_id); |
292 if(!(pix_fmt_id & 0x10101010)) | |
293 pix_fmt_id-= (pix_fmt_id & 0xF0F0F0F0)>>1; | |
294 if(!(pix_fmt_id & 0x01010101)) | |
295 pix_fmt_id-= (pix_fmt_id & 0x0F0F0F0F)>>1; | |
296 | |
292 switch(pix_fmt_id){ | 297 switch(pix_fmt_id){ |
293 case 0x22222200: | |
294 case 0x11111100: | 298 case 0x11111100: |
295 if(s->rgb){ | 299 if(s->rgb){ |
296 s->avctx->pix_fmt = PIX_FMT_RGB32; | 300 s->avctx->pix_fmt = PIX_FMT_RGB32; |
297 }else if(s->nb_components==3) | 301 }else if(s->nb_components==3) |
298 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV444P : PIX_FMT_YUVJ444P; | 302 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV444P : PIX_FMT_YUVJ444P; |
304 break; | 308 break; |
305 case 0x12111100: | 309 case 0x12111100: |
306 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV440P : PIX_FMT_YUVJ440P; | 310 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV440P : PIX_FMT_YUVJ440P; |
307 break; | 311 break; |
308 case 0x21111100: | 312 case 0x21111100: |
309 case 0x22121200: | |
310 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV422P : PIX_FMT_YUVJ422P; | 313 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV422P : PIX_FMT_YUVJ422P; |
311 break; | 314 break; |
312 case 0x22111100: | 315 case 0x22111100: |
313 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV420P : PIX_FMT_YUVJ420P; | 316 s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV420P : PIX_FMT_YUVJ420P; |
314 break; | 317 break; |