Mercurial > libavcodec.hg
comparison h264.h @ 10862:d9c084a0c22b libavcodec
Split all the reference picture handling off h264.c.
author | michael |
---|---|
date | Tue, 12 Jan 2010 20:59:00 +0000 |
parents | 762e6bb0ba40 |
children | 974ac220c93a |
comparison
equal
deleted
inserted
replaced
10861:61bf5a551856 | 10862:d9c084a0c22b |
---|---|
90 | 90 |
91 #define MB_TYPE_REF0 MB_TYPE_ACPRED //dirty but it fits in 16 bit | 91 #define MB_TYPE_REF0 MB_TYPE_ACPRED //dirty but it fits in 16 bit |
92 #define MB_TYPE_8x8DCT 0x01000000 | 92 #define MB_TYPE_8x8DCT 0x01000000 |
93 #define IS_REF0(a) ((a) & MB_TYPE_REF0) | 93 #define IS_REF0(a) ((a) & MB_TYPE_REF0) |
94 #define IS_8x8DCT(a) ((a) & MB_TYPE_8x8DCT) | 94 #define IS_8x8DCT(a) ((a) & MB_TYPE_8x8DCT) |
95 | |
96 /** | |
97 * Value of Picture.reference when Picture is not a reference picture, but | |
98 * is held for delayed output. | |
99 */ | |
100 #define DELAYED_PIC_REF 4 | |
101 | |
95 | 102 |
96 /* NAL unit types */ | 103 /* NAL unit types */ |
97 enum { | 104 enum { |
98 NAL_SLICE=1, | 105 NAL_SLICE=1, |
99 NAL_DPA, | 106 NAL_DPA, |
602 * needs width/height | 609 * needs width/height |
603 */ | 610 */ |
604 int ff_h264_alloc_tables(H264Context *h); | 611 int ff_h264_alloc_tables(H264Context *h); |
605 | 612 |
606 /** | 613 /** |
614 * fills the default_ref_list. | |
615 */ | |
616 int ff_h264_fill_default_ref_list(H264Context *h); | |
617 | |
618 int ff_h264_decode_ref_pic_list_reordering(H264Context *h); | |
619 void ff_h264_fill_mbaff_ref_list(H264Context *h); | |
620 void ff_h264_remove_all_refs(H264Context *h); | |
621 | |
622 /** | |
623 * Executes the reference picture marking (memory management control operations). | |
624 */ | |
625 int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count); | |
626 | |
627 int ff_h264_decode_ref_pic_marking(H264Context *h, GetBitContext *gb); | |
628 | |
629 | |
630 /** | |
607 * checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks. | 631 * checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks. |
608 */ | 632 */ |
609 int ff_h264_check_intra_pred_mode(H264Context *h, int mode); | 633 int ff_h264_check_intra_pred_mode(H264Context *h, int mode); |
610 | 634 |
611 void ff_h264_write_back_intra_pred_mode(H264Context *h); | 635 void ff_h264_write_back_intra_pred_mode(H264Context *h); |