libavcodec/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 <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_frameff_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


Function Documentation

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]

Definition at line 67 of file vda_h264.c.

Referenced by ff_vda_destroy_decoder().

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

Definition at line 127 of file vda_h264.c.

Referenced by ff_vda_create_decoder().

static int vda_decoder_decode ( struct vda_context vda_ctx,
uint8_t bitstream,
int  bitstream_size,
int64_t  frame_pts 
) [static]

Definition at line 82 of file vda_h264.c.

Referenced by end_frame().

static CFDictionaryRef vda_dictionary_with_pts ( int64_t  i_pts  )  [static]

Definition at line 35 of file vda_h264.c.

Referenced by vda_decoder_decode().

static int64_t vda_pts_from_dictionary ( CFDictionaryRef  user_info  )  [static]

Definition at line 50 of file vda_h264.c.

Referenced by vda_decoder_callback().

static int vda_sync_decode ( struct vda_context vda_ctx  )  [static]

< kVDADecoderFlush_emitFrames

Definition at line 182 of file vda_h264.c.

Referenced by end_frame().


Variable Documentation

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.


Generated on Fri Oct 26 02:50:08 2012 for FFmpeg by  doxygen 1.5.8