#include "intrax8.h"
#include "vc1dsp.h"
+#define AC_VLC_BITS 9
+
/** Markers used in VC-1 AP frame data */
//@{
enum VC1Code {
};
//@}
+/**
+ * FCM Frame Coding Mode
+ * @note some content might be marked interlaced
+ * but have fcm set to 0 as well (e.g. HD-DVD)
+ */
+enum FrameCodingMode {
+ PROGRESSIVE = 0, ///< in the bitstream is reported as 00b
+ ILACE_FRAME, ///< in the bitstream is reported as 10b
+ ILACE_FIELD ///< in the bitstream is reported as 11b
+};
/** The VC1 Context
* @todo Change size wherever another size is more efficient
/** Frame decoding info for Advanced profile */
//@{
- uint8_t fcm; ///< 0->Progressive, 2->Frame-Interlace, 3->Field-Interlace
+ enum FrameCodingMode fcm;
uint8_t numpanscanwin;
uint8_t tfcntr;
uint8_t rptfrm, tff, rff;
* @param gb GetBit context initialized from Codec context extra_data
* @return Status
*/
-int vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb);
+int ff_vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb);
-int vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb);
+int ff_vc1_decode_entry_point(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb);
-int vc1_parse_frame_header (VC1Context *v, GetBitContext *gb);
-int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext *gb);
+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);
#endif /* AVCODEC_VC1_H */