本文整理汇总了C++中codec_init函数的典型用法代码示例。如果您正苦于以下问题:C++ codec_init函数的具体用法?C++ codec_init怎么用?C++ codec_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了codec_init函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: codecs_init
static void codecs_init(void *base, u32 codec_mask)
{
int i;
for (i = 2; i >= 0; i--) {
if (codec_mask & (1 << i))
codec_init(base, i);
}
}
示例2: es_format_Init
/* PT=32
* MPV: MPEG Video (RFC2250, §3.5)
*/
static void *mpv_init (demux_t *demux)
{
es_format_t fmt;
es_format_Init (&fmt, VIDEO_ES, VLC_CODEC_MPGV);
fmt.b_packetized = false;
return codec_init (demux, &fmt);
}
示例3: codecs_init
static void codecs_init(struct device *dev, u8 *base, u32 codec_mask)
{
int i;
for (i = 2; i >= 0; i--) {
if (codec_mask & (1 << i))
codec_init(dev, base, i);
}
}
示例4: codec_run
/* this is called for each file to process */
enum codec_status codec_run(void)
{
size_t n;
unsigned char *filebuf;
int sample_loc;
intptr_t param;
if (codec_init())
return CODEC_ERROR;
ci->configure(DSP_SET_FREQUENCY, ci->id3->frequency);
codec_set_replaygain(ci->id3);
/* Intialise the A52 decoder and check for success */
state = a52_init(0);
samplesdone = 0;
/* The main decoding loop */
if (ci->id3->offset) {
if (ci->seek_buffer(ci->id3->offset)) {
samplesdone = (ci->id3->offset / ci->id3->bytesperframe) *
A52_SAMPLESPERFRAME;
ci->set_elapsed(samplesdone/(ci->id3->frequency / 1000));
}
}
else {
ci->seek_buffer(ci->id3->first_frame_offset);
ci->set_elapsed(0);
}
while (1) {
enum codec_command_action action = ci->get_command(¶m);
if (action == CODEC_ACTION_HALT)
break;
if (action == CODEC_ACTION_SEEK_TIME) {
sample_loc = param/1000 * ci->id3->frequency;
if (ci->seek_buffer((sample_loc/A52_SAMPLESPERFRAME)*ci->id3->bytesperframe)) {
samplesdone = sample_loc;
ci->set_elapsed(samplesdone/(ci->id3->frequency/1000));
}
ci->seek_complete();
}
filebuf = ci->request_buffer(&n, BUFFER_SIZE);
if (n == 0) /* End of Stream */
break;
a52_decode_data(filebuf, filebuf + n);
ci->advance_buffer(n);
}
return CODEC_OK;
}
示例5: es_format_Init
/* PT=14
* MPA: MPEG Audio (RFC2250, §3.4)
*/
static void *mpa_init (demux_t *demux)
{
es_format_t fmt;
es_format_Init (&fmt, AUDIO_ES, VLC_CODEC_MPGA);
fmt.audio.i_channels = 2;
fmt.b_packetized = false;
return codec_init (demux, &fmt);
}
示例6: es_format_Init
/* PT=10,11
* L16: 16-bits (network byte order) PCM
*/
static void *l16s_init (demux_t *demux)
{
es_format_t fmt;
es_format_Init (&fmt, AUDIO_ES, VLC_CODEC_S16B);
fmt.audio.i_rate = 44100;
fmt.audio.i_original_channels =
fmt.audio.i_physical_channels = AOUT_CHANS_STEREO;
return codec_init (demux, &fmt);
}
示例7: codec_main
/* this is the codec entry point */
enum codec_status codec_main(enum codec_entry_call_reason reason)
{
if (reason == CODEC_LOAD) {
if (codec_init())
return CODEC_ERROR;
ci->configure(DSP_SET_SAMPLE_DEPTH, 24);
}
return CODEC_OK;
}
示例8: init_all
void init_all(void)
{
GPIO_init();
DAC_DMA_init();
P24_init();
vdisplay_init();
codec_init();
codec_ctrl_init();
TIM6_init(); /* Initialize timer */
TIM3_init(); /* interrupts last... */
TIM4_init();
}
示例9: tosh_init
/*
* Initialize the driver.
*/
static int
tosh_init( struct wm_drive *d )
{
extern int min_volume;
/* Sun use Toshiba drives as well */
#if defined(SYSV) && defined(CODEC)
codec_init();
#endif
min_volume = 0;
return ( 0 );
}
示例10: S_Init
void S_Init( void )
{
cvar_t *cv;
qboolean started = qfalse;
Com_Printf("%s", _( "------ Initializing Sound -----\n" ));
cv = Cvar_Get( "s_initsound", "1", 0 );
if ( !cv->integer )
{
Com_Printf( "Sound Disabled\n" );
return;
}
else
{
codec_init();
s_volume = Cvar_Get( "s_volume", "0.8", CVAR_ARCHIVE );
s_musicVolume = Cvar_Get( "s_musicvolume", "0.25", CVAR_ARCHIVE );
s_separation = Cvar_Get( "s_separation", "0.5", CVAR_ARCHIVE );
s_doppler = Cvar_Get( "s_doppler", "1", CVAR_ARCHIVE );
s_khz = Cvar_Get( "s_khz", "22", CVAR_ARCHIVE );
s_mixahead = Cvar_Get( "s_mixahead", "0.2", CVAR_ARCHIVE );
s_mixPreStep = Cvar_Get( "s_mixPreStep", "0.05", CVAR_ARCHIVE );
s_show = Cvar_Get( "s_show", "0", CVAR_CHEAT );
s_testsound = Cvar_Get( "s_testsound", "0", CVAR_CHEAT );
cv = Cvar_Get( "s_usemodule", "1", CVAR_ARCHIVE );
if( cv->integer )
{
started = S_AL_Init( &si );
}
if( !started )
{
Com_Printf( "Using builtin sound backend\n" );
S_Base_Init( &si );
}
else
{
Com_Printf( "Using OpenAL sound backend\n" );
}
Cmd_AddCommand( "play", S_Play_f );
Cmd_AddCommand( "music", S_Music_f );
Cmd_AddCommand( "s_list", S_SoundList_f );
Cmd_AddCommand( "s_info", S_SoundInfo_f );
Cmd_AddCommand( "s_stop", S_StopAllSounds );
}
Com_Printf( "------------------------------------\n" );
}
示例11: aml_setup
int aml_setup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags) {
codecParam.stream_type = STREAM_TYPE_ES_VIDEO;
codecParam.has_video = 1;
codecParam.noblock = 0;
codecParam.am_sysinfo.param = 0;
switch (videoFormat) {
case VIDEO_FORMAT_H264:
if (width > 1920 || height > 1080) {
codecParam.video_type = VFORMAT_H264_4K2K;
codecParam.am_sysinfo.format = VIDEO_DEC_FORMAT_H264_4K2K;
} else {
codecParam.video_type = VFORMAT_H264;
codecParam.am_sysinfo.format = VIDEO_DEC_FORMAT_H264;
// Workaround for decoding special case of C1, 1080p, H264
int major, minor;
struct utsname name;
uname(&name);
int ret = sscanf(name.release, "%d.%d", &major, &minor);
if (!(major > 3 || (major == 3 && minor >= 14)) && width == 1920 && height == 1080)
codecParam.am_sysinfo.param = (void*) UCODE_IP_ONLY_PARAM;
}
break;
case VIDEO_FORMAT_H265:
codecParam.video_type = VFORMAT_HEVC;
codecParam.am_sysinfo.format = VIDEO_DEC_FORMAT_HEVC;
break;
default:
printf("Video format not supported\n");
return -1;
}
codecParam.am_sysinfo.width = width;
codecParam.am_sysinfo.height = height;
codecParam.am_sysinfo.rate = 96000 / redrawRate;
codecParam.am_sysinfo.param = (void*) ((size_t) codecParam.am_sysinfo.param | SYNC_OUTSIDE);
int ret;
if ((ret = codec_init(&codecParam)) != 0) {
fprintf(stderr, "codec_init error: %x\n", ret);
return -2;
}
if ((ret = codec_set_freerun_mode(&codecParam, 1)) != 0) {
fprintf(stderr, "Can't set Freerun mode: %x\n", ret);
return -2;
}
return 0;
}
示例12: codecs_init
static void codecs_init(struct device *dev, u32 base, u32 codec_mask)
{
int i;
for (i = 3; i >= 0; i--) {
if (codec_mask & (1 << i))
codec_init(dev, base, i);
}
for (i = 0; i < pc_beep_verbs_size; i++) {
if (wait_for_ready(base) == -1)
return;
write32(base + 0x60, pc_beep_verbs[i]);
if (wait_for_valid(base) == -1)
return;
}
}
示例13: gst_set_vstream_info
static gboolean
gst_set_vstream_info(GstAmlVdec *amlvdec, GstCaps * caps)
{
GstStructure *structure;
const char *name;
gint32 ret = CODEC_ERROR_NONE;
AmlStreamInfo *videoinfo = NULL;
int coordinate[4] = {0, 0, 0, 0};
structure = gst_caps_get_structure(caps, 0);
name = gst_structure_get_name(structure);
videoinfo = amlVstreamInfoInterface(name);
if (NULL == name) {
return FALSE;
}
amlvdec->info = videoinfo;
videoinfo->init(videoinfo, amlvdec->pcodec, structure);
if (amlvdec->pcodec && amlvdec->pcodec->stream_type == STREAM_TYPE_ES_VIDEO) {
if (!amlvdec->codec_init_ok) {
ret = codec_init(amlvdec->pcodec);
if (ret != CODEC_ERROR_NONE) {
GST_ERROR("codec init failed, ret=-0x%x", -ret);
return FALSE;
}
set_fb0_blank(1);
set_fb1_blank(1);
set_tsync_enable(1);
set_display_axis(coordinate);
//set_video_axis(coordinate);
amlvdec->codec_init_ok = 1;
if (amlvdec->trickRate > 0) {
if (amlvdec->pcodec && amlvdec->pcodec->cntl_handle) {
//T codec_set_video_playrate(amlvdec->pcodec, (int) (amlvdec->trickRate * (1 << 16)));
}
}
GST_DEBUG_OBJECT(amlvdec, "video codec_init ok");
}
}
return TRUE;
}
示例14: memset
bool CTsPlayer::StartPlay()
{
int ret;
memset(pcodec,0,sizeof(*pcodec));
pcodec->stream_type=STREAM_TYPE_TS;
pcodec->video_type = vPara.vFmt;
pcodec->has_video=1;
pcodec->audio_type= aPara.aFmt;
pcodec->has_audio=1;
pcodec->video_pid=(int)vPara.pid;
pcodec->audio_pid=(int)aPara.pid;
//pcodec->audio_channels = 1;
//pcodec->audio_samplerate = 48000;
// 解决AC3无声的问题
if(IS_AUIDO_NEED_EXT_INFO(pcodec->audio_type)){
pcodec->audio_info.valid = 1;
LOGI("set audio_info.valid to 1");
}
if (pcodec->video_type == VFORMAT_H264) {
pcodec->am_sysinfo.format = VIDEO_DEC_FORMAT_H264;
pcodec->am_sysinfo.param = (void *)(0);
}
else if(pcodec->video_type ==VFORMAT_MPEG12){
pcodec->am_sysinfo.param = (void *)(0);
}
printf("set %d,%d,%d,%d\n",vPara.vFmt,aPara.aFmt,vPara.pid,aPara.pid);
pcodec->noblock = 0;
/*other setting*/
ret=codec_init(pcodec);
#if DUMP_TSPACKET1
m_fStream = fopen("/data/data/novel.supertv.dvb/new_1.ts","wb");
#endif
return !ret;
}
示例15: xiph_decode
//.........这里部分代码省略.........
if (pkts > 0 || block->i_buffer < 2)
goto drop;
size_t fraglen = GetWBE (block->p_buffer);
if (block->i_buffer < (fraglen + 2))
goto drop; /* Invalid payload length */
block->i_buffer = fraglen;
if (fragtype == 1)/* Keep first fragment */
{
block->i_buffer += 2;
self->block = block;
}
else
{ /* Append non-first fragment */
size_t len = self->block->i_buffer;
self->block = block_Realloc (self->block, 0, len + fraglen);
if (!self->block)
{
block_Release (block);
return;
}
memcpy (self->block->p_buffer + len, block->p_buffer + 2,
fraglen);
block_Release (block);
}
if (fragtype < 3)
return; /* Non-last fragment */
/* Last fragment reached, process it */
block = self->block;
self->block = NULL;
SetWBE (block->p_buffer, block->i_buffer - 2);
pkts = 1;
}
/* RTP payload packets processing */
while (pkts > 0)
{
if (block->i_buffer < 2)
goto drop;
size_t len = GetWBE (block->p_buffer);
block->i_buffer -= 2;
block->p_buffer += 2;
if (block->i_buffer < len)
goto drop;
switch (datatype)
{
case 0: /* Raw payload */
{
if (self->ident != ident)
{
msg_Warn (demux, self->vorbis ?
"ignoring raw Vorbis payload without configuration" :
"ignoring raw Theora payload without configuration");
break;
}
block_t *raw = block_Alloc (len);
memcpy (raw->p_buffer, block->p_buffer, len);
raw->i_pts = block->i_pts; /* FIXME: what about pkts > 1 */
codec_decode (demux, self->id, raw);
break;
}
case 1: /* Packed configuration frame (§3.1.1) */
{
if (self->ident == ident)
break; /* Ignore config retransmission */
void *extv;
ssize_t extc = xiph_header (&extv, block->p_buffer, len);
if (extc < 0)
break;
es_format_t fmt;
es_format_Init (&fmt, self->vorbis ? AUDIO_ES : VIDEO_ES,
self->vorbis ? VLC_CODEC_VORBIS
: VLC_CODEC_THEORA);
fmt.p_extra = extv;
fmt.i_extra = extc;
codec_destroy (demux, self->id);
msg_Dbg (demux, self->vorbis ?
"Vorbis packed configuration received (%06"PRIx32")" :
"Theora packed configuration received (%06"PRIx32")",
ident);
self->ident = ident;
self->id = (es_out_id_t *)codec_init (demux, &fmt); // sunqueen modify
break;
}
}
block->i_buffer -= len;
block->p_buffer += len;
pkts--;
}
drop:
block_Release (block);
}