Mercurial > libavcodec.hg
comparison mjpeg.c @ 903:22ee74da2cd3 libavcodec
cleanup
adding AVVideoFrame
moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
removing obsolete variables in AVCodecContext
skiping of MBs in b frames
correctly initalizing AVCodecContext
picture buffer cleanup
author | michaelni |
---|---|
date | Wed, 04 Dec 2002 10:04:03 +0000 |
parents | 07a677389920 |
children | 259f3efebef5 |
comparison
equal
deleted
inserted
replaced
902:6acc8394960d | 903:22ee74da2cd3 |
---|---|
1178 skip_bits(&s->gb, 8); /* the trailing zero-byte */ | 1178 skip_bits(&s->gb, 8); /* the trailing zero-byte */ |
1179 printf("mjpeg: JFIF header found (version: %x.%x)\n", | 1179 printf("mjpeg: JFIF header found (version: %x.%x)\n", |
1180 get_bits(&s->gb, 8), get_bits(&s->gb, 8)); | 1180 get_bits(&s->gb, 8), get_bits(&s->gb, 8)); |
1181 if (get_bits(&s->gb, 8) == 0) | 1181 if (get_bits(&s->gb, 8) == 0) |
1182 { | 1182 { |
1183 s->avctx->aspect_ratio_info = FF_ASPECT_EXTENDED; | 1183 int x_density = get_bits(&s->gb, 16); |
1184 s->avctx->aspected_width = get_bits(&s->gb, 16); | 1184 int y_density = get_bits(&s->gb, 16); |
1185 s->avctx->aspected_height = get_bits(&s->gb, 16); | 1185 |
1186 //MN: needs to be checked | |
1187 s->avctx->aspect_ratio= s->width*y_density/((float)s->height*x_density); | |
1186 } | 1188 } |
1187 else | 1189 else |
1188 { | 1190 { |
1189 skip_bits(&s->gb, 16); | 1191 skip_bits(&s->gb, 16); |
1190 skip_bits(&s->gb, 16); | 1192 skip_bits(&s->gb, 16); |
1466 avctx->pix_fmt = PIX_FMT_YUV420P; | 1468 avctx->pix_fmt = PIX_FMT_YUV420P; |
1467 break; | 1469 break; |
1468 } | 1470 } |
1469 /* dummy quality */ | 1471 /* dummy quality */ |
1470 /* XXX: infer it with matrix */ | 1472 /* XXX: infer it with matrix */ |
1471 avctx->quality = 3; | 1473 // avctx->quality = 3; |
1472 goto the_end; | 1474 goto the_end; |
1473 } | 1475 } |
1474 break; | 1476 break; |
1475 case SOS: | 1477 case SOS: |
1476 mjpeg_decode_sos(s); | 1478 mjpeg_decode_sos(s); |
1633 avctx->pix_fmt = PIX_FMT_YUV420P; | 1635 avctx->pix_fmt = PIX_FMT_YUV420P; |
1634 break; | 1636 break; |
1635 } | 1637 } |
1636 /* dummy quality */ | 1638 /* dummy quality */ |
1637 /* XXX: infer it with matrix */ | 1639 /* XXX: infer it with matrix */ |
1638 avctx->quality = 3; | 1640 // avctx->quality = 3; |
1639 | 1641 |
1640 return buf_ptr - buf; | 1642 return buf_ptr - buf; |
1641 } | 1643 } |
1642 | 1644 |
1643 | 1645 |