/*
* Copyright (C) 2013 Symphony Teleca <www.symphonyteleca.com>.
*
* Contact: Mohammed Hasan <Mohammed(DOT)Hasan(at)symphonyteleca(DOT)com>
*	
*/

/**@file tdav_codec_h264_hw_vpu.h
 * @brief H.264 codec plugin using FSL OMX HW codec for encoding/decoding.
 * RTP payloader/depayloader follows RFC 3984.
 *
 * @author Mohammed Hasan <Mohammed(DOT)Hasan(at)symphonyteleca(DOT)com> 
 *
 */
#ifndef TINYDAV_CODEC_H264_HW_VPU_H
#define TINYDAV_CODEC_H264_HW_VPU_H

#include "tinydav_config.h"

#if (HAVE_FFMPEG && (!defined(HAVE_H264) || HAVE_H264)) || HAVE_H264_PASSTHROUGH

#include "tinydav/codecs/h264/tdav_codec_h264_common.h"

TDAV_BEGIN_DECLS

TINYDAV_GEXTERN const tmedia_codec_plugin_def_t *tdav_codec_h264_hw_vpu_base_plugin_def_t;
TINYDAV_GEXTERN const tmedia_codec_plugin_def_t *tdav_codec_h264_hw_vpu_main_plugin_def_t;

static inline tsk_bool_t tdav_codec_h264_is_hw_vpu_plugin(const tmedia_codec_plugin_def_t *plugin)
{
	if(plugin && (plugin == tdav_codec_h264_hw_vpu_base_plugin_def_t || plugin == tdav_codec_h264_hw_vpu_main_plugin_def_t)){
		return tsk_true;
	}
	return tsk_false;
}

TDAV_END_DECLS

#endif /* HAVE_FFMPEG || HAVE_H264_PASSTHROUGH */

#endif /* TINYDAV_CODEC_H264_HW_VPU_H */
