X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvc1.h;h=6f24c0e4af301facfb7d58dd7c5a70d8afd45273;hb=bdd1567c355a8092e7746ef99e831d579e34fa6a;hp=fe21f2f6b70021c51ac753d48c13b587546e93bb;hpb=7627c35a81241c98768d2d1f13d576591cac0b1c;p=ffmpeg diff --git a/libavcodec/vc1.h b/libavcodec/vc1.h index fe21f2f6b70..6f24c0e4af3 100644 --- a/libavcodec/vc1.h +++ b/libavcodec/vc1.h @@ -24,6 +24,7 @@ #define AVCODEC_VC1_H #include "avcodec.h" +#include "h264chroma.h" #include "mpegvideo.h" #include "intrax8.h" #include "vc1dsp.h" @@ -181,6 +182,7 @@ enum FrameCodingMode { typedef struct VC1Context{ MpegEncContext s; IntraX8Context x8; + H264ChromaContext h264chroma; VC1DSPContext vc1dsp; int bits; @@ -385,7 +387,7 @@ typedef struct VC1Context{ int bi_type; int x8_type; - DCTELEM (*block)[6][64]; + int16_t (*block)[6][64]; int n_allocated_blks, cur_blk_idx, left_blk_idx, topleft_blk_idx, top_blk_idx; uint32_t *cbp_base, *cbp; uint8_t *is_intra_base, *is_intra; @@ -394,6 +396,8 @@ typedef struct VC1Context{ uint8_t broken_link; ///< Broken link flag (BROKEN_LINK syntax element) uint8_t closed_entry; ///< Closed entry point flag (CLOSED_ENTRY syntax element) + int end_mb_x; ///< Horizontal macroblock limit (used only by mss2) + int parse_only; ///< Context is used within parser int warn_interlaced; @@ -451,9 +455,9 @@ int ff_vc1_parse_frame_header (VC1Context *v, GetBitContext *gb); int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext *gb); int ff_vc1_init_common(VC1Context *v); -av_cold int ff_vc1_decode_init_alloc_tables(VC1Context *v); -av_cold void ff_vc1_init_transposed_scantables(VC1Context *v); -av_cold int ff_vc1_decode_end(AVCodecContext *avctx); +int ff_vc1_decode_init_alloc_tables(VC1Context *v); +void ff_vc1_init_transposed_scantables(VC1Context *v); +int ff_vc1_decode_end(AVCodecContext *avctx); void ff_vc1_decode_blocks(VC1Context *v); #endif /* AVCODEC_VC1_H */