FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
vc1dec.c File Reference

VC-1 and WMV3 decoder. More...

#include "avcodec.h"
#include "blockdsp.h"
#include "get_bits.h"
#include "internal.h"
#include "mpeg_er.h"
#include "mpegvideo.h"
#include "msmpeg4.h"
#include "msmpeg4data.h"
#include "profiles.h"
#include "vc1.h"
#include "vc1data.h"
#include "vdpau_compat.h"
#include "libavutil/avassert.h"

Go to the source code of this file.

Macros

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

Functions

av_cold int ff_vc1_decode_init_alloc_tables (VC1Context *v)
 
av_cold void ff_vc1_init_transposed_scantables (VC1Context *v)
 
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, void *data, int *got_frame, AVPacket *avpkt)
 Decode a VC1/WMV3 frame. More...
 

Variables

static enum AVPixelFormat vc1_hwaccel_pixfmt_list_420 []
 
AVCodec ff_vc1_decoder
 

Detailed Description

VC-1 and WMV3 decoder.

Definition in file vc1dec.c.

Macro Definition Documentation

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

Function Documentation

av_cold int ff_vc1_decode_init_alloc_tables ( VC1Context v)

Definition at line 324 of file vc1dec.c.

Referenced by vc1_decode_frame(), vc1_decode_init(), and wmv9_init().

av_cold void ff_vc1_init_transposed_scantables ( VC1Context v)

Definition at line 403 of file vc1dec.c.

Referenced by vc1_decode_init(), and wmv9_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 422 of file vc1dec.c.

av_cold int ff_vc1_decode_end ( AVCodecContext avctx)

Close a VC1/WMV3 decoder.

Warning
Initial try at using MpegEncContext stuff

Definition at line 587 of file vc1dec.c.

Referenced by ff_vc1_decode_init_alloc_tables(), mss2_decode_end(), vc1_decode_frame(), and vc1_decode_init().

static int vc1_decode_frame ( AVCodecContext avctx,
void data,
int got_frame,
AVPacket avpkt 
)
static

Decode a VC1/WMV3 frame.

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

Definition at line 622 of file vc1dec.c.

Variable Documentation

enum AVPixelFormat vc1_hwaccel_pixfmt_list_420[]
static
Initial value:
= {
}
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:62

Definition at line 1147 of file vc1dec.c.

AVCodec ff_vc1_decoder
Initial value:
= {
.name = "vc1",
.long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
.priv_data_size = sizeof(VC1Context),
}
The VC1 Context.
Definition: vc1.h:173
static void flush(AVCodecContext *avctx)
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
av_cold int ff_vc1_decode_end(AVCodecContext *avctx)
Close a VC1/WMV3 decoder.
Definition: vc1dec.c:587
static enum AVPixelFormat vc1_hwaccel_pixfmt_list_420[]
Definition: vc1dec.c:1147
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:42
#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: avcodec.h:1027
static av_cold int vc1_decode_init(AVCodecContext *avctx)
Initialize a VC1/WMV3 decoder.
Definition: vc1dec.c:422
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:179
void ff_mpeg_flush(AVCodecContext *avctx)
Definition: mpegvideo.c:2771
static const AVProfile profiles[]
static enum AVPixelFormat pix_fmts[]
Definition: libkvazaar.c:266
const AVProfile ff_vc1_profiles[]
Definition: profiles.c:127
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:1002
static int vc1_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Decode a VC1/WMV3 frame.
Definition: vc1dec.c:622

Definition at line 1165 of file vc1dec.c.