transcode.c File Reference

Include dependency graph for transcode.c:


Data Structures

struct  sout_stream_sys_t
struct  decoder_owner_sys_t
struct  filter_owner_sys_t
struct  sout_stream_id_t
struct  picture_sys_t

Defines

#define MASTER_SYNC_MAX_DRIFT   100000
#define VENC_TEXT   N_("Video encoder")
#define VENC_LONGTEXT
#define VCODEC_TEXT   N_("Destination video codec")
#define VCODEC_LONGTEXT
#define VB_TEXT   N_("Video bitrate")
#define VB_LONGTEXT
#define SCALE_TEXT   N_("Video scaling")
#define SCALE_LONGTEXT
#define FPS_TEXT   N_("Video frame-rate")
#define FPS_LONGTEXT
#define DEINTERLACE_TEXT   N_("Deinterlace video")
#define DEINTERLACE_LONGTEXT
#define DEINTERLACE_MODULE_TEXT   N_("Deinterlace module")
#define DEINTERLACE_MODULE_LONGTEXT
#define WIDTH_TEXT   N_("Video width")
#define WIDTH_LONGTEXT
#define HEIGHT_TEXT   N_("Video height")
#define HEIGHT_LONGTEXT
#define MAXWIDTH_TEXT   N_("Maximum video width")
#define MAXWIDTH_LONGTEXT
#define MAXHEIGHT_TEXT   N_("Maximum video height")
#define MAXHEIGHT_LONGTEXT
#define VFILTER_TEXT   N_("Video filter")
#define VFILTER_LONGTEXT
#define AENC_TEXT   N_("Audio encoder")
#define AENC_LONGTEXT
#define ACODEC_TEXT   N_("Destination audio codec")
#define ACODEC_LONGTEXT
#define AB_TEXT   N_("Audio bitrate")
#define AB_LONGTEXT
#define ARATE_TEXT   N_("Audio sample rate")
#define ARATE_LONGTEXT
#define ACHANS_TEXT   N_("Audio channels")
#define ACHANS_LONGTEXT
#define AFILTER_TEXT   N_("Audio filter")
#define AFILTER_LONGTEXT
#define SENC_TEXT   N_("Subtitles encoder")
#define SENC_LONGTEXT
#define SCODEC_TEXT   N_("Destination subtitles codec")
#define SCODEC_LONGTEXT
#define SFILTER_TEXT   N_("Overlays")
#define SFILTER_LONGTEXT
#define OSD_TEXT   N_("OSD menu")
#define OSD_LONGTEXT
#define THREADS_TEXT   N_("Number of threads")
#define THREADS_LONGTEXT
#define HP_TEXT   N_("High priority")
#define HP_LONGTEXT
#define ASYNC_TEXT   N_("Synchronise on audio track")
#define ASYNC_LONGTEXT
#define HURRYUP_TEXT   N_( "Hurry up" )
#define HURRYUP_LONGTEXT
#define SOUT_CFG_PREFIX   "sout-transcode-"
#define PICTURE_RING_SIZE   64
#define SUBPICTURE_RING_SIZE   20
#define ENC_FRAMERATE   (25 * 1000 + .5)
#define ENC_FRAMERATE_BASE   1000

Functions

static int Open (vlc_object_t *)
static void Close (vlc_object_t *)
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static sout_stream_id_tAdd (sout_stream_t *, es_format_t *)
static int Del (sout_stream_t *, sout_stream_id_t *)
static int Send (sout_stream_t *, sout_stream_id_t *, block_t *)
static int transcode_audio_new (sout_stream_t *, sout_stream_id_t *)
static void transcode_audio_close (sout_stream_id_t *)
static int transcode_audio_process (sout_stream_t *, sout_stream_id_t *, block_t *, block_t **)
static aout_buffer_taudio_new_buffer (decoder_t *, int)
static void audio_del_buffer (decoder_t *, aout_buffer_t *)
static int transcode_video_new (sout_stream_t *, sout_stream_id_t *)
static void transcode_video_close (sout_stream_t *, sout_stream_id_t *)
static void transcode_video_encoder_init (sout_stream_t *, sout_stream_id_t *)
static int transcode_video_encoder_open (sout_stream_t *, sout_stream_id_t *)
static int transcode_video_process (sout_stream_t *, sout_stream_id_t *, block_t *, block_t **)
static void video_del_buffer (vlc_object_t *, picture_t *)
static picture_tvideo_new_buffer_decoder (decoder_t *)
static void video_del_buffer_decoder (decoder_t *, picture_t *)
static void video_link_picture_decoder (decoder_t *, picture_t *)
static void video_unlink_picture_decoder (decoder_t *, picture_t *)
static picture_tvideo_new_buffer_filter (filter_t *)
static void video_del_buffer_filter (filter_t *, picture_t *)
static int transcode_spu_new (sout_stream_t *, sout_stream_id_t *)
static void transcode_spu_close (sout_stream_id_t *)
static int transcode_spu_process (sout_stream_t *, sout_stream_id_t *, block_t *, block_t **)
static int transcode_osd_new (sout_stream_t *, sout_stream_id_t *)
static void transcode_osd_close (sout_stream_t *, sout_stream_id_t *)
static int transcode_osd_process (sout_stream_t *, sout_stream_id_t *, block_t *, block_t **)
static void * EncoderThread (vlc_object_t *p_this)
static void video_timer_start (encoder_t *p_encoder)
static void video_timer_stop (encoder_t *p_encoder)
static void video_timer_close (encoder_t *p_encoder)
static void audio_timer_start (encoder_t *p_encoder)
static void audio_timer_stop (encoder_t *p_encoder)
static void audio_timer_close (encoder_t *p_encoder)
static block_ttranscode_audio_alloc (filter_t *p_filter, int size)
static int transcode_audio_filter_allocation_init (filter_t *p_filter, void *data)
static void audio_release_buffer (aout_buffer_t *p_buffer)
static int transcode_video_filter_allocation_init (filter_t *p_filter, void *p_data)
static void transcode_video_filter_allocation_clear (filter_t *p_filter)
static void video_release_buffer (picture_t *p_pic)
static picture_tvideo_new_buffer (vlc_object_t *p_this, picture_t **pp_ring, sout_stream_sys_t *p_sys)
static subpicture_tspu_new_buffer (decoder_t *)
static void spu_del_buffer (decoder_t *, subpicture_t *)

Variables

static const char *const ppsz_deinterlace_type []
static const char *const ppsz_sout_options []
static const int pi_channels_maps [6]

Define Documentation

#define AB_LONGTEXT

Value:

N_( \
    "Target bitrate of the transcoded audio stream." )

#define AB_TEXT   N_("Audio bitrate")

#define ACHANS_LONGTEXT

Value:

N_( \
    "Number of audio channels in the transcoded streams." )

#define ACHANS_TEXT   N_("Audio channels")

#define ACODEC_LONGTEXT

Value:

N_( \
    "This is the audio codec that will be used.")

#define ACODEC_TEXT   N_("Destination audio codec")

#define AENC_LONGTEXT

Value:

N_( \
    "This is the audio encoder module that will be used (and its associated "\
    "options).")

#define AENC_TEXT   N_("Audio encoder")

#define AFILTER_LONGTEXT

Value:

N_( \
    "Audio filters will be applied to the audio streams (after conversion " \
    "filters are applied). You must enter a comma-separated list of filters." )

#define AFILTER_TEXT   N_("Audio filter")

#define ARATE_LONGTEXT

Value:

N_( \
 "Sample rate of the transcoded audio stream (11250, 22500, 44100 or 48000).")

#define ARATE_TEXT   N_("Audio sample rate")

#define ASYNC_LONGTEXT

Value:

N_( \
    "This option will drop/duplicate video frames to synchronise the video " \
    "track on the audio track." )

#define ASYNC_TEXT   N_("Synchronise on audio track")

#define DEINTERLACE_LONGTEXT

Value:

N_( \
    "Deinterlace the video before encoding." )

#define DEINTERLACE_MODULE_LONGTEXT

Value:

N_( \
    "Specify the deinterlace module to use." )

#define DEINTERLACE_MODULE_TEXT   N_("Deinterlace module")

#define DEINTERLACE_TEXT   N_("Deinterlace video")

#define ENC_FRAMERATE   (25 * 1000 + .5)

#define ENC_FRAMERATE_BASE   1000

#define FPS_LONGTEXT

Value:

N_( \
    "Target output frame rate for the video stream." )

#define FPS_TEXT   N_("Video frame-rate")

#define HEIGHT_LONGTEXT

Value:

N_( \
    "Output video height." )

#define HEIGHT_TEXT   N_("Video height")

#define HP_LONGTEXT

Value:

N_( \
    "Runs the optional encoder thread at the OUTPUT priority instead of " \
    "VIDEO." )

#define HP_TEXT   N_("High priority")

#define HURRYUP_LONGTEXT

Value:

N_( "The transcoder will drop frames if your CPU " \
                "can't keep up with the encoding rate." )

#define HURRYUP_TEXT   N_( "Hurry up" )

#define MASTER_SYNC_MAX_DRIFT   100000

#define MAXHEIGHT_LONGTEXT

Value:

N_( \
    "Maximum output video height." )

#define MAXHEIGHT_TEXT   N_("Maximum video height")

#define MAXWIDTH_LONGTEXT

Value:

N_( \
    "Maximum output video width." )

#define MAXWIDTH_TEXT   N_("Maximum video width")

#define OSD_LONGTEXT

Value:

N_(\
    "Stream the On Screen Display menu (using the osdmenu subpicture module)." )

#define OSD_TEXT   N_("OSD menu")

#define PICTURE_RING_SIZE   64

#define SCALE_LONGTEXT

Value:

N_( \
    "Scale factor to apply to the video while transcoding (eg: 0.25)")

#define SCALE_TEXT   N_("Video scaling")

#define SCODEC_LONGTEXT

Value:

N_( \
    "This is the subtitles codec that will be used." )

#define SCODEC_TEXT   N_("Destination subtitles codec")

#define SENC_LONGTEXT

Value:

N_( \
    "This is the subtitles encoder module that will be used (and its " \
    "associated options)." )

#define SENC_TEXT   N_("Subtitles encoder")

#define SFILTER_LONGTEXT

Value:

N_( \
    "This allows you to add overlays (also known as \"subpictures\" on the "\
    "transcoded video stream. The subpictures produced by the filters will "\
    "be overlayed directly onto the video. You must specify a comma-separated "\
    "list of subpicture modules" )

#define SFILTER_TEXT   N_("Overlays")

#define SOUT_CFG_PREFIX   "sout-transcode-"

#define SUBPICTURE_RING_SIZE   20

#define THREADS_LONGTEXT

Value:

N_( \
    "Number of threads used for the transcoding." )

#define THREADS_TEXT   N_("Number of threads")

#define VB_LONGTEXT

Value:

N_( \
    "Target bitrate of the transcoded video stream." )

#define VB_TEXT   N_("Video bitrate")

#define VCODEC_LONGTEXT

Value:

N_( \
    "This is the video codec that will be used.")

#define VCODEC_TEXT   N_("Destination video codec")

#define VENC_LONGTEXT

Value:

N_( \
    "This is the video encoder module that will be used (and its associated "\
    "options).")

#define VENC_TEXT   N_("Video encoder")

#define VFILTER_LONGTEXT

Value:

N_( \
    "Video filters will be applied to the video streams (after overlays " \
    "are applied). You must enter a comma-separated list of filters." )

#define VFILTER_TEXT   N_("Video filter")

#define WIDTH_LONGTEXT

Value:

N_( \
    "Output video width." )

#define WIDTH_TEXT   N_("Video width")


Function Documentation

static sout_stream_id_t * Add ( sout_stream_t ,
es_format_t  
) [static]

static void audio_del_buffer ( decoder_t ,
aout_buffer_t  
) [static]

static aout_buffer_t * audio_new_buffer ( decoder_t ,
int   
) [static]

static void audio_release_buffer ( aout_buffer_t p_buffer  )  [static]

static void audio_timer_close ( encoder_t p_encoder  )  [inline, static]

static void audio_timer_start ( encoder_t p_encoder  )  [inline, static]

static void audio_timer_stop ( encoder_t p_encoder  )  [inline, static]

static void Close ( vlc_object_t  )  [static]

static int Del ( sout_stream_t ,
sout_stream_id_t  
) [static]

static void * EncoderThread ( vlc_object_t p_this  )  [static]

static int Open ( vlc_object_t  )  [static]

static int Send ( sout_stream_t ,
sout_stream_id_t ,
block_t  
) [static]

static void spu_del_buffer ( decoder_t ,
subpicture_t  
) [static]

static subpicture_t * spu_new_buffer ( decoder_t  )  [static]

static block_t* transcode_audio_alloc ( filter_t p_filter,
int  size 
) [static]

static void transcode_audio_close ( sout_stream_id_t  )  [static]

static int transcode_audio_filter_allocation_init ( filter_t p_filter,
void *  data 
) [static]

static int transcode_audio_new ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_audio_process ( sout_stream_t ,
sout_stream_id_t ,
block_t ,
block_t **   
) [static]

static void transcode_osd_close ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_osd_new ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_osd_process ( sout_stream_t ,
sout_stream_id_t ,
block_t ,
block_t **   
) [static]

static void transcode_spu_close ( sout_stream_id_t  )  [static]

static int transcode_spu_new ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_spu_process ( sout_stream_t ,
sout_stream_id_t ,
block_t ,
block_t **   
) [static]

static void transcode_video_close ( sout_stream_t ,
sout_stream_id_t  
) [static]

static void transcode_video_encoder_init ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_video_encoder_open ( sout_stream_t ,
sout_stream_id_t  
) [static]

static void transcode_video_filter_allocation_clear ( filter_t p_filter  )  [static]

static int transcode_video_filter_allocation_init ( filter_t p_filter,
void *  p_data 
) [static]

static int transcode_video_new ( sout_stream_t ,
sout_stream_id_t  
) [static]

static int transcode_video_process ( sout_stream_t ,
sout_stream_id_t ,
block_t ,
block_t **   
) [static]

static void video_del_buffer ( vlc_object_t ,
picture_t  
) [static]

static void video_del_buffer_decoder ( decoder_t ,
picture_t  
) [static]

static void video_del_buffer_filter ( filter_t ,
picture_t  
) [static]

static void video_link_picture_decoder ( decoder_t ,
picture_t  
) [static]

static picture_t* video_new_buffer ( vlc_object_t p_this,
picture_t **  pp_ring,
sout_stream_sys_t p_sys 
) [static]

static picture_t * video_new_buffer_decoder ( decoder_t  )  [static]

static picture_t * video_new_buffer_filter ( filter_t  )  [static]

static void video_release_buffer ( picture_t p_pic  )  [static]

static void video_timer_close ( encoder_t p_encoder  )  [inline, static]

static void video_timer_start ( encoder_t p_encoder  )  [inline, static]

static void video_timer_stop ( encoder_t p_encoder  )  [inline, static]

static void video_unlink_picture_decoder ( decoder_t ,
picture_t  
) [static]

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

const int pi_channels_maps[6] [static]

Initial value:

{
    0,
     0x1 ,    0x2  |  0x4 ,
     0x1  |  0x2  |  0x4 ,
     0x2  |  0x4  |  0x20 
     |  0x40 ,
     0x2  |  0x4  |  0x1 
     |  0x20  |  0x40 
}

const char* const ppsz_deinterlace_type[] [static]

Initial value:

{
    "deinterlace", "ffmpeg-deinterlace"
}

const char* const ppsz_sout_options[] [static]

Initial value:

 {
    "venc", "vcodec", "vb",
    "scale", "fps", "width", "height", "vfilter", "deinterlace",
    "deinterlace-module", "threads", "hurry-up", "aenc", "acodec", "ab",
    "afilter", "samplerate", "channels", "senc", "scodec", "soverlay",
    "sfilter", "osd", "audio-sync", "high-priority", "maxwidth", "maxheight",
    NULL
}


Generated on Wed Aug 13 08:04:50 2008 for VLC by  doxygen 1.5.1