Mercurial > libavcodec.hg
comparison mpeg12.c @ 10588:96b9deb2adb1 libavcodec
Inline mpeg_decode_extension, will simplify future changes.
author | michael |
---|---|
date | Sat, 28 Nov 2009 18:57:12 +0000 |
parents | 62533f2e6f5a |
children | 02c7c0a5ad7d |
comparison
equal
deleted
inserted
replaced
10587:62533f2e6f5a | 10588:96b9deb2adb1 |
---|---|
1577 dprintf(s->avctx, "alternate_scan=%d\n", s->alternate_scan); | 1577 dprintf(s->avctx, "alternate_scan=%d\n", s->alternate_scan); |
1578 dprintf(s->avctx, "frame_pred_frame_dct=%d\n", s->frame_pred_frame_dct); | 1578 dprintf(s->avctx, "frame_pred_frame_dct=%d\n", s->frame_pred_frame_dct); |
1579 dprintf(s->avctx, "progressive_frame=%d\n", s->progressive_frame); | 1579 dprintf(s->avctx, "progressive_frame=%d\n", s->progressive_frame); |
1580 } | 1580 } |
1581 | 1581 |
1582 static void mpeg_decode_extension(AVCodecContext *avctx, | |
1583 const uint8_t *buf, int buf_size) | |
1584 { | |
1585 Mpeg1Context *s1 = avctx->priv_data; | |
1586 MpegEncContext *s = &s1->mpeg_enc_ctx; | |
1587 int ext_type; | |
1588 | |
1589 init_get_bits(&s->gb, buf, buf_size*8); | |
1590 | |
1591 ext_type = get_bits(&s->gb, 4); | |
1592 switch(ext_type) { | |
1593 case 0x1: | |
1594 mpeg_decode_sequence_extension(s1); | |
1595 break; | |
1596 case 0x2: | |
1597 mpeg_decode_sequence_display_extension(s1); | |
1598 break; | |
1599 case 0x3: | |
1600 mpeg_decode_quant_matrix_extension(s); | |
1601 break; | |
1602 case 0x7: | |
1603 mpeg_decode_picture_display_extension(s1); | |
1604 break; | |
1605 case 0x8: | |
1606 mpeg_decode_picture_coding_extension(s1); | |
1607 break; | |
1608 } | |
1609 } | |
1610 | |
1611 static void exchange_uv(MpegEncContext *s){ | 1582 static void exchange_uv(MpegEncContext *s){ |
1612 DCTELEM (*tmp)[64]; | 1583 DCTELEM (*tmp)[64]; |
1613 | 1584 |
1614 tmp = s->pblocks[4]; | 1585 tmp = s->pblocks[4]; |
1615 s->pblocks[4] = s->pblocks[5]; | 1586 s->pblocks[4] = s->pblocks[5]; |
2337 if(mpeg1_decode_picture(avctx, | 2308 if(mpeg1_decode_picture(avctx, |
2338 buf_ptr, input_size) < 0) | 2309 buf_ptr, input_size) < 0) |
2339 s2->pict_type=0; | 2310 s2->pict_type=0; |
2340 break; | 2311 break; |
2341 case EXT_START_CODE: | 2312 case EXT_START_CODE: |
2342 mpeg_decode_extension(avctx, | 2313 init_get_bits(&s2->gb, buf_ptr, input_size*8); |
2343 buf_ptr, input_size); | 2314 |
2315 switch(get_bits(&s2->gb, 4)) { | |
2316 case 0x1: | |
2317 mpeg_decode_sequence_extension(s); | |
2318 break; | |
2319 case 0x2: | |
2320 mpeg_decode_sequence_display_extension(s); | |
2321 break; | |
2322 case 0x3: | |
2323 mpeg_decode_quant_matrix_extension(s2); | |
2324 break; | |
2325 case 0x7: | |
2326 mpeg_decode_picture_display_extension(s); | |
2327 break; | |
2328 case 0x8: | |
2329 mpeg_decode_picture_coding_extension(s); | |
2330 break; | |
2331 } | |
2344 break; | 2332 break; |
2345 case USER_START_CODE: | 2333 case USER_START_CODE: |
2346 mpeg_decode_user_data(avctx, | 2334 mpeg_decode_user_data(avctx, |
2347 buf_ptr, input_size); | 2335 buf_ptr, input_size); |
2348 break; | 2336 break; |