Logo Search packages:      
Sourcecode: blender version File versions  Download package

mpeg12.c File Reference

Detailed Description

MPEG1/2 codec

Definition in file mpeg12.c.

#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "mpeg12data.h"
#include "mdec.c"

Go to the source code of this file.


struct  Mpeg1Context


#define DC_VLC_BITS   9
#define DECODE_SLICE_OK   0
#define EXT_START_CODE   0x000001b5
#define GOP_START_CODE   0x000001b8
#define MB_BTYPE_VLC_BITS   6
#define MB_PAT_VLC_BITS   9
#define MB_PTYPE_VLC_BITS   6
#define MBINCR_VLC_BITS   9
#define MT_16X8   2
#define MT_DMV   3
#define MT_FIELD   1
#define MT_FRAME   2
#define MV_VLC_BITS   9
#define PICTURE_START_CODE   0x00000100
#define SEQ_END_CODE   0x000001b7
#define SEQ_START_CODE   0x000001b3
#define SLICE_MAX_START_CODE   0x000001af
#define SLICE_MIN_START_CODE   0x00000101
#define TEX_VLC_BITS   9
#define USER_START_CODE   0x000001b2


static void common_init (MpegEncContext *s)
static int decode_dc (GetBitContext *gb, int component)
static void exchange_uv (MpegEncContext *s)
void ff_mpeg1_clean_buffers (MpegEncContext *s)
int ff_mpeg1_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
static int get_dmv (MpegEncContext *s)
static int get_qscale (MpegEncContext *s)
static void init_2d_vlc_rl (RLTable *rl, int use_static)
static void init_vlcs (void)
static int mpeg1_decode_block_inter (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg1_decode_block_intra (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg1_decode_picture (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int mpeg1_decode_sequence (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int mpeg1_fast_decode_block_inter (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg2_decode_block_intra (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg2_decode_block_non_intra (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg2_fast_decode_block_intra (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg2_fast_decode_block_non_intra (MpegEncContext *s, DCTELEM *block, int n)
static int mpeg_decode_end (AVCodecContext *avctx)
static void mpeg_decode_extension (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int mpeg_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static void mpeg_decode_gop (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int mpeg_decode_init (AVCodecContext *avctx)
static int mpeg_decode_mb (MpegEncContext *s, DCTELEM block[12][64])
static int mpeg_decode_motion (MpegEncContext *s, int fcode, int pred)
static void mpeg_decode_picture_coding_extension (MpegEncContext *s)
static void mpeg_decode_picture_display_extension (Mpeg1Context *s1)
static int mpeg_decode_postinit (AVCodecContext *avctx)
static void mpeg_decode_quant_matrix_extension (MpegEncContext *s)
static void mpeg_decode_sequence_display_extension (Mpeg1Context *s1)
static void mpeg_decode_sequence_extension (Mpeg1Context *s1)
static int mpeg_decode_slice (Mpeg1Context *s1, int mb_y, const uint8_t **buf, int buf_size)
static void mpeg_decode_user_data (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
static int mpeg_field_start (MpegEncContext *s)
static void quant_matrix_rebuild (uint16_t *matrix, const uint8_t *old_perm, const uint8_t *new_perm)
static int slice_decode_thread (AVCodecContext *c, void *arg)
static int slice_end (AVCodecContext *avctx, AVFrame *pict)
static int vcr2_init_sequence (AVCodecContext *avctx)


static VLC dc_chroma_vlc
static VLC dc_lum_vlc
static VLC mb_btype_vlc
static VLC mb_pat_vlc
static VLC mb_ptype_vlc
static VLC mbincr_vlc
AVCodec mpeg1video_decoder
AVCodec mpeg2video_decoder
AVCodec mpegvideo_decoder
static VLC mv_vlc
enum PixelFormat pixfmt_xvmc_mpg2_420 []
enum PixelFormat pixfmt_yuv_420 [] = {PIX_FMT_YUV420P,-1}
enum PixelFormat pixfmt_yuv_422 [] = {PIX_FMT_YUV422P,-1}
enum PixelFormat pixfmt_yuv_444 [] = {PIX_FMT_YUV444P,-1}

Generated by  Doxygen 1.6.0   Back to index