#include <CoreFoundation/CFDictionary.h>
#include <CoreFoundation/CFNumber.h>
#include <CoreFoundation/CFData.h>
#include "vda.h"
#include "libavutil/avutil.h"
#include "h264.h"
#include <CoreFoundation/CFString.h>
Go to the source code of this file.
Functions | |
static CFDictionaryRef | vda_dictionary_with_pts (int64_t i_pts) |
static int64_t | vda_pts_from_dictionary (CFDictionaryRef user_info) |
static void | vda_clear_queue (struct vda_context *vda_ctx) |
static int | vda_decoder_decode (struct vda_context *vda_ctx, uint8_t *bitstream, int bitstream_size, int64_t frame_pts) |
vda_frame * | ff_vda_queue_pop (struct vda_context *vda_ctx) |
Return the top frame of the queue. | |
void | ff_vda_release_vda_frame (vda_frame *frame) |
Release the given frame. | |
static void | vda_decoder_callback (void *vda_hw_ctx, CFDictionaryRef user_info, OSStatus status, uint32_t infoFlags, CVImageBufferRef image_buffer) |
static int | vda_sync_decode (struct vda_context *vda_ctx) |
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) |
int | ff_vda_create_decoder (struct vda_context *vda_ctx, uint8_t *extradata, int extradata_size) |
Create the video decoder. | |
int | ff_vda_destroy_decoder (struct vda_context *vda_ctx) |
Destroy the video decoder. | |
Variables | |
AVHWAccel | ff_h264_vda_hwaccel |
static int decode_slice | ( | AVCodecContext * | avctx, | |
const uint8_t * | buffer, | |||
uint32_t | size | |||
) | [static] |
Definition at line 216 of file vda_h264.c.
static int end_frame | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 242 of file vda_h264.c.
static int start_frame | ( | AVCodecContext * | avctx, | |
av_unused const uint8_t * | buffer, | |||
av_unused uint32_t | size | |||
) | [static] |
Definition at line 202 of file vda_h264.c.
static void vda_clear_queue | ( | struct vda_context * | vda_ctx | ) | [static] |
static void vda_decoder_callback | ( | void * | vda_hw_ctx, | |
CFDictionaryRef | user_info, | |||
OSStatus | status, | |||
uint32_t | infoFlags, | |||
CVImageBufferRef | image_buffer | |||
) | [static] |
static int vda_decoder_decode | ( | struct vda_context * | vda_ctx, | |
uint8_t * | bitstream, | |||
int | bitstream_size, | |||
int64_t | frame_pts | |||
) | [static] |
static CFDictionaryRef vda_dictionary_with_pts | ( | int64_t | i_pts | ) | [static] |
static int64_t vda_pts_from_dictionary | ( | CFDictionaryRef | user_info | ) | [static] |
static int vda_sync_decode | ( | struct vda_context * | vda_ctx | ) | [static] |
Initial value:
{ .name = "h264_vda", .type = AVMEDIA_TYPE_VIDEO, .id = AV_CODEC_ID_H264, .pix_fmt = PIX_FMT_VDA_VLD, .start_frame = start_frame, .decode_slice = decode_slice, .end_frame = end_frame, }
Definition at line 374 of file vda_h264.c.