vda_h264.c File Reference
#include <CoreFoundation/CFDictionary.h>
#include <CoreFoundation/CFNumber.h>
#include <CoreFoundation/CFData.h>
#include "vda.h"
#include "libavutil/avutil.h"
#include "h264.h"
Include dependency graph for vda_h264.c:

Go to the source code of this file.

Functions

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 vda_h264_start_frame (AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
 
static int vda_h264_decode_slice (AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
 
static int vda_h264_end_frame (AVCodecContext *avctx)
 
int ff_vda_create_decoder (struct vda_context *vda_ctx, uint8_t *extradata, int extradata_size)
 Create the video decoder. More...
 
int ff_vda_destroy_decoder (struct vda_context *vda_ctx)
 Destroy the video decoder. More...
 

Variables

AVHWAccel ff_h264_vda_hwaccel
 

Function Documentation

static void vda_decoder_callback ( void vda_hw_ctx,
CFDictionaryRef  user_info,
OSStatus  status,
uint32_t  infoFlags,
CVImageBufferRef  image_buffer 
)
static

Definition at line 33 of file vda_h264.c.

Referenced by ff_vda_create_decoder().

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

Definition at line 85 of file vda_h264.c.

static int vda_h264_end_frame ( AVCodecContext avctx)
static

Definition at line 111 of file vda_h264.c.

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

Definition at line 71 of file vda_h264.c.

static int vda_sync_decode ( struct vda_context vda_ctx)
static

< kVDADecoderFlush_emitFrames

Definition at line 50 of file vda_h264.c.

Referenced by vda_h264_end_frame().

Variable Documentation

AVHWAccel ff_h264_vda_hwaccel
Initial value:
= {
.name = "h264_vda",
.pix_fmt = AV_PIX_FMT_VDA_VLD,
.start_frame = vda_h264_start_frame,
.decode_slice = vda_h264_decode_slice,
.end_frame = vda_h264_end_frame,
}
static int vda_h264_decode_slice(AVCodecContext *avctx, const uint8_t *buffer, uint32_t size)
Definition: vda_h264.c:85
static int vda_h264_start_frame(AVCodecContext *avctx, av_unused const uint8_t *buffer, av_unused uint32_t size)
Definition: vda_h264.c:71
hardware decoding through VDA
Definition: pixfmt.h:160
static int vda_h264_end_frame(AVCodecContext *avctx)
Definition: vda_h264.c:111

Definition at line 229 of file vda_h264.c.