]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mpeg12.h
vp8: Fix pthread_cond and pthread_mutex leaks
[ffmpeg] / libavcodec / mpeg12.h
index ab0352ff10611786787e01b21af4fa45b1030817..9132dc3d2d08a6595dd02a76927c35c910ff0119 100644 (file)
 #include "mpegvideo.h"
 
 #define DC_VLC_BITS 9
+#define MV_VLC_BITS 9
 #define TEX_VLC_BITS 9
 
+#define MBINCR_VLC_BITS 9
+#define MB_PAT_VLC_BITS 9
+#define MB_PTYPE_VLC_BITS 6
+#define MB_BTYPE_VLC_BITS 6
+
 extern VLC ff_dc_lum_vlc;
 extern VLC ff_dc_chroma_vlc;
-
-typedef struct Mpeg1Context {
-    MpegEncContext mpeg_enc_ctx;
-    int mpeg_enc_ctx_allocated; /* true if decoding context allocated */
-    int repeat_field; /* true if we must repeat the field */
-    AVPanScan pan_scan;              /**< some temporary storage for the panscan */
-    int slice_count;
-    int swap_uv;//indicate VCR2
-    int save_aspect_info;
-    int save_width, save_height, save_progressive_seq;
-    AVRational frame_rate_ext;       ///< MPEG-2 specific framerate modificator
-    int sync;                        ///< Did we reach a sync point like a GOP/SEQ/KEYFrame?
-    int closed_gop;                  ///< GOP is closed
-} Mpeg1Context;
+extern VLC ff_mbincr_vlc;
+extern VLC ff_mb_ptype_vlc;
+extern VLC ff_mb_btype_vlc;
+extern VLC ff_mb_pat_vlc;
+extern VLC ff_mv_vlc;
 
 extern uint8_t ff_mpeg12_static_rl_table_store[2][2][2*MAX_RUN + MAX_LEVEL + 3];
 
@@ -70,6 +67,8 @@ static inline int decode_dc(GetBitContext *gb, int component)
     return diff;
 }
 
-extern int ff_mpeg1_decode_block_intra(MpegEncContext *s, DCTELEM *block, int n);
+int ff_mpeg1_decode_block_intra(MpegEncContext *s, int16_t *block, int n);
+void ff_mpeg1_clean_buffers(MpegEncContext *s);
+int ff_mpeg1_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size, AVCodecParserContext *s);
 
 #endif /* AVCODEC_MPEG12_H */