Ejemplo n.º 1
0
    return tc_magick_frameout(&pd->magick, pd->img_fmt, outframe);
}


/*************************************************************************/

static const TCCodecID tc_im_codecs_video_in[] = { 
    TC_CODEC_RGB24, TC_CODEC_ERROR
};
TC_MODULE_AUDIO_UNSUPPORTED(tc_im);
TC_MODULE_CODEC_FORMATS(tc_im);

TC_MODULE_INFO(tc_im);

static const TCModuleClass tc_im_class = {
    TC_MODULE_CLASS_HEAD(tc_im),

    .init         = tc_im_init,
    .fini         = tc_im_fini,
    .configure    = tc_im_configure,
    .stop         = tc_im_stop,
    .inspect      = tc_im_inspect,

    .encode_video = tc_im_encode_video,
};

TC_MODULE_ENTRY_POINT(tc_im);

/*************************************************************************/

/*
Ejemplo n.º 2
0
TC_MODULE_GENERIC_FINI(tc_vorbis);

/*************************************************************************/

static const TCCodecID tc_vorbis_codecs_in[] = {
    TC_CODEC_PCM, TC_CODEC_ERROR
};
static const TCCodecID tc_vorbis_codecs_out[] = { 
    TC_CODEC_VORBIS, TC_CODEC_ERROR
};
TC_MODULE_CODEC_FORMATS(tc_vorbis);

TC_MODULE_INFO(tc_vorbis);

static const TCModuleClass tc_vorbis_class = {
    TC_MODULE_CLASS_HEAD(tc_vorbis),

    .init         = tc_vorbis_init,
    .fini         = tc_vorbis_fini,
    .configure    = tc_vorbis_configure,
    .stop         = tc_vorbis_stop,
    .inspect      = tc_vorbis_inspect,

    .encode_audio = tc_vorbis_encode_audio,
};

TC_MODULE_ENTRY_POINT(tc_vorbis);

/*************************************************************************/

/*
Ejemplo n.º 3
0
    }

    return vsize + asize;
}

/*************************************************************************/

static const TCCodecID null_codecs_in[] = { TC_CODEC_ANY, TC_CODEC_ERROR };
static const TCFormatID null_formats_out[] = { TC_FORMAT_NULL, TC_FORMAT_ERROR };
/* a multiplexor is at the end of pipeline */
TC_MODULE_MPLEX_FORMATS_CODECS(null);

TC_MODULE_INFO(null);

static const TCModuleClass null_class = {
    TC_MODULE_CLASS_HEAD(null),

    .init         = null_init,
    .fini         = null_fini,
    .configure    = null_configure,
    .stop         = null_stop,
    .inspect      = null_inspect,

    .multiplex    = null_multiplex,
};

TC_MODULE_ENTRY_POINT(null)

/*************************************************************************/

/*
Ejemplo n.º 4
0
/*************************************************************************/

static const TCCodecID fields_codecs_video_in[] = { 
    TC_CODEC_YUV420P, TC_CODEC_RGB24, TC_CODEC_ERROR
};
static const TCCodecID fields_codecs_video_out[] = { 
    TC_CODEC_YUV420P, TC_CODEC_RGB24, TC_CODEC_ERROR
};
TC_MODULE_AUDIO_UNSUPPORTED(fields);
TC_MODULE_FILTER_FORMATS(fields);

TC_MODULE_INFO(fields);

static const TCModuleClass fields_class = {
    TC_MODULE_CLASS_HEAD(fields),

    .init         = fields_init,
    .fini         = fields_fini,
    .configure    = fields_configure,
    .stop         = fields_stop,
    .inspect      = fields_inspect,

    .filter_video = fields_filter_video,
};

TC_MODULE_ENTRY_POINT(fields)

/*************************************************************************/

static int fields_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 5
0
    return TC_OK;
};


static const TCCodecID transform_codecs_in[] = {
    TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB, TC_CODEC_ERROR
};
static const TCCodecID transform_codecs_out[] = {
    TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB, TC_CODEC_ERROR
};
TC_MODULE_FILTER_FORMATS(transform);

TC_MODULE_INFO(transform);

static const TCModuleClass transform_class = {
    TC_MODULE_CLASS_HEAD(transform),

    .init         = transform_init,
    .fini         = transform_fini,
    .configure    = transform_configure,
    .stop         = transform_stop,
    .inspect      = transform_inspect,

    .filter_video = transform_filter_video,
};

TC_MODULE_ENTRY_POINT(transform)

/*************************************************************************/

static int transform_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 6
0
}

/*************************************************************************/

static const TCCodecID invert_codecs_in[] = { 
    TC_CODEC_RGB24, TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_ERROR
};
static const TCCodecID invert_codecs_out[] = {
    TC_CODEC_RGB24, TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_ERROR
};
TC_MODULE_FILTER_FORMATS(invert);

TC_MODULE_INFO(invert);

static const TCModuleClass invert_class = {
    TC_MODULE_CLASS_HEAD(invert),

    .init         = invert_init,
    .fini         = invert_fini,
    .configure    = invert_configure,
    .stop         = invert_stop,
    .inspect      = invert_inspect,

    .filter_video = invert_filter_video
};

TC_MODULE_ENTRY_POINT(invert)

/*************************************************************************/

static int invert_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 7
0
}

/*************************************************************************/

static const TCCodecID astat_codecs_in[] = { 
    TC_CODEC_PCM, TC_CODEC_ERROR 
};
static const TCCodecID astat_codecs_out[] = { 
    TC_CODEC_PCM, TC_CODEC_ERROR 
};
TC_MODULE_FILTER_FORMATS(astat);

TC_MODULE_INFO(astat);

static const TCModuleClass astat_class = {
    TC_MODULE_CLASS_HEAD(astat),

    .init         = astat_init,
    .fini         = astat_fini,
    .configure    = astat_configure,
    .stop         = astat_stop,
    .inspect      = astat_inspect,

    .filter_audio = astat_filter_audio,
};

TC_MODULE_ENTRY_POINT(astat)

/*************************************************************************/

static int astat_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 8
0
static const TCFormatID vag_formats_out[] = { TC_FORMAT_ERROR };

static const TCModuleInfo vag_info = {
    .features    = MOD_FEATURES,
    .flags       = MOD_FLAGS,
    .name        = MOD_NAME,
    .version     = MOD_VERSION,
    .description = MOD_CAP,
    .codecs_in   = vag_codecs_in,
    .codecs_out  = vag_codecs_out,
    .formats_in  = vag_formats_in,
    .formats_out = vag_formats_out
};

static const TCModuleClass vag_class = {
    TC_MODULE_CLASS_HEAD(vag),

    .init         = vag_init,
    .fini         = vag_fini,
    .configure    = vag_configure,
    .stop         = vag_stop,
    .inspect      = vag_inspect,

    .decode_audio = vag_decode,
};

TC_MODULE_ENTRY_POINT(vag)

/*************************************************************************/
/*************************************************************************/
Ejemplo n.º 9
0
/*************************************************************************/

static const TCCodecID logo_codecs_video_in[] = { 
    TC_CODEC_RGB24, TC_CODEC_YUV420P, TC_CODEC_ERROR
};
static const TCCodecID logo_codecs_video_out[] = {
    TC_CODEC_RGB24, TC_CODEC_YUV420P, TC_CODEC_ERROR
};
TC_MODULE_AUDIO_UNSUPPORTED(logo);
TC_MODULE_FILTER_FORMATS(logo);

TC_MODULE_INFO(logo);

static const TCModuleClass logo_class = {
    TC_MODULE_CLASS_HEAD(logo),

    .init         = logo_init,
    .fini         = logo_fini,
    .configure    = logo_configure,
    .stop         = logo_stop,
    .inspect      = logo_inspect,

    .filter_video = logo_filter_video,
};

TC_MODULE_ENTRY_POINT(logo)

/*************************************************************************/

static int logo_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 10
0
  return TC_OK;
}

static const TCCodecID deshake_codecs_in[] = {
  TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB, TC_CODEC_ERROR
};
static const TCCodecID deshake_codecs_out[] = {
  TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB, TC_CODEC_ERROR
};
TC_MODULE_FILTER_FORMATS(deshake);

TC_MODULE_INFO(deshake);

static const TCModuleClass deshake_class = {
  TC_MODULE_CLASS_HEAD(deshake),

  .init         = deshake_init,
  .fini         = deshake_fini,
  .configure    = deshake_configure,
  .stop         = deshake_stop,
  .inspect      = deshake_inspect,

  .filter_video = deshake_filter_video,
};

TC_MODULE_ENTRY_POINT(deshake)

/*************************************************************************/

static int deshake_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 11
0
static const TCFormatID nuv_formats_out[] = { TC_FORMAT_ERROR };

static const TCModuleInfo nuv_info = {
    .features    = MOD_FEATURES,
    .flags       = MOD_FLAGS,
    .name        = MOD_NAME,
    .version     = MOD_VERSION,
    .description = MOD_CAP,
    .codecs_in   = nuv_codecs_in,
    .codecs_out  = nuv_codecs_out,
    .formats_in  = nuv_formats_in,
    .formats_out = nuv_formats_out
};

static const TCModuleClass nuv_class = {
    TC_MODULE_CLASS_HEAD(nuv),

    .init         = nuv_init,
    .fini         = nuv_fini,
    .configure    = nuv_configure,
    .stop         = nuv_stop,
    .inspect      = nuv_inspect,

    .decode_video = nuv_decode_video,
    .demultiplex  = nuv_demultiplex,
};

TC_MODULE_ENTRY_POINT(nuv)

/*************************************************************************/
/*************************************************************************/
Ejemplo n.º 12
0
/*************************************************************************/

static const TCCodecID faac_codecs_audio_in[] = { 
    TC_CODEC_PCM, TC_CODEC_ERROR
};
static const TCCodecID faac_codecs_audio_out[] = { 
    TC_CODEC_AAC, TC_CODEC_ERROR 
};
TC_MODULE_VIDEO_UNSUPPORTED(faac);
TC_MODULE_CODEC_FORMATS(faac);

TC_MODULE_INFO(faac);

static const TCModuleClass faac_class = {
    TC_MODULE_CLASS_HEAD(faac),

    .init         = faac_init,
    .fini         = faac_fini,
    .configure    = faac_configure,
    .stop         = faac_stop,
    .inspect      = faac_inspect,

    .encode_audio = faac_encode,
    .flush_audio  = faac_flush,
};

TC_MODULE_ENTRY_POINT(faac);

/*************************************************************************/
Ejemplo n.º 13
0
    return TC_OK;
}

/*************************************************************************/

static const TCCodecID doublefps_codecs_in[] =
    { TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_PCM, TC_CODEC_ERROR };
static const TCCodecID doublefps_codecs_out[] =
    { TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_PCM, TC_CODEC_ERROR };
TC_MODULE_FILTER_FORMATS(doublefps);

TC_MODULE_INFO(doublefps);

static const TCModuleClass doublefps_class = {
    TC_MODULE_CLASS_HEAD(doublefps),

    .init         = doublefps_init,
    .fini         = doublefps_fini,
    .configure    = doublefps_configure,
    .stop         = doublefps_stop,
    .inspect      = doublefps_inspect,

    .filter_video = doublefps_filter_video,
    /* We have to handle the audio too! */
    .filter_audio = doublefps_filter_audio,
};

TC_MODULE_ENTRY_POINT(doublefps)

/*************************************************************************/
Ejemplo n.º 14
0
    }
    pd->framecount++;
    return vframe->video_len;
}

/*************************************************************************/

static const TCCodecID pvn_codecs_in[] = { TC_CODEC_RGB24, TC_CODEC_ERROR };
static const TCFormatID pvn_formats_out[] = { TC_FORMAT_PVN, TC_CODEC_ERROR };
/* a multiplexor is at the end of pipeline */
TC_MODULE_MPLEX_FORMATS_CODECS(pvn);

TC_MODULE_INFO(pvn);

static const TCModuleClass pvn_class = {
    TC_MODULE_CLASS_HEAD(pvn),

    .init      = pvn_init,
    .fini      = pvn_fini,
    .configure = pvn_configure,
    .stop      = pvn_stop,
    .inspect   = pvn_inspect,

    .multiplex = pvn_multiplex,
};

TC_MODULE_ENTRY_POINT(pvn);

/*************************************************************************/
/*
 * Local variables:
Ejemplo n.º 15
0
/*************************************************************************/

static const TCCodecID tc_y4m_codecs_in[] = { 
    TC_CODEC_YUV420P, TC_CODEC_ERROR
};
static const TCFormatID tc_y4m_formats_out[] = { 
    TC_FORMAT_YUV4MPEG, TC_FORMAT_ERROR
};
/* a multiplexor is at the end of pipeline */
TC_MODULE_MPLEX_FORMATS_CODECS(tc_y4m);

TC_MODULE_INFO(tc_y4m);

static const TCModuleClass tc_y4m_class = {
    TC_MODULE_CLASS_HEAD(tc_y4m),

    .init         = tc_y4m_init,
    .fini         = tc_y4m_fini,
    .configure    = tc_y4m_configure,
    .stop         = tc_y4m_stop,
    .inspect      = tc_y4m_inspect,

    .multiplex    = tc_y4m_multiplex,
};

TC_MODULE_ENTRY_POINT(tc_y4m);

/*************************************************************************/

/*
Ejemplo n.º 16
0
};

static const TCModuleInfo yw_info = {
    .features    = MOD_FEATURES,
    .flags       = MOD_FLAGS,
    .name        = MOD_NAME,
    .version     = MOD_VERSION,
    .description = MOD_CAP,
    .codecs_in   = yw_codecs_in,
    .codecs_out  = yw_codecs_out,
    .formats_in  = yw_formats_in,
    .formats_out = yw_formats_out
};

static const TCModuleClass yw_class = {
    TC_MODULE_CLASS_HEAD(yw),

    .init         = yw_init,
    .fini         = yw_fini,
    .configure    = yw_configure,
    .stop         = yw_stop,
    .inspect      = yw_inspect,

    .multiplex    = yw_multiplex,
};

TC_MODULE_ENTRY_POINT(yw);

/*************************************************************************/

/*
Ejemplo n.º 17
0
    return TC_OK;
}


/*************************************************************************/

static const TCCodecID raw_codecs_in[] = { TC_CODEC_ANY, TC_CODEC_ERROR };
static const TCFormatID raw_formats_out[] = { TC_FORMAT_RAW, TC_FORMAT_ERROR };
/* a multiplexor is at the end of pipeline */
TC_MODULE_MPLEX_FORMATS_CODECS(raw);

TC_MODULE_INFO(raw);

static const TCModuleClass raw_class = {
    TC_MODULE_CLASS_HEAD(raw),

    .init         = raw_init,
    .fini         = raw_fini,
    .configure    = raw_configure,
    .stop         = raw_stop,
    .inspect      = raw_inspect,

    .multiplex    = raw_multiplex,
};

TC_MODULE_ENTRY_POINT(raw)

/*************************************************************************/

/*
Ejemplo n.º 18
0
/*************************************************************************/

/*************************************************************************/

static const TCCodecID sdlview_codecs_in[] = { 
    TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB24, TC_CODEC_ERROR 
};
static const TCCodecID sdlview_codecs_out[] = { 
    TC_CODEC_YUV420P, TC_CODEC_YUV422P, TC_CODEC_RGB24, TC_CODEC_ERROR 
};
TC_MODULE_FILTER_FORMATS(sdlview);

TC_MODULE_INFO(sdlview);

static const TCModuleClass sdlview_class = {
    TC_MODULE_CLASS_HEAD(sdlview),

    .init         = sdlview_init,
    .fini         = sdlview_fini,
    .configure    = sdlview_configure,
    .stop         = sdlview_stop,
    .inspect      = sdlview_inspect,

    .filter_video = sdlview_filter_video,
};

TC_MODULE_ENTRY_POINT(sdlview)

/*************************************************************************/

static int sdlview_get_config(TCModuleInstance *self, char *options)
Ejemplo n.º 19
0
static const TCFormatID tc_x11_formats_out[] = { TC_FORMAT_ERROR };

static const TCModuleInfo tc_x11_info = {
    .features    = MOD_FEATURES,
    .flags       = MOD_FLAGS,
    .name        = MOD_NAME,
    .version     = MOD_VERSION,
    .description = MOD_CAP,
    .codecs_in   = tc_x11_codecs_in,
    .codecs_out  = tc_x11_codecs_out,
    .formats_in  = tc_x11_formats_in,
    .formats_out = tc_x11_formats_out
};

static const TCModuleClass tc_x11_class = {
    TC_MODULE_CLASS_HEAD(tc_x11),

    .init         = tc_x11_init,
    .fini         = tc_x11_fini,
    .configure    = tc_x11_configure,
    .stop         = tc_x11_stop,
    .inspect      = tc_x11_inspect,

    .demultiplex  = tc_x11_demultiplex,
};

TC_MODULE_ENTRY_POINT(tc_x11)

/*************************************************************************/
/*************************************************************************/
Ejemplo n.º 20
0
/*************************************************************************/

static const TCCodecID lowpass_codecs_audio_in[] = { 
    TC_CODEC_PCM, TC_CODEC_ERROR
};
static const TCCodecID lowpass_codecs_audio_out[] = { 
    TC_CODEC_PCM, TC_CODEC_ERROR
};
TC_MODULE_VIDEO_UNSUPPORTED(lowpass);
TC_MODULE_FILTER_FORMATS(lowpass);

TC_MODULE_INFO(lowpass);

static const TCModuleClass lowpass_class = {
    TC_MODULE_CLASS_HEAD(lowpass),

    .init         = lowpass_init,
    .fini         = lowpass_fini,
    .configure    = lowpass_configure,
    .stop         = lowpass_stop,
    .inspect      = lowpass_inspect,

    .filter_audio = lowpass_filter_audio,
};

TC_MODULE_ENTRY_POINT(lowpass)

/*************************************************************************/

static int lowpass_get_config(TCModuleInstance *self, char *options)