FFmpeg
|
MPEG-1/2 decoder. More...
#include "internal.h"
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "libavutil/avassert.h"
#include "libavutil/timecode.h"
#include "mpeg12.h"
#include "mpeg12data.h"
#include "mpeg12decdata.h"
#include "bytestream.h"
#include "vdpau_internal.h"
#include "xvmc_internal.h"
#include "thread.h"
Go to the source code of this file.
Macros | |
#define | UNCHECKED_BITSTREAM_READER 1 |
#define | MV_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 |
#define | INIT_2D_VLC_RL(rl, static_size) |
#define | MT_FIELD 1 |
#define | MT_FRAME 2 |
#define | MT_16X8 2 |
#define | MT_DMV 3 |
#define | DECODE_SLICE_ERROR -1 |
#define | DECODE_SLICE_OK 0 |
Variables | |
static VLC | mv_vlc |
uint8_t | ff_mpeg12_static_rl_table_store [2][2][2 *MAX_RUN+MAX_LEVEL+3] |
VLC | ff_dc_lum_vlc |
VLC | ff_dc_chroma_vlc |
static VLC | mbincr_vlc |
static VLC | mb_ptype_vlc |
static VLC | mb_btype_vlc |
static VLC | mb_pat_vlc |
static enum AVPixelFormat | mpeg1_hwaccel_pixfmt_list_420 [] |
static enum AVPixelFormat | mpeg2_hwaccel_pixfmt_list_420 [] |
static const AVProfile | mpeg2_video_profiles [] |
AVCodec | ff_mpeg1video_decoder |
AVCodec | ff_mpeg2video_decoder |
AVCodec | ff_mpegvideo_decoder |
MPEG-1/2 decoder.
Definition in file mpeg12.c.
#define MV_VLC_BITS 9 |
Definition at line 47 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and mpeg_decode_motion().
#define MBINCR_VLC_BITS 9 |
Definition at line 48 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and mpeg_decode_slice().
#define MB_PAT_VLC_BITS 9 |
Definition at line 49 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and mpeg_decode_mb().
#define MB_PTYPE_VLC_BITS 6 |
Definition at line 50 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and mpeg_decode_mb().
#define MB_BTYPE_VLC_BITS 6 |
Definition at line 51 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and mpeg_decode_mb().
#define INIT_2D_VLC_RL | ( | rl, | |
static_size | |||
) |
Definition at line 611 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs().
#define MT_FIELD 1 |
Definition at line 748 of file mpeg12.c.
Referenced by mpeg_decode_mb().
#define MT_FRAME 2 |
Definition at line 749 of file mpeg12.c.
Referenced by mpeg_decode_mb().
#define MT_DMV 3 |
Definition at line 751 of file mpeg12.c.
Referenced by mpeg_decode_mb().
#define DECODE_SLICE_ERROR -1 |
Definition at line 1667 of file mpeg12.c.
Referenced by mpeg_decode_slice().
#define DECODE_SLICE_OK 0 |
Definition at line 1668 of file mpeg12.c.
Referenced by mpeg_decode_slice().
|
static |
Definition at line 56 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Definition at line 84 of file mpeg12.c.
Referenced by ff_mpeg1_decode_block_intra(), and mpeg_decode_mb().
int ff_mpeg1_decode_block_intra | ( | MpegEncContext * | s, |
DCTELEM * | block, | ||
int | n | ||
) |
Definition at line 155 of file mpeg12.c.
Referenced by tqi_decode_mb().
|
inlinestatic |
Definition at line 160 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Note: this function can read out of range and crash for corrupt streams.
Changing this would eat up any speed benefits it has. Do not use "fast" flag if you need the code to be robust.
Definition at line 240 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Definition at line 312 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Note: this function can read out of range and crash for corrupt streams.
Changing this would eat up any speed benefits it has. Do not use "fast" flag if you need the code to be robust.
Definition at line 396 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Definition at line 458 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Note: this function can read out of range and crash for corrupt streams.
Changing this would eat up any speed benefits it has. Do not use "fast" flag if you need the code to be robust.
Definition at line 541 of file mpeg12.c.
Referenced by mpeg_decode_mb().
void ff_mpeg12_common_init | ( | MpegEncContext * | s | ) |
Definition at line 655 of file mpeg12.c.
Referenced by ff_mpeg1_encode_init(), and mpeg_decode_init().
void ff_mpeg1_clean_buffers | ( | MpegEncContext * | s | ) |
Definition at line 663 of file mpeg12.c.
Referenced by encode_thread(), and mpeg_decode_slice().
Definition at line 683 of file mpeg12.c.
Referenced by decode_init(), mpeg_decode_init(), and tqi_decode_init().
|
inlinestatic |
Definition at line 720 of file mpeg12.c.
Referenced by mpeg_decode_mb().
|
inlinestatic |
Definition at line 728 of file mpeg12.c.
Referenced by mpeg_decode_mb(), and mpeg_decode_slice().
|
static |
Definition at line 738 of file mpeg12.c.
Referenced by mpeg_decode_mb(), and vcr2_init_sequence().
|
static |
Definition at line 753 of file mpeg12.c.
Referenced by mpeg_decode_slice().
|
static |
|
static |
|
inlinestatic |
Definition at line 1228 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1232 of file mpeg12.c.
Referenced by vcr2_init_sequence().
|
static |
Definition at line 1257 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1373 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1418 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1454 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1478 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1511 of file mpeg12.c.
Referenced by mpeg1_decode_sequence(), and mpeg_decode_quant_matrix_extension().
|
static |
Definition at line 1533 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1543 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 1602 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Decode a slice.
MpegEncContext.mb_y must be set to the MB row from the startcode.
Definition at line 1676 of file mpeg12.c.
Referenced by decode_chunks(), and slice_decode_thread().
|
static |
Definition at line 1899 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Handle slice ends.
Definition at line 1946 of file mpeg12.c.
Referenced by decode_chunks(), and decode_frame().
|
static |
Definition at line 1992 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 2069 of file mpeg12.c.
Referenced by mpeg_decode_frame().
|
static |
Definition at line 2127 of file mpeg12.c.
Referenced by decode_chunks().
|
static |
Definition at line 2163 of file mpeg12.c.
Referenced by decode_chunks().
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.
Definition at line 2193 of file mpeg12.c.
Referenced by mpeg_decode_frame(), and mpegvideo_parse().
|
static |
Definition at line 2253 of file mpeg12.c.
Referenced by mpeg_decode_frame().
|
static |
|
static |
|
static |
Definition at line 609 of file mpeg12.c.
Referenced by ff_mpeg12_init_vlcs(), and ff_mpeg1_encode_init().
|
static |
Definition at line 1198 of file mpeg12.c.
Referenced by mpeg_get_pixelformat().
|
static |
Definition at line 1210 of file mpeg12.c.
Referenced by mpeg_get_pixelformat().
|
static |
AVCodec ff_mpeg1video_decoder |
AVCodec ff_mpeg2video_decoder |
AVCodec ff_mpegvideo_decoder |