FFmpeg
Macros | Functions | Variables
vc1dec.c File Reference
#include "config_components.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
#include "h263dec.h"
#include "hwaccel_internal.h"
#include "hwconfig.h"
#include "mpeg_er.h"
#include "mpegvideo.h"
#include "mpegvideodec.h"
#include "msmpeg4_vc1_data.h"
#include "profiles.h"
#include "simple_idct.h"
#include "vc1.h"
#include "vc1data.h"
#include "vc1_vlc_data.h"
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "libavutil/thread.h"

Go to the source code of this file.

Macros

#define transpose(x)   (((x) >> 3) | (((x) & 7) << 3))
 

Functions

static av_cold int vc1_decode_init_alloc_tables (VC1Context *v)
 
static enum AVPixelFormat vc1_get_format (AVCodecContext *avctx)
 
av_cold int ff_vc1_decode_init (AVCodecContext *avctx)
 
av_cold void ff_vc1_init_transposed_scantables (VC1Context *v)
 
static av_cold void vc1_init_static (void)
 
av_cold void ff_vc1_init_common (VC1Context *v)
 Init VC-1 specific tables and VC1Context members. More...
 
static av_cold int vc1_decode_init (AVCodecContext *avctx)
 Initialize a VC1/WMV3 decoder. More...
 
av_cold int ff_vc1_decode_end (AVCodecContext *avctx)
 Close a VC1/WMV3 decoder. More...
 
static int vc1_decode_frame (AVCodecContext *avctx, AVFrame *pict, int *got_frame, AVPacket *avpkt)
 Decode a VC1/WMV3 frame. More...
 

Variables

static enum AVPixelFormat vc1_hwaccel_pixfmt_list_420 []
 
const FFCodec ff_vc1_decoder
 

Detailed Description

VC-1 and WMV3 decoder

Definition in file vc1dec.c.

Macro Definition Documentation

◆ transpose

#define transpose (   x)    (((x) >> 3) | (((x) & 7) << 3))

Function Documentation

◆ vc1_decode_init_alloc_tables()

static av_cold int vc1_decode_init_alloc_tables ( VC1Context v)
static

Definition at line 358 of file vc1dec.c.

Referenced by ff_vc1_decode_init().

◆ vc1_get_format()

static enum AVPixelFormat vc1_get_format ( AVCodecContext avctx)
static

Definition at line 433 of file vc1dec.c.

Referenced by ff_vc1_decode_init().

◆ ff_vc1_decode_init()

av_cold int ff_vc1_decode_init ( AVCodecContext avctx)

Definition at line 451 of file vc1dec.c.

Referenced by vc1_decode_frame(), and wmv9_init().

◆ ff_vc1_init_transposed_scantables()

av_cold void ff_vc1_init_transposed_scantables ( VC1Context v)

Definition at line 485 of file vc1dec.c.

Referenced by vc1_decode_init(), and wmv9_init().

◆ vc1_init_static()

static av_cold void vc1_init_static ( void  )
static

Definition at line 500 of file vc1dec.c.

Referenced by ff_vc1_init_common().

◆ ff_vc1_init_common()

av_cold void ff_vc1_init_common ( VC1Context v)

Init VC-1 specific tables and VC1Context members.

Parameters
vThe VC1Context to initialize
Returns
Status

Definition at line 595 of file vc1dec.c.

Referenced by vc1_decode_init(), and wmv9_init().

◆ vc1_decode_init()

static av_cold int vc1_decode_init ( AVCodecContext avctx)
static

Initialize a VC1/WMV3 decoder.

Todo:

TODO: Handle VC-1 IDUs (Transport level?)

TODO: Decipher remaining bits in extra_data

Definition at line 623 of file vc1dec.c.

◆ ff_vc1_decode_end()

av_cold int ff_vc1_decode_end ( AVCodecContext avctx)

Close a VC1/WMV3 decoder.

Warning
Initial try at using MpegEncContext stuff

Definition at line 779 of file vc1dec.c.

Referenced by ff_vc1_decode_init(), mss2_decode_end(), and vc1_decode_frame().

◆ vc1_decode_frame()

static int vc1_decode_frame ( AVCodecContext avctx,
AVFrame pict,
int got_frame,
AVPacket avpkt 
)
static

Decode a VC1/WMV3 frame.

Todo:
TODO: Handle VC-1 IDUs (Transport level?)

Definition at line 812 of file vc1dec.c.

Variable Documentation

◆ vc1_hwaccel_pixfmt_list_420

enum AVPixelFormat vc1_hwaccel_pixfmt_list_420[]
static
Initial value:

Definition at line 54 of file vc1dec.c.

Referenced by vc1_get_format().

◆ ff_vc1_decoder

const FFCodec ff_vc1_decoder

Definition at line 1385 of file vc1dec.c.

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
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:72