libavcodec/dxva2_h264.c File Reference

#include "dxva2_internal.h"
#include "h264.h"
#include "h264data.h"

Go to the source code of this file.

Data Structures

struct  dxva2_picture_context

Functions

static void fill_picture_entry (DXVA_PicEntry_H264 *pic, unsigned index, unsigned flag)
static void fill_picture_parameters (struct dxva_context *ctx, const H264Context *h, DXVA_PicParams_H264 *pp)
static void fill_scaling_lists (struct dxva_context *ctx, const H264Context *h, DXVA_Qmatrix_H264 *qm)
static int is_slice_short (struct dxva_context *ctx)
static void fill_slice_short (DXVA_Slice_H264_Short *slice, unsigned position, unsigned size)
static void fill_slice_long (AVCodecContext *avctx, DXVA_Slice_H264_Long *slice, unsigned position, unsigned size)
static int commit_bitstream_and_slice_buffer (AVCodecContext *avctx, DXVA2_DecodeBufferDesc *bs, DXVA2_DecodeBufferDesc *sc)
static int start_frame (AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
static int decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
static int end_frame (AVCodecContext *avctx)

Variables

AVHWAccel ff_h264_dxva2_hwaccel


Function Documentation

static int commit_bitstream_and_slice_buffer ( AVCodecContext avctx,
DXVA2_DecodeBufferDesc *  bs,
DXVA2_DecodeBufferDesc *  sc 
) [static]

Definition at line 274 of file dxva2_h264.c.

Referenced by end_frame().

static int decode_slice ( AVCodecContext avctx,
const uint8_t buffer,
uint32_t  size 
) [static]

static int end_frame ( AVCodecContext avctx  )  [static]

Definition at line 426 of file dxva2_h264.c.

Referenced by avfilter_end_frame(), get_qscale(), and request_frame().

static void fill_picture_entry ( DXVA_PicEntry_H264 *  pic,
unsigned  index,
unsigned  flag 
) [static]

Definition at line 37 of file dxva2_h264.c.

Referenced by fill_picture_parameters(), and fill_slice_long().

static void fill_picture_parameters ( struct dxva_context ctx,
const H264Context h,
DXVA_PicParams_H264 *  pp 
) [static]

Definition at line 44 of file dxva2_h264.c.

Referenced by start_frame().

static void fill_scaling_lists ( struct dxva_context ctx,
const H264Context h,
DXVA_Qmatrix_H264 *  qm 
) [static]

Definition at line 156 of file dxva2_h264.c.

Referenced by start_frame().

static void fill_slice_long ( AVCodecContext avctx,
DXVA_Slice_H264_Long *  slice,
unsigned  position,
unsigned  size 
) [static]

Definition at line 197 of file dxva2_h264.c.

Referenced by decode_slice().

static void fill_slice_short ( DXVA_Slice_H264_Short *  slice,
unsigned  position,
unsigned  size 
) [static]

Definition at line 188 of file dxva2_h264.c.

Referenced by decode_slice().

static int is_slice_short ( struct dxva_context ctx  )  [static]

Definition at line 181 of file dxva2_h264.c.

Referenced by commit_bitstream_and_slice_buffer(), and decode_slice().

static int start_frame ( AVCodecContext avctx,
av_unused const uint8_t buffer,
av_unused uint32_t  size 
) [static]

Definition at line 372 of file dxva2_h264.c.

Referenced by avfilter_start_frame(), get_qscale(), and request_frame().


Variable Documentation

Initial value:

 {
    .name           = "h264_dxva2",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_H264,
    .pix_fmt        = PIX_FMT_DXVA2_VLD,
    .start_frame    = start_frame,
    .decode_slice   = decode_slice,
    .end_frame      = end_frame,
    .priv_data_size = sizeof(struct dxva2_picture_context),
}

Definition at line 441 of file dxva2_h264.c.


Generated on Fri Oct 26 02:47:56 2012 for FFmpeg by  doxygen 1.5.8