FFmpeg
Data Structures | Functions | Variables
wmv2dec.c File Reference
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "h263dec.h"
#include "intrax8.h"
#include "mathops.h"
#include "mpegutils.h"
#include "mpegvideo.h"
#include "msmpeg4.h"
#include "msmpeg4data.h"
#include "msmpeg4dec.h"
#include "simple_idct.h"
#include "wmv2.h"
#include "wmv2data.h"
#include "wmv2dec.h"

Go to the source code of this file.

Data Structures

struct  WMV2DecContext
 

Functions

static void wmv2_add_block (WMV2DecContext *w, int16_t *block1, uint8_t *dst, int stride, int n)
 
void ff_wmv2_add_mb (MpegEncContext *s, int16_t block1[6][64], uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr)
 
static int parse_mb_skip (WMV2DecContext *w)
 
static int decode_ext_header (WMV2DecContext *w)
 
int ff_wmv2_decode_picture_header (MpegEncContext *s)
 
int ff_wmv2_decode_secondary_picture_header (MpegEncContext *s)
 
static void wmv2_decode_motion (WMV2DecContext *w, int *mx_ptr, int *my_ptr)
 
static int16_t * wmv2_pred_motion (WMV2DecContext *w, int *px, int *py)
 
static int wmv2_decode_inter_block (WMV2DecContext *w, int16_t *block, int n, int cbp)
 
int ff_wmv2_decode_mb (MpegEncContext *s, int16_t block[6][64])
 
static av_cold int wmv2_decode_init (AVCodecContext *avctx)
 
static av_cold int wmv2_decode_end (AVCodecContext *avctx)
 

Variables

const FFCodec ff_wmv2_decoder
 

Function Documentation

◆ wmv2_add_block()

static void wmv2_add_block ( WMV2DecContext w,
int16_t *  block1,
uint8_t *  dst,
int  stride,
int  n 
)
static

Definition at line 59 of file wmv2dec.c.

Referenced by ff_wmv2_add_mb().

◆ ff_wmv2_add_mb()

void ff_wmv2_add_mb ( MpegEncContext s,
int16_t  block1[6][64],
uint8_t *  dest_y,
uint8_t *  dest_cb,
uint8_t *  dest_cr 
)

Definition at line 85 of file wmv2dec.c.

Referenced by mpv_reconstruct_mb_internal().

◆ parse_mb_skip()

static int parse_mb_skip ( WMV2DecContext w)
static

Definition at line 102 of file wmv2dec.c.

Referenced by ff_wmv2_decode_secondary_picture_header().

◆ decode_ext_header()

static int decode_ext_header ( WMV2DecContext w)
static

Definition at line 167 of file wmv2dec.c.

Referenced by ff_wmv2_decode_picture_header().

◆ ff_wmv2_decode_picture_header()

int ff_wmv2_decode_picture_header ( MpegEncContext s)

Definition at line 205 of file wmv2dec.c.

Referenced by ff_h263_decode_frame().

◆ ff_wmv2_decode_secondary_picture_header()

int ff_wmv2_decode_secondary_picture_header ( MpegEncContext s)

Definition at line 240 of file wmv2dec.c.

Referenced by ff_h263_decode_frame().

◆ wmv2_decode_motion()

static void wmv2_decode_motion ( WMV2DecContext w,
int mx_ptr,
int my_ptr 
)
inlinestatic

Definition at line 354 of file wmv2dec.c.

Referenced by ff_wmv2_decode_mb().

◆ wmv2_pred_motion()

static int16_t* wmv2_pred_motion ( WMV2DecContext w,
int px,
int py 
)
static

Definition at line 366 of file wmv2dec.c.

Referenced by ff_wmv2_decode_mb().

◆ wmv2_decode_inter_block()

static int wmv2_decode_inter_block ( WMV2DecContext w,
int16_t *  block,
int  n,
int  cbp 
)
inlinestatic

Definition at line 411 of file wmv2dec.c.

Referenced by ff_wmv2_decode_mb().

◆ ff_wmv2_decode_mb()

int ff_wmv2_decode_mb ( MpegEncContext s,
int16_t  block[6][64] 
)

Definition at line 451 of file wmv2dec.c.

Referenced by ff_msmpeg4_decode_init().

◆ wmv2_decode_init()

static av_cold int wmv2_decode_init ( AVCodecContext avctx)
static

Definition at line 568 of file wmv2dec.c.

◆ wmv2_decode_end()

static av_cold int wmv2_decode_end ( AVCodecContext avctx)
static

Definition at line 590 of file wmv2dec.c.

Variable Documentation

◆ ff_wmv2_decoder

const FFCodec ff_wmv2_decoder
Initial value:
= {
.p.name = "wmv2",
CODEC_LONG_NAME("Windows Media Video 8"),
.p.type = AVMEDIA_TYPE_VIDEO,
.priv_data_size = sizeof(WMV2DecContext),
.close = wmv2_decode_end,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
}

Definition at line 598 of file wmv2dec.c.

AVPixelFormat
AVPixelFormat
Pixel format.
Definition: pixfmt.h:64
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
wmv2_decode_end
static av_cold int wmv2_decode_end(AVCodecContext *avctx)
Definition: wmv2dec.c:590
init
static int init
Definition: av_tx.c:47
WMV2DecContext
Definition: wmv2dec.c:38
FF_CODEC_DECODE_CB
#define FF_CODEC_DECODE_CB(func)
Definition: codec_internal.h:298
AV_CODEC_ID_WMV2
@ AV_CODEC_ID_WMV2
Definition: codec_id.h:70
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:66
CODEC_LONG_NAME
#define CODEC_LONG_NAME(str)
Definition: codec_internal.h:264
ff_h263_decode_frame
int ff_h263_decode_frame(AVCodecContext *avctx, AVFrame *pict, int *got_frame, AVPacket *avpkt)
Definition: h263dec.c:430
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_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:65
wmv2_decode_init
static av_cold int wmv2_decode_init(AVCodecContext *avctx)
Definition: wmv2dec.c:568
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AV_CODEC_CAP_DRAW_HORIZ_BAND
#define AV_CODEC_CAP_DRAW_HORIZ_BAND
Decoder can use draw_horiz_band callback.
Definition: codec.h:44