FFmpeg
Macros | Functions | Variables
mpeg12.c File Reference

MPEG-1/2 decoder. More...

#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/timecode.h"
#include "libavutil/thread.h"
#include "internal.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "error_resilience.h"
#include "mpeg12.h"
#include "mpeg12data.h"
#include "mpegvideodata.h"
#include "bytestream.h"
#include "thread.h"

Go to the source code of this file.

Macros

#define UNCHECKED_BITSTREAM_READER   1
 
#define MAX_INDEX   (64 - 1)
 

Functions

av_cold void ff_init_2d_vlc_rl (RLTable *rl, unsigned static_size, int flags)
 
av_cold void ff_mpeg12_common_init (MpegEncContext *s)
 
void ff_mpeg1_clean_buffers (MpegEncContext *s)
 
static av_cold void mpeg12_init_vlcs (void)
 
av_cold void ff_mpeg12_init_vlcs (void)
 
int ff_mpeg1_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size, AVCodecParserContext *s)
 Find the end of the current frame in the bitstream. More...
 
int ff_mpeg1_decode_block_intra (GetBitContext *gb, const uint16_t *quant_matrix, uint8_t *const scantable, int last_dc[3], int16_t *block, int index, int qscale)
 

Variables

static const uint8_t table_mb_ptype [7][2]
 
static const uint8_t table_mb_btype [11][2]
 
VLC ff_mv_vlc
 
VLC ff_dc_lum_vlc
 
VLC ff_dc_chroma_vlc
 
VLC ff_mbincr_vlc
 
VLC ff_mb_ptype_vlc
 
VLC ff_mb_btype_vlc
 
VLC ff_mb_pat_vlc
 

Detailed Description

MPEG-1/2 decoder.

Definition in file mpeg12.c.

Macro Definition Documentation

#define UNCHECKED_BITSTREAM_READER   1

Definition at line 28 of file mpeg12.c.

#define MAX_INDEX   (64 - 1)

Definition at line 235 of file mpeg12.c.

Referenced by ff_mpeg1_decode_block_intra().

Function Documentation

av_cold void ff_init_2d_vlc_rl ( RLTable rl,
unsigned  static_size,
int  flags 
)

Definition at line 69 of file mpeg12.c.

av_cold void ff_mpeg12_common_init ( MpegEncContext s)

Definition at line 106 of file mpeg12.c.

Referenced by ff_mpeg1_init_uni_ac_vlc(), ipu_decode_init(), and mpeg_decode_init().

void ff_mpeg1_clean_buffers ( MpegEncContext s)

Definition at line 114 of file mpeg12.c.

Referenced by decode_dc(), encode_thread(), and mpeg_decode_slice().

static av_cold void mpeg12_init_vlcs ( void  )
static

Definition at line 136 of file mpeg12.c.

Referenced by ff_mpeg12_init_vlcs().

av_cold void ff_mpeg12_init_vlcs ( void  )

Definition at line 165 of file mpeg12.c.

Referenced by decode_init(), ipu_decode_init(), mpeg_decode_init(), and tqi_decode_init().

int ff_mpeg1_find_frame_end ( ParseContext pc,
const uint8_t buf,
int  buf_size,
AVCodecParserContext s 
)

Find the end of the current frame in the bitstream.

Returns
the position of the first byte of the next frame, or -1

Definition at line 175 of file mpeg12.c.

Referenced by decode_dc(), mpeg_decode_frame(), and mpegvideo_parse().

int ff_mpeg1_decode_block_intra ( GetBitContext gb,
const uint16_t *  quant_matrix,
uint8_t *const  scantable,
int  last_dc[3],
int16_t *  block,
int  index,
int  qscale 
)

Definition at line 237 of file mpeg12.c.

Referenced by decode_dc(), ipu_decode_frame(), mpeg_decode_mb(), and tqi_decode_mb().

Variable Documentation

const uint8_t table_mb_ptype[7][2]
static
Initial value:
= {
{ 3, 5 },
{ 1, 2 },
{ 1, 3 },
{ 1, 1 },
{ 1, 6 },
{ 1, 5 },
{ 2, 5 },
}

Definition at line 45 of file mpeg12.c.

Referenced by mpeg12_init_vlcs().

const uint8_t table_mb_btype[11][2]
static
Initial value:
= {
{ 3, 5 },
{ 2, 3 },
{ 3, 3 },
{ 2, 4 },
{ 3, 4 },
{ 2, 2 },
{ 3, 2 },
{ 1, 6 },
{ 2, 6 },
{ 3, 6 },
{ 2, 5 },
}

Definition at line 55 of file mpeg12.c.

Referenced by mpeg12_init_vlcs().

VLC ff_mv_vlc

Definition at line 126 of file mpeg12.c.

Referenced by mpeg_decode_motion().

VLC ff_dc_lum_vlc

Definition at line 128 of file mpeg12.c.

Referenced by decode_dc().

VLC ff_dc_chroma_vlc

Definition at line 129 of file mpeg12.c.

Referenced by decode_dc().

VLC ff_mbincr_vlc

Definition at line 131 of file mpeg12.c.

Referenced by mpeg_decode_slice().

VLC ff_mb_ptype_vlc

Definition at line 132 of file mpeg12.c.

Referenced by mpeg_decode_mb().

VLC ff_mb_btype_vlc

Definition at line 133 of file mpeg12.c.

Referenced by mpeg_decode_mb().

VLC ff_mb_pat_vlc

Definition at line 134 of file mpeg12.c.

Referenced by mpeg_decode_mb().