FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
mpeg12dec.c File Reference
#include "config_components.h"
#include <inttypes.h>
#include "libavutil/attributes.h"
#include "libavutil/emms.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/mem_internal.h"
#include "libavutil/reverse.h"
#include "libavutil/stereo3d.h"
#include "libavutil/timecode.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "decode.h"
#include "error_resilience.h"
#include "hwaccel_internal.h"
#include "hwconfig.h"
#include "idctdsp.h"
#include "internal.h"
#include "mpeg_er.h"
#include "mpeg12.h"
#include "mpeg12codecs.h"
#include "mpeg12data.h"
#include "mpeg12dec.h"
#include "mpegutils.h"
#include "mpegvideo.h"
#include "mpegvideodata.h"
#include "mpegvideodec.h"
#include "profiles.h"
#include "startcode.h"
#include "thread.h"

Go to the source code of this file.

Data Structures

struct  Mpeg1Context
 
struct  IPUContext
 

Macros

#define UNCHECKED_BITSTREAM_READER   1
 
#define A53_MAX_CC_COUNT   2000
 
#define MB_TYPE_ZERO_MV   0x20000000
 
#define MAX_INDEX   (64 - 1)
 
#define check_scantable_index(ctx, x)
 
#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
 
#define M2V_OFFSET(x)   offsetof(Mpeg1Context, x)
 
#define M2V_PARAM   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
 

Enumerations

enum  Mpeg2ClosedCaptionsFormat { CC_FORMAT_AUTO, CC_FORMAT_A53_PART4, CC_FORMAT_SCTE20, CC_FORMAT_DVD }
 

Functions

static int mpeg_decode_motion (MpegEncContext *s, int fcode, int pred)
 
static int mpeg1_decode_block_inter (MpegEncContext *s, int16_t *block, int n)
 
static int mpeg2_decode_block_non_intra (MpegEncContext *s, int16_t *block, int n)
 
static int mpeg2_decode_block_intra (MpegEncContext *s, int16_t *block, int n)
 
static int get_dmv (MpegEncContext *s)
 
static int mpeg_decode_mb (MpegEncContext *s, int16_t block[12][64])
 
static av_cold int mpeg_decode_init (AVCodecContext *avctx)
 
static enum AVPixelFormat mpeg_get_pixelformat (AVCodecContext *avctx)
 
static int mpeg_decode_postinit (AVCodecContext *avctx)
 
static int mpeg1_decode_picture (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static void mpeg_decode_sequence_extension (Mpeg1Context *s1)
 
static void mpeg_decode_sequence_display_extension (Mpeg1Context *s1)
 
static void mpeg_decode_picture_display_extension (Mpeg1Context *s1)
 
static int load_matrix (MpegEncContext *s, uint16_t matrix0[64], uint16_t matrix1[64], int intra)
 
static void mpeg_decode_quant_matrix_extension (MpegEncContext *s)
 
static int mpeg_decode_picture_coding_extension (Mpeg1Context *s1)
 
static int mpeg_field_start (MpegEncContext *s, const uint8_t *buf, int buf_size)
 
static int mpeg_decode_slice (MpegEncContext *s, int mb_y, const uint8_t **buf, int buf_size)
 Decode a slice. More...
 
static int slice_decode_thread (AVCodecContext *c, void *arg)
 
static int slice_end (AVCodecContext *avctx, AVFrame *pict)
 Handle slice ends. More...
 
static int mpeg1_decode_sequence (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int vcr2_init_sequence (AVCodecContext *avctx)
 
static void mpeg_set_cc_format (AVCodecContext *avctx, enum Mpeg2ClosedCaptionsFormat format, const char *label)
 
static int mpeg_decode_a53_cc (AVCodecContext *avctx, const uint8_t *p, int buf_size)
 
static void mpeg_decode_user_data (AVCodecContext *avctx, const uint8_t *p, int buf_size)
 
static int mpeg_decode_gop (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int decode_chunks (AVCodecContext *avctx, AVFrame *picture, int *got_output, const uint8_t *buf, int buf_size)
 
static int mpeg_decode_frame (AVCodecContext *avctx, AVFrame *picture, int *got_output, AVPacket *avpkt)
 
static void flush (AVCodecContext *avctx)
 
static av_cold int mpeg_decode_end (AVCodecContext *avctx)
 
static int ipu_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
static av_cold int ipu_decode_init (AVCodecContext *avctx)
 
static av_cold int ipu_decode_end (AVCodecContext *avctx)
 

Variables

static const uint32_t ptype2mb_type [7]
 
static const uint32_t btype2mb_type [11]
 
static enum AVPixelFormat mpeg1_hwaccel_pixfmt_list_420 []
 
static enum AVPixelFormat mpeg2_hwaccel_pixfmt_list_420 []
 
static enum AVPixelFormat mpeg12_pixfmt_list_422 []
 
static enum AVPixelFormat mpeg12_pixfmt_list_444 []
 
const FFCodec ff_mpeg1video_decoder
 
static const AVOption mpeg2video_options []
 
static const AVClass mpeg2video_class
 
const FFCodec ff_mpeg2video_decoder
 
const FFCodec ff_mpegvideo_decoder
 
const FFCodec ff_ipu_decoder
 

Detailed Description

MPEG-1/2 decoder

Definition in file mpeg12dec.c.

Macro Definition Documentation

◆ UNCHECKED_BITSTREAM_READER

#define UNCHECKED_BITSTREAM_READER   1

Definition at line 30 of file mpeg12dec.c.

◆ A53_MAX_CC_COUNT

#define A53_MAX_CC_COUNT   2000

Definition at line 63 of file mpeg12dec.c.

◆ MB_TYPE_ZERO_MV

#define MB_TYPE_ZERO_MV   0x20000000

Definition at line 97 of file mpeg12dec.c.

◆ MAX_INDEX

#define MAX_INDEX   (64 - 1)

Definition at line 150 of file mpeg12dec.c.

◆ check_scantable_index

#define check_scantable_index (   ctx,
 
)
Value:
do { \
if ((x) > MAX_INDEX) { \
av_log(ctx->avctx, AV_LOG_ERROR, "ac-tex damaged at %d %d\n", \
ctx->mb_x, ctx->mb_y); \
} \
} while (0)

Definition at line 151 of file mpeg12dec.c.

◆ MT_FIELD

#define MT_FIELD   1

Definition at line 423 of file mpeg12dec.c.

◆ MT_FRAME

#define MT_FRAME   2

Definition at line 424 of file mpeg12dec.c.

◆ MT_16X8

#define MT_16X8   2

Definition at line 425 of file mpeg12dec.c.

◆ MT_DMV

#define MT_DMV   3

Definition at line 426 of file mpeg12dec.c.

◆ DECODE_SLICE_ERROR

#define DECODE_SLICE_ERROR   -1

Definition at line 1387 of file mpeg12dec.c.

◆ DECODE_SLICE_OK

#define DECODE_SLICE_OK   0

Definition at line 1388 of file mpeg12dec.c.

◆ M2V_OFFSET

#define M2V_OFFSET (   x)    offsetof(Mpeg1Context, x)

Definition at line 2631 of file mpeg12dec.c.

◆ M2V_PARAM

Definition at line 2632 of file mpeg12dec.c.

Enumeration Type Documentation

◆ Mpeg2ClosedCaptionsFormat

Enumerator
CC_FORMAT_AUTO 
CC_FORMAT_A53_PART4 
CC_FORMAT_SCTE20 
CC_FORMAT_DVD 

Definition at line 65 of file mpeg12dec.c.

Function Documentation

◆ mpeg_decode_motion()

static int mpeg_decode_motion ( MpegEncContext s,
int  fcode,
int  pred 
)
static

Definition at line 124 of file mpeg12dec.c.

Referenced by mpeg_decode_mb().

◆ mpeg1_decode_block_inter()

static int mpeg1_decode_block_inter ( MpegEncContext s,
int16_t *  block,
int  n 
)
inlinestatic

Definition at line 160 of file mpeg12dec.c.

Referenced by mpeg_decode_mb().

◆ mpeg2_decode_block_non_intra()

static int mpeg2_decode_block_non_intra ( MpegEncContext s,
int16_t *  block,
int  n 
)
inlinestatic

Definition at line 244 of file mpeg12dec.c.

Referenced by mpeg_decode_mb().

◆ mpeg2_decode_block_intra()

static int mpeg2_decode_block_intra ( MpegEncContext s,
int16_t *  block,
int  n 
)
inlinestatic

Definition at line 329 of file mpeg12dec.c.

Referenced by ipu_decode_frame(), and mpeg_decode_mb().

◆ get_dmv()

static int get_dmv ( MpegEncContext s)
inlinestatic

Definition at line 414 of file mpeg12dec.c.

Referenced by mpeg_decode_mb().

◆ mpeg_decode_mb()

static int mpeg_decode_mb ( MpegEncContext s,
int16_t  block[12][64] 
)
static

Definition at line 428 of file mpeg12dec.c.

Referenced by mpeg_decode_slice().

◆ mpeg_decode_init()

static av_cold int mpeg_decode_init ( AVCodecContext avctx)
static

Definition at line 793 of file mpeg12dec.c.

◆ mpeg_get_pixelformat()

static enum AVPixelFormat mpeg_get_pixelformat ( AVCodecContext avctx)
static

Definition at line 884 of file mpeg12dec.c.

Referenced by mpeg_decode_postinit(), and vcr2_init_sequence().

◆ mpeg_decode_postinit()

static int mpeg_decode_postinit ( AVCodecContext avctx)
static

Definition at line 907 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg1_decode_picture()

static int mpeg1_decode_picture ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 1038 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_sequence_extension()

static void mpeg_decode_sequence_extension ( Mpeg1Context s1)
static

Definition at line 1085 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_sequence_display_extension()

static void mpeg_decode_sequence_display_extension ( Mpeg1Context s1)
static

Definition at line 1128 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_picture_display_extension()

static void mpeg_decode_picture_display_extension ( Mpeg1Context s1)
static

Definition at line 1152 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ load_matrix()

static int load_matrix ( MpegEncContext s,
uint16_t  matrix0[64],
uint16_t  matrix1[64],
int  intra 
)
static

Definition at line 1186 of file mpeg12dec.c.

Referenced by mpeg1_decode_sequence(), and mpeg_decode_quant_matrix_extension().

◆ mpeg_decode_quant_matrix_extension()

static void mpeg_decode_quant_matrix_extension ( MpegEncContext s)
static

Definition at line 1209 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_picture_coding_extension()

static int mpeg_decode_picture_coding_extension ( Mpeg1Context s1)
static

Definition at line 1223 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_field_start()

static int mpeg_field_start ( MpegEncContext s,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 1284 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_slice()

static int mpeg_decode_slice ( MpegEncContext s,
int  mb_y,
const uint8_t **  buf,
int  buf_size 
)
static

Decode a slice.

MpegEncContext.mb_y must be set to the MB row from the startcode.

Returns
DECODE_SLICE_ERROR if the slice is damaged, DECODE_SLICE_OK if this slice is OK

Definition at line 1396 of file mpeg12dec.c.

Referenced by decode_chunks(), and slice_decode_thread().

◆ slice_decode_thread()

static int slice_decode_thread ( AVCodecContext c,
void *  arg 
)
static

Definition at line 1672 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ slice_end()

static int slice_end ( AVCodecContext avctx,
AVFrame pict 
)
static

Handle slice ends.

Returns
1 if it seems to be the last slice

Definition at line 1725 of file mpeg12dec.c.

Referenced by allocate_plane(), average_slice16(), average_slice8(), bilateralo_planes(), blend_frame_partial(), blend_slice_packed_rgb(), blur_planes(), box_slice(), cas_slice16(), cas_slice8(), check_sobel(), clear_slice16(), clear_slice8(), color_balance16(), color_balance16_p(), color_balance8(), color_balance8_p(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), colorcorrect_slice16(), colorcorrect_slice8(), colorize_slice16(), colorize_slice8(), colorizey_slice16(), colorizey_slice8(), colormap_slice(), compute_images_identity(), compute_images_msad(), compute_images_mse(), compute_sat_hue_metrics16(), compute_sat_hue_metrics8(), convert_frame(), convert_frame_partial(), copy_horizontal(), copy_vertical(), correct_frame(), decode_chunks(), decode_frame(), decode_speedhq_field(), denoise(), diagonal_transformation(), displace_packed(), displace_planar(), distortion_correction_filter_slice(), do_backgroundkey16_slice(), do_backgroundkey_slice(), do_chromahold16_slice(), do_chromahold_slice(), do_chromakey16_slice(), do_chromakey_slice(), do_despill_slice(), do_hsvhold16_slice(), do_hsvhold_slice(), do_hsvkey16_slice(), do_hsvkey_slice(), do_lumakey_slice16(), do_lumakey_slice8(), do_slice(), epx2_slice(), epx3_slice(), exposure_slice(), fade(), ff_sws_slice_worker(), filter16_brng(), filter16_tout(), filter16_vrep(), filter8_brng(), filter8_tout(), filter8_vrep(), filter_color(), filter_color2(), filter_horizontally(), filter_mono(), filter_postscale(), filter_rgb(), filter_rgb_planar(), filter_slice(), filter_slice_alpha(), filter_slice_alpha16(), filter_slice_chroma(), filter_slice_chroma16(), filter_slice_grey_edge(), filter_slice_luma(), filter_slice_luma16(), filter_slice_packed(), filter_slice_planar(), filter_slice_rgb(), filter_slice_rgba_packed(), filter_slice_rgba_planar(), filter_vertically(), hqx_filter(), irdft_horizontal16(), irdft_horizontal8(), irdft_vertical(), limitdiff_slice(), lut_packed_16bits(), lut_packed_8bits(), lut_planar_16bits(), lut_planar_8bits(), maskedclamp_slice(), maskedminmax_slice(), minmax_slice16(), minmax_slice8(), monochrome_slice16(), monochrome_slice8(), multiply_data(), multiply_slice(), nlmeans_slice(), pixelize_slice(), premultiply_slice(), process_slice_uyvy422(), process_slice_yuv420p(), process_slice_yuv422p(), process_slice_yuv444p(), qoa_decode_frame(), rdft_horizontal16(), rdft_horizontal8(), rdft_vertical(), scroll_slice(), slice_geq_filter(), slice_get_derivative(), slice_normalize(), slice_params(), ssim_plane(), ssim_plane_16bit(), super2xsai(), temperature_slice16(), temperature_slice16p(), temperature_slice32(), temperature_slice8(), temperature_slice8p(), threshold_slice(), tonemap_slice(), v210_decode_slice(), v360_slice(), v410_decode_slice(), verti_slice_c(), vibrance_slice16(), vibrance_slice16p(), vibrance_slice8(), vibrance_slice8p(), vif_filter1d(), vignetting_filter_slice(), xbr_filter(), and xfade_slice().

◆ mpeg1_decode_sequence()

static int mpeg1_decode_sequence ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 1773 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ vcr2_init_sequence()

static int vcr2_init_sequence ( AVCodecContext avctx)
static

Definition at line 1863 of file mpeg12dec.c.

Referenced by mpeg_decode_frame().

◆ mpeg_set_cc_format()

static void mpeg_set_cc_format ( AVCodecContext avctx,
enum Mpeg2ClosedCaptionsFormat  format,
const char *  label 
)
static

Definition at line 1914 of file mpeg12dec.c.

Referenced by mpeg_decode_a53_cc().

◆ mpeg_decode_a53_cc()

static int mpeg_decode_a53_cc ( AVCodecContext avctx,
const uint8_t *  p,
int  buf_size 
)
static

Definition at line 1928 of file mpeg12dec.c.

Referenced by mpeg_decode_user_data().

◆ mpeg_decode_user_data()

static void mpeg_decode_user_data ( AVCodecContext avctx,
const uint8_t *  p,
int  buf_size 
)
static

Definition at line 2073 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ mpeg_decode_gop()

static int mpeg_decode_gop ( AVCodecContext avctx,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 2143 of file mpeg12dec.c.

Referenced by decode_chunks().

◆ decode_chunks()

static int decode_chunks ( AVCodecContext avctx,
AVFrame picture,
int got_output,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 2174 of file mpeg12dec.c.

Referenced by mpeg_decode_frame().

◆ mpeg_decode_frame()

static int mpeg_decode_frame ( AVCodecContext avctx,
AVFrame picture,
int got_output,
AVPacket avpkt 
)
static

Definition at line 2513 of file mpeg12dec.c.

◆ flush()

static void flush ( AVCodecContext avctx)
static

Definition at line 2581 of file mpeg12dec.c.

◆ mpeg_decode_end()

static av_cold int mpeg_decode_end ( AVCodecContext avctx)
static

Definition at line 2592 of file mpeg12dec.c.

◆ ipu_decode_frame()

static int ipu_decode_frame ( AVCodecContext avctx,
AVFrame frame,
int got_frame,
AVPacket avpkt 
)
static

Definition at line 2727 of file mpeg12dec.c.

◆ ipu_decode_init()

static av_cold int ipu_decode_init ( AVCodecContext avctx)
static

Definition at line 2831 of file mpeg12dec.c.

◆ ipu_decode_end()

static av_cold int ipu_decode_end ( AVCodecContext avctx)
static

Definition at line 2858 of file mpeg12dec.c.

Variable Documentation

◆ ptype2mb_type

const uint32_t ptype2mb_type[7]
static

◆ btype2mb_type

const uint32_t btype2mb_type[11]
static

◆ mpeg1_hwaccel_pixfmt_list_420

enum AVPixelFormat mpeg1_hwaccel_pixfmt_list_420[]
static
Initial value:

Definition at line 836 of file mpeg12dec.c.

Referenced by mpeg_get_pixelformat().

◆ mpeg2_hwaccel_pixfmt_list_420

enum AVPixelFormat mpeg2_hwaccel_pixfmt_list_420[]
static
Initial value:

Definition at line 847 of file mpeg12dec.c.

Referenced by mpeg_get_pixelformat().

◆ mpeg12_pixfmt_list_422

enum AVPixelFormat mpeg12_pixfmt_list_422[]
static
Initial value:

Definition at line 874 of file mpeg12dec.c.

Referenced by mpeg_get_pixelformat().

◆ mpeg12_pixfmt_list_444

enum AVPixelFormat mpeg12_pixfmt_list_444[]
static
Initial value:

Definition at line 879 of file mpeg12dec.c.

Referenced by mpeg_get_pixelformat().

◆ ff_mpeg1video_decoder

const FFCodec ff_mpeg1video_decoder
Initial value:
= {
.p.name = "mpeg1video",
CODEC_LONG_NAME("MPEG-1 video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.priv_data_size = sizeof(Mpeg1Context),
.close = mpeg_decode_end,
.flush = flush,
.p.max_lowres = 3,
UPDATE_THREAD_CONTEXT(mpeg_decode_update_thread_context),
.hw_configs = (const AVCodecHWConfigInternal *const []) {
},
}

Definition at line 2602 of file mpeg12dec.c.

◆ mpeg2video_options

const AVOption mpeg2video_options[]
static
Initial value:
= {
{ "cc_format", "extract a specific Closed Captions format",
M2V_OFFSET(cc_format), AV_OPT_TYPE_INT, { .i64 = CC_FORMAT_AUTO },
CC_FORMAT_AUTO, CC_FORMAT_DVD, M2V_PARAM, .unit = "cc_format" },
{ "auto", "pick first seen CC substream", 0, AV_OPT_TYPE_CONST,
{ .i64 = CC_FORMAT_AUTO }, .flags = M2V_PARAM, .unit = "cc_format" },
{ "a53", "pick A/53 Part 4 CC substream", 0, AV_OPT_TYPE_CONST,
{ .i64 = CC_FORMAT_A53_PART4 }, .flags = M2V_PARAM, .unit = "cc_format" },
{ "scte20", "pick SCTE-20 CC substream", 0, AV_OPT_TYPE_CONST,
{ .i64 = CC_FORMAT_SCTE20 }, .flags = M2V_PARAM, .unit = "cc_format" },
{ "dvd", "pick DVD CC substream", 0, AV_OPT_TYPE_CONST,
{ .i64 = CC_FORMAT_DVD }, .flags = M2V_PARAM, .unit = "cc_format" },
{ NULL }
}

Definition at line 2634 of file mpeg12dec.c.

◆ mpeg2video_class

const AVClass mpeg2video_class
static
Initial value:
= {
.class_name = "MPEG-2 video",
.item_name = av_default_item_name,
.option = mpeg2video_options,
}

Definition at line 2650 of file mpeg12dec.c.

◆ ff_mpeg2video_decoder

const FFCodec ff_mpeg2video_decoder

Definition at line 2658 of file mpeg12dec.c.

◆ ff_mpegvideo_decoder

const FFCodec ff_mpegvideo_decoder
Initial value:
= {
.p.name = "mpegvideo",
CODEC_LONG_NAME("MPEG-1 video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.priv_data_size = sizeof(Mpeg1Context),
.close = mpeg_decode_end,
.flush = flush,
.p.max_lowres = 3,
}

Definition at line 2704 of file mpeg12dec.c.

◆ ff_ipu_decoder

const FFCodec ff_ipu_decoder
Initial value:
= {
.p.name = "ipu",
CODEC_LONG_NAME("IPU Video"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_IPU,
.priv_data_size = sizeof(IPUContext),
.close = ipu_decode_end,
.p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
}

Definition at line 2867 of file mpeg12dec.c.

MB_TYPE_L0
#define MB_TYPE_L0
Definition: mpegutils.h:60
M2V_OFFSET
#define M2V_OFFSET(x)
Definition: mpeg12dec.c:2631
FF_CODEC_CAP_INIT_CLEANUP
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
Definition: codec_internal.h:42
AV_CLASS_CATEGORY_DECODER
@ AV_CLASS_CATEGORY_DECODER
Definition: log.h:35
mpeg_decode_frame
static int mpeg_decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_output, AVPacket *avpkt)
Definition: mpeg12dec.c:2513
ipu_decode_init
static av_cold int ipu_decode_init(AVCodecContext *avctx)
Definition: mpeg12dec.c:2831
ipu_decode_end
static av_cold int ipu_decode_end(AVCodecContext *avctx)
Definition: mpeg12dec.c:2858
MB_TYPE_16x16
#define MB_TYPE_16x16
Definition: mpegutils.h:47
MB_TYPE_L1
#define MB_TYPE_L1
Definition: mpegutils.h:61
MB_TYPE_ZERO_MV
#define MB_TYPE_ZERO_MV
Definition: mpeg12dec.c:97
MB_TYPE_CBP
#define MB_TYPE_CBP
Definition: mpegutils.h:64
IPUContext
Definition: mpeg12dec.c:2720
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:180
ipu_decode_frame
static int ipu_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
Definition: mpeg12dec.c:2727
flush
static void flush(AVCodecContext *avctx)
Definition: mpeg12dec.c:2581
FF_CODEC_DECODE_CB
#define FF_CODEC_DECODE_CB(func)
Definition: codec_internal.h:287
ctx
AVFormatContext * ctx
Definition: movenc.c:48
AV_PIX_FMT_YUV420P
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:73
CODEC_LONG_NAME
#define CODEC_LONG_NAME(str)
Definition: codec_internal.h:272
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
M2V_PARAM
#define M2V_PARAM
Definition: mpeg12dec.c:2632
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:237
CC_FORMAT_A53_PART4
@ CC_FORMAT_A53_PART4
Definition: mpeg12dec.c:67
MB_TYPE_QUANT
#define MB_TYPE_QUANT
Definition: mpegutils.h:63
UPDATE_THREAD_CONTEXT
#define UPDATE_THREAD_CONTEXT(func)
Definition: codec_internal.h:281
CC_FORMAT_AUTO
@ CC_FORMAT_AUTO
Definition: mpeg12dec.c:66
AV_CODEC_ID_MPEG1VIDEO
@ AV_CODEC_ID_MPEG1VIDEO
Definition: codec_id.h:53
CC_FORMAT_DVD
@ CC_FORMAT_DVD
Definition: mpeg12dec.c:69
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:365
mpeg2video_options
static const AVOption mpeg2video_options[]
Definition: mpeg12dec.c:2634
AV_CODEC_CAP_DR1
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition: codec.h:52
AV_CODEC_ID_IPU
@ AV_CODEC_ID_IPU
Definition: codec_id.h:306
CC_FORMAT_SCTE20
@ CC_FORMAT_SCTE20
Definition: mpeg12dec.c:68
FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
#define FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM
The decoder extracts and fills its parameters even if the frame is skipped due to the skip_frame sett...
Definition: codec_internal.h:54
AVCodecHWConfigInternal
Definition: hwconfig.h:25
mpeg_decode_init
static av_cold int mpeg_decode_init(AVCodecContext *avctx)
Definition: mpeg12dec.c:793
AV_CODEC_CAP_SLICE_THREADS
#define AV_CODEC_CAP_SLICE_THREADS
Codec supports slice-based (or partition-based) multithreading.
Definition: codec.h:114
MB_TYPE_L0L1
#define MB_TYPE_L0L1
Definition: mpegutils.h:62
MAX_INDEX
#define MAX_INDEX
Definition: mpeg12dec.c:150
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:72
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:235
AV_CODEC_CAP_DELAY
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
Definition: codec.h:76
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:78
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
mpeg_decode_end
static av_cold int mpeg_decode_end(AVCodecContext *avctx)
Definition: mpeg12dec.c:2592
AV_PIX_FMT_YUV422P
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:77
AV_CODEC_CAP_DRAW_HORIZ_BAND
#define AV_CODEC_CAP_DRAW_HORIZ_BAND
Decoder can use draw_horiz_band callback.
Definition: codec.h:44
AVERROR_INVALIDDATA
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
Definition: error.h:61
AV_CODEC_ID_MPEG2VIDEO
@ AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding
Definition: codec_id.h:54
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:244
Mpeg1Context
Definition: mpeg12dec.c:72
MB_TYPE_INTRA
#define MB_TYPE_INTRA
Definition: mpegutils.h:66