#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 |
static int commit_bitstream_and_slice_buffer | ( | AVCodecContext * | avctx, | |
DXVA2_DecodeBufferDesc * | bs, | |||
DXVA2_DecodeBufferDesc * | sc | |||
) | [static] |
static int decode_slice | ( | AVCodecContext * | avctx, | |
const uint8_t * | buffer, | |||
uint32_t | size | |||
) | [static] |
Definition at line 397 of file dxva2_h264.c.
Referenced by decode_frame(), decode_picture(), execute_decode_slices(), and ff_h263_decode_frame().
static int end_frame | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 427 of file dxva2_h264.c.
Referenced by ff_end_frame(), filter_samples(), get_qscale(), init(), 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] |
static void fill_scaling_lists | ( | struct dxva_context * | ctx, | |
const H264Context * | h, | |||
DXVA_Qmatrix_H264 * | qm | |||
) | [static] |
static void fill_slice_long | ( | AVCodecContext * | avctx, | |
DXVA_Slice_H264_Long * | slice, | |||
unsigned | position, | |||
unsigned | size | |||
) | [static] |
static void fill_slice_short | ( | DXVA_Slice_H264_Short * | slice, | |
unsigned | position, | |||
unsigned | size | |||
) | [static] |
static int is_slice_short | ( | struct dxva_context * | ctx | ) | [static] |
Definition at line 182 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 373 of file dxva2_h264.c.
Referenced by ff_start_frame(), get_qscale(), init(), and request_frame().
Initial value:
{ .name = "h264_dxva2", .type = AVMEDIA_TYPE_VIDEO, .id = AV_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 442 of file dxva2_h264.c.