vaapi_vc1.c File Reference
#include "vaapi_internal.h"
#include "vc1.h"
#include "vc1data.h"
Include dependency graph for vaapi_vc1.c:

Go to the source code of this file.

Functions

static int get_VAMvModeVC1 (enum MVModes mv_mode)
 Translate FFmpeg MV modes to VA API. More...
 
static int vc1_has_MVTYPEMB_bitplane (VC1Context *v)
 Check whether the MVTYPEMB bitplane is present. More...
 
static int vc1_has_SKIPMB_bitplane (VC1Context *v)
 Check whether the SKIPMB bitplane is present. More...
 
static int vc1_has_DIRECTMB_bitplane (VC1Context *v)
 Check whether the DIRECTMB bitplane is present. More...
 
static int vc1_has_ACPRED_bitplane (VC1Context *v)
 Check whether the ACPRED bitplane is present. More...
 
static int vc1_has_OVERFLAGS_bitplane (VC1Context *v)
 Check whether the OVERFLAGS bitplane is present. More...
 
static int vc1_get_PTYPE (VC1Context *v)
 Reconstruct bitstream PTYPE (7.1.1.4, index into Table-35) More...
 
static VAMvModeVC1 vc1_get_MVMODE (VC1Context *v)
 Reconstruct bitstream MVMODE (7.1.1.32) More...
 
static VAMvModeVC1 vc1_get_MVMODE2 (VC1Context *v)
 Reconstruct bitstream MVMODE2 (7.1.1.33) More...
 
static int vc1_get_TTFRM (VC1Context *v)
 Reconstruct bitstream TTFRM (7.1.1.41, Table-53) More...
 
static void vc1_pack_bitplanes (uint8_t *bitplane, int n, const uint8_t *ff_bp[3], int x, int y, int stride)
 Pack FFmpeg bitplanes into a VABitPlaneBuffer element. More...
 
static int vaapi_vc1_start_frame (AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
 
static int vaapi_vc1_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 

Variables

AVHWAccel ff_vc1_vaapi_hwaccel
 

Function Documentation

static int get_VAMvModeVC1 ( enum MVModes  mv_mode)
static

Translate FFmpeg MV modes to VA API.

Definition at line 28 of file vaapi_vc1.c.

Referenced by vc1_get_MVMODE(), and vc1_get_MVMODE2().

static int vaapi_vc1_decode_slice ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
)
static

Definition at line 313 of file vaapi_vc1.c.

static int vaapi_vc1_start_frame ( AVCodecContext avctx,
av_unused const uint8_t buffer,
av_unused uint32_t  size 
)
static

Definition at line 146 of file vaapi_vc1.c.

Referenced by vaapi_vc1_decode_slice().

static VAMvModeVC1 vc1_get_MVMODE ( VC1Context v)
inlinestatic

Reconstruct bitstream MVMODE (7.1.1.32)

Definition at line 103 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static VAMvModeVC1 vc1_get_MVMODE2 ( VC1Context v)
inlinestatic

Reconstruct bitstream MVMODE2 (7.1.1.33)

Definition at line 112 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_get_PTYPE ( VC1Context v)
static

Reconstruct bitstream PTYPE (7.1.1.4, index into Table-35)

Definition at line 91 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_get_TTFRM ( VC1Context v)
inlinestatic

Reconstruct bitstream TTFRM (7.1.1.41, Table-53)

Definition at line 120 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_has_ACPRED_bitplane ( VC1Context v)
inlinestatic

Check whether the ACPRED bitplane is present.

Definition at line 69 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_has_DIRECTMB_bitplane ( VC1Context v)
inlinestatic

Check whether the DIRECTMB bitplane is present.

Definition at line 61 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_has_MVTYPEMB_bitplane ( VC1Context v)
inlinestatic

Check whether the MVTYPEMB bitplane is present.

Definition at line 41 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_has_OVERFLAGS_bitplane ( VC1Context v)
inlinestatic

Check whether the OVERFLAGS bitplane is present.

Definition at line 79 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static int vc1_has_SKIPMB_bitplane ( VC1Context v)
inlinestatic

Check whether the SKIPMB bitplane is present.

Definition at line 52 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

static void vc1_pack_bitplanes ( uint8_t bitplane,
int  n,
const uint8_t ff_bp[3],
int  x,
int  y,
int  stride 
)
inlinestatic

Pack FFmpeg bitplanes into a VABitPlaneBuffer element.

Definition at line 132 of file vaapi_vc1.c.

Referenced by vaapi_vc1_start_frame().

Variable Documentation

AVHWAccel ff_vc1_vaapi_hwaccel
Initial value:
= {
.name = "vc1_vaapi",
.start_frame = vaapi_vc1_start_frame,
.decode_slice = vaapi_vc1_decode_slice,
}
HW decoding through VA API, Picture.data[3] contains a vaapi_render_state struct which contains the b...
Definition: pixfmt.h:126
static int vaapi_vc1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vaapi_vc1.c:313
int ff_vaapi_mpeg_end_frame(AVCodecContext *avctx)
Definition: vaapi.c:197
static int vaapi_vc1_start_frame(AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
Definition: vaapi_vc1.c:146

Definition at line 348 of file vaapi_vc1.c.