int get_payload(uint16_t indx, uint16_t port, uint8_t **data, uint32_t *payload_s, int32_t *local_port, int (**payload_init)(uint8_t **, uint32_t *), uint16_t payload_flags) { payload_t *current=NULL; current=lh->top; if (s->verbose > 5) MSG(M_DBG2, "Payload for port %d searching starting at %p...", port, current); while (current != NULL && current->next != NULL) { if (current->port == port) { if (indx == 0) { if (s->verbose > 5) MSG(M_DBG2, "found a payload"); *payload_s=current->payload_size; *local_port=current->local_port; *payload_init=current->create_payload; *data=current->payload; return 1; } else { uint16_t pos=0; while (current->over != NULL) { current=current->over; pos++; if (pos == indx) { *payload_s=current->payload_size; *local_port=current->local_port; *payload_init=current->create_payload; *data=current->payload; return 1; } } return 0; } } current=current->next; } if (indx == 0 && (GET_DEFAULT())) { assert(lh->def->payload != NULL); *payload_s=lh->def->payload_size; *local_port=lh->def->local_port; if (s->verbose > 5) MSG(M_DBG2, "Found default payload at %p index 0 and port %d local_port %d and size %d", lh->def->payload, port, lh->def->local_port, lh->def->payload_size); *data=lh->def->payload; return 1; } if (s->verbose > 4) MSG(M_DBG2, "No payload found for port %d index %d", port, indx); return 0; }
void ERGMM_MCMC_loop(ERGMM_MCMC_Model *model, ERGMM_MCMC_Priors *prior, ERGMM_MCMC_MCMCState *cur, ERGMM_MCMC_MCMCSettings *setting, ERGMM_MCMC_ROutput *outlists) { unsigned int n_accept_z=0, n_accept_b=0, pos=0; unsigned int iter, total_iters = setting->sample_size*setting->interval; /* Note that indexing here starts with 1. It can be thought of as follows: At the end of the updates, we have made iter complete MCMC updates. */ for(iter=1;iter<=total_iters;iter++){ R_CheckUserInterrupt(); // So that CTRL-C can interrupt the run. if(model->latent || cur->state->sender || cur->state->receiver) n_accept_z += ERGMM_MCMC_Z_RE_up(model, prior, cur, setting); if(model->latent){ // Update cluster parameters (they are separated from data by Z, so full conditional sampling). // Note that they are also updated in coef_up_scl_tr_Z_shift_RE. if(model->clusters>0) ERGMM_MCMC_CV_up(model,prior,cur); else ERGMM_MCMC_LV_up(model,prior,cur); } /* Update coef given this new value of Z and conditioned on everything else. Also propose to scale Z and shift random effects. */ if( ERGMM_MCMC_coef_up_scl_Z_shift_RE(model,prior,cur,setting) ){ n_accept_b++; } if(cur->state->sender || cur->state->receiver){ ERGMM_MCMC_REV_up(model,prior,cur); } // If we have a new MLE (actually, the highest likelihood encountered to date), store it. if( cur->state->llk > GET_DEFAULT(outlists->llk,0,0) ) ERGMM_MCMC_store_iteration(0,model,cur->state,setting,outlists); // If we have a new posterior mode (actually, the highest joint density of all variables but K observed to date), store it. if( cur->state->llk + cur->state->lpZ + cur->state->lpLV + cur->state->lpcoef + cur->state->lpRE + cur->state->lpREV + cur->state->lpdispersion > GET_DEFAULT(outlists->llk,1,0) + GET_DEFAULT(outlists->lpZ,1,0) + GET_DEFAULT(outlists->lpLV,1,0) + GET_DEFAULT(outlists->lpcoef,1,0) + GET_DEFAULT(outlists->lpRE,1,0) + GET_DEFAULT(outlists->lpREV,1,0) + GET_DEFAULT(outlists->lpdispersion,1,0) ) ERGMM_MCMC_store_iteration(1,model,cur->state,setting,outlists); /* every interval save the results */ if((iter % setting->interval) == 0){ pos = (iter/setting->interval-1)+ERGMM_OUTLISTS_RESERVE; // Store current iteration. ERGMM_MCMC_store_iteration(pos, model, cur->state, setting, outlists); // Acceptance rates. outlists->coef_rate[pos] = (double) ((double)n_accept_b)/((double)setting->interval); if(outlists->Z_rate_move){ outlists->Z_rate_move[pos] = (double) ((double)n_accept_z)/((double)setting->interval*model->verts); } n_accept_z=0; n_accept_b=0; } } // end main MCMC loop return; }
void Asset::load_defaults(BC_Hash *defaults, const char *prefix, int do_format, int do_compression, int do_path, int do_data_types, int do_bits) { char string[BCTEXTLEN]; // Can't save codec here because it's specific to render, record, and effect. // The codec has to be UNKNOWN for file probing to work. if(do_path) { GET_DEFAULT("PATH", path); } if(do_compression) { GET_DEFAULT("AUDIO_CODEC", acodec); GET_DEFAULT("VIDEO_CODEC", vcodec); } if(do_format) { format = GET_DEFAULT("FORMAT", format); } if(do_data_types) { audio_data = GET_DEFAULT("AUDIO", 1); video_data = GET_DEFAULT("VIDEO", 1); } if(do_bits) { bits = GET_DEFAULT("BITS", 16); dither = GET_DEFAULT("DITHER", 0); signed_ = GET_DEFAULT("SIGNED", 1); byte_order = GET_DEFAULT("BYTE_ORDER", 1); } ampeg_bitrate = GET_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); ampeg_derivative = GET_DEFAULT("AMPEG_DERIVATIVE", ampeg_derivative); vorbis_vbr = GET_DEFAULT("VORBIS_VBR", vorbis_vbr); vorbis_min_bitrate = GET_DEFAULT("VORBIS_MIN_BITRATE", vorbis_min_bitrate); vorbis_bitrate = GET_DEFAULT("VORBIS_BITRATE", vorbis_bitrate); vorbis_max_bitrate = GET_DEFAULT("VORBIS_MAX_BITRATE", vorbis_max_bitrate); theora_fix_bitrate = GET_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); theora_bitrate = GET_DEFAULT("THEORA_BITRATE", theora_bitrate); theora_quality = GET_DEFAULT("THEORA_QUALITY", theora_quality); theora_sharpness = GET_DEFAULT("THEORA_SHARPNESS", theora_sharpness); theora_keyframe_frequency = GET_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FEQUENCY", theora_keyframe_force_frequency); mp3_bitrate = GET_DEFAULT("MP3_BITRATE", mp3_bitrate); mp4a_bitrate = GET_DEFAULT("MP4A_BITRATE", mp4a_bitrate); mp4a_quantqual = GET_DEFAULT("MP4A_QUANTQUAL", mp4a_quantqual); jpeg_quality = GET_DEFAULT("JPEG_QUALITY", jpeg_quality); aspect_ratio = GET_DEFAULT("ASPECT_RATIO", aspect_ratio); interlace_autofixoption = BC_ILACE_AUTOFIXOPTION_AUTO; interlace_mode = BC_ILACE_MODE_UNDETECTED; interlace_fixmethod = BC_ILACE_FIXMETHOD_UPONE; // MPEG format information vmpeg_iframe_distance = GET_DEFAULT("VMPEG_IFRAME_DISTANCE", vmpeg_iframe_distance); vmpeg_pframe_distance = GET_DEFAULT("VMPEG_PFRAME_DISTANCE", vmpeg_pframe_distance); vmpeg_progressive = GET_DEFAULT("VMPEG_PROGRESSIVE", vmpeg_progressive); vmpeg_denoise = GET_DEFAULT("VMPEG_DENOISE", vmpeg_denoise); vmpeg_bitrate = GET_DEFAULT("VMPEG_BITRATE", vmpeg_bitrate); vmpeg_derivative = GET_DEFAULT("VMPEG_DERIVATIVE", vmpeg_derivative); vmpeg_quantization = GET_DEFAULT("VMPEG_QUANTIZATION", vmpeg_quantization); vmpeg_cmodel = GET_DEFAULT("VMPEG_CMODEL", vmpeg_cmodel); vmpeg_fix_bitrate = GET_DEFAULT("VMPEG_FIX_BITRATE", vmpeg_fix_bitrate); vmpeg_seq_codes = GET_DEFAULT("VMPEG_SEQ_CODES", vmpeg_seq_codes); vmpeg_preset = GET_DEFAULT("VMPEG_PRESET", vmpeg_preset); vmpeg_field_order = GET_DEFAULT("VMPEG_FIELD_ORDER", vmpeg_field_order); h264_bitrate = GET_DEFAULT("H264_BITRATE", h264_bitrate); h264_quantizer = GET_DEFAULT("H264_QUANTIZER", h264_quantizer); h264_fix_bitrate = GET_DEFAULT("H264_FIX_BITRATE", h264_fix_bitrate); divx_bitrate = GET_DEFAULT("DIVX_BITRATE", divx_bitrate); divx_rc_period = GET_DEFAULT("DIVX_RC_PERIOD", divx_rc_period); divx_rc_reaction_ratio = GET_DEFAULT("DIVX_RC_REACTION_RATIO", divx_rc_reaction_ratio); divx_rc_reaction_period = GET_DEFAULT("DIVX_RC_REACTION_PERIOD", divx_rc_reaction_period); divx_max_key_interval = GET_DEFAULT("DIVX_MAX_KEY_INTERVAL", divx_max_key_interval); divx_max_quantizer = GET_DEFAULT("DIVX_MAX_QUANTIZER", divx_max_quantizer); divx_min_quantizer = GET_DEFAULT("DIVX_MIN_QUANTIZER", divx_min_quantizer); divx_quantizer = GET_DEFAULT("DIVX_QUANTIZER", divx_quantizer); divx_quality = GET_DEFAULT("DIVX_QUALITY", divx_quality); divx_fix_bitrate = GET_DEFAULT("DIVX_FIX_BITRATE", divx_fix_bitrate); divx_use_deblocking = GET_DEFAULT("DIVX_USE_DEBLOCKING", divx_use_deblocking); theora_fix_bitrate = GET_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); theora_bitrate = GET_DEFAULT("THEORA_BITRATE", theora_bitrate); theora_quality = GET_DEFAULT("THEORA_QUALITY", theora_quality); theora_sharpness = GET_DEFAULT("THEORA_SHARPNESS", theora_sharpness); theora_keyframe_frequency = GET_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FEQUENCY", theora_keyframe_force_frequency); ms_bitrate = GET_DEFAULT("MS_BITRATE", ms_bitrate); ms_bitrate_tolerance = GET_DEFAULT("MS_BITRATE_TOLERANCE", ms_bitrate_tolerance); ms_interlaced = GET_DEFAULT("MS_INTERLACED", ms_interlaced); ms_quantization = GET_DEFAULT("MS_QUANTIZATION", ms_quantization); ms_gop_size = GET_DEFAULT("MS_GOP_SIZE", ms_gop_size); ms_fix_bitrate = GET_DEFAULT("MS_FIX_BITRATE", ms_fix_bitrate); ac3_bitrate = GET_DEFAULT("AC3_BITRATE", ac3_bitrate); png_use_alpha = GET_DEFAULT("PNG_USE_ALPHA", png_use_alpha); exr_use_alpha = GET_DEFAULT("EXR_USE_ALPHA", exr_use_alpha); exr_compression = GET_DEFAULT("EXR_COMPRESSION", exr_compression); tiff_cmodel = GET_DEFAULT("TIFF_CMODEL", tiff_cmodel); tiff_compression = GET_DEFAULT("TIFF_COMPRESSION", tiff_compression); // this extra 'FORMAT_' prefix is just here for legacy reasons use_pipe = GET_DEFAULT("FORMAT_YUV_USE_PIPE", use_pipe); GET_DEFAULT("FORMAT_YUV_PIPE", pipe); GET_DEFAULT("REEL_NAME", reel_name); reel_number = GET_DEFAULT("REEL_NUMBER", reel_number); tcstart = GET_DEFAULT("TCSTART", tcstart); tcend = GET_DEFAULT("TCEND", tcend); tcformat = GET_DEFAULT("TCFORMAT", tcformat); }
void Asset::load_defaults(BC_Hash *defaults, const char *prefix, int do_format, int do_compression, int do_path, int do_data_types, int do_bits) { char string[BCTEXTLEN]; // Can't save codec here because it's specific to render, record, and effect. // The codec has to be UNKNOWN for file probing to work. if(do_path) { GET_DEFAULT("PATH", path); } if(do_compression) { GET_DEFAULT("AUDIO_CODEC", acodec); GET_DEFAULT("VIDEO_CODEC", vcodec); } if(do_format) { format = GET_DEFAULT("FORMAT", format); use_header = GET_DEFAULT("USE_HEADER", use_header); GET_DEFAULT("FFORMAT", fformat); } if(do_data_types) { audio_data = GET_DEFAULT("AUDIO", 1); video_data = GET_DEFAULT("VIDEO", 1); } if(do_bits) { bits = GET_DEFAULT("BITS", 16); dither = GET_DEFAULT("DITHER", 0); signed_ = GET_DEFAULT("SIGNED", 1); byte_order = GET_DEFAULT("BYTE_ORDER", 1); // Used by filefork channels = GET_DEFAULT("CHANNELS", 2); if(!sample_rate) sample_rate = GET_DEFAULT("RATE", 44100); header = GET_DEFAULT("HEADER", 0); audio_length = GET_DEFAULT("AUDIO_LENGTH", (int64_t)0); height = GET_DEFAULT("HEIGHT", height); width = GET_DEFAULT("WIDTH", width); actual_height = GET_DEFAULT("ACTUAL_HEIGHT", actual_height); actual_width = GET_DEFAULT("ACTUAL_WIDTH", actual_width); program = GET_DEFAULT("PROGRAM", program); layers = GET_DEFAULT("LAYERS", layers); if(EQUIV(frame_rate, 0)) frame_rate = GET_DEFAULT("FRAMERATE", frame_rate); video_length = GET_DEFAULT("VIDEO_LENGTH", (int64_t)0); } ampeg_bitrate = GET_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); ampeg_derivative = GET_DEFAULT("AMPEG_DERIVATIVE", ampeg_derivative); vorbis_vbr = GET_DEFAULT("VORBIS_VBR", vorbis_vbr); vorbis_min_bitrate = GET_DEFAULT("VORBIS_MIN_BITRATE", vorbis_min_bitrate); vorbis_bitrate = GET_DEFAULT("VORBIS_BITRATE", vorbis_bitrate); vorbis_max_bitrate = GET_DEFAULT("VORBIS_MAX_BITRATE", vorbis_max_bitrate); theora_fix_bitrate = GET_DEFAULT("THEORA_FIX_BITRATE", theora_fix_bitrate); theora_bitrate = GET_DEFAULT("THEORA_BITRATE", theora_bitrate); theora_quality = GET_DEFAULT("THEORA_QUALITY", theora_quality); theora_sharpness = GET_DEFAULT("THEORA_SHARPNESS", theora_sharpness); theora_keyframe_frequency = GET_DEFAULT("THEORA_KEYFRAME_FREQUENCY", theora_keyframe_frequency); theora_keyframe_force_frequency = GET_DEFAULT("THEORA_FORCE_KEYFRAME_FREQUENCY", theora_keyframe_force_frequency); GET_DEFAULT("FF_AUDIO_OPTIONS", ff_audio_options); ff_audio_bitrate = GET_DEFAULT("FF_AUDIO_BITRATE", ff_audio_bitrate); GET_DEFAULT("FF_VIDEO_OPTIONS", ff_video_options); ff_video_bitrate = GET_DEFAULT("FF_VIDEO_BITRATE", ff_video_bitrate); ff_video_quality = GET_DEFAULT("FF_VIDEO_QUALITY", ff_video_quality); mp3_bitrate = GET_DEFAULT("MP3_BITRATE", mp3_bitrate); mp4a_bitrate = GET_DEFAULT("MP4A_BITRATE", mp4a_bitrate); mp4a_quantqual = GET_DEFAULT("MP4A_QUANTQUAL", mp4a_quantqual); jpeg_quality = GET_DEFAULT("JPEG_QUALITY", jpeg_quality); aspect_ratio = GET_DEFAULT("ASPECT_RATIO", aspect_ratio); // MPEG format information vmpeg_iframe_distance = GET_DEFAULT("VMPEG_IFRAME_DISTANCE", vmpeg_iframe_distance); vmpeg_pframe_distance = GET_DEFAULT("VMPEG_PFRAME_DISTANCE", vmpeg_pframe_distance); vmpeg_progressive = GET_DEFAULT("VMPEG_PROGRESSIVE", vmpeg_progressive); vmpeg_denoise = GET_DEFAULT("VMPEG_DENOISE", vmpeg_denoise); vmpeg_bitrate = GET_DEFAULT("VMPEG_BITRATE", vmpeg_bitrate); vmpeg_derivative = GET_DEFAULT("VMPEG_DERIVATIVE", vmpeg_derivative); vmpeg_quantization = GET_DEFAULT("VMPEG_QUANTIZATION", vmpeg_quantization); vmpeg_cmodel = GET_DEFAULT("VMPEG_CMODEL", vmpeg_cmodel); vmpeg_fix_bitrate = GET_DEFAULT("VMPEG_FIX_BITRATE", vmpeg_fix_bitrate); vmpeg_seq_codes = GET_DEFAULT("VMPEG_SEQ_CODES", vmpeg_seq_codes); vmpeg_preset = GET_DEFAULT("VMPEG_PRESET", vmpeg_preset); vmpeg_field_order = GET_DEFAULT("VMPEG_FIELD_ORDER", vmpeg_field_order); h264_bitrate = GET_DEFAULT("H264_BITRATE", h264_bitrate); h264_quantizer = GET_DEFAULT("H264_QUANTIZER", h264_quantizer); h264_fix_bitrate = GET_DEFAULT("H264_FIX_BITRATE", h264_fix_bitrate); divx_bitrate = GET_DEFAULT("DIVX_BITRATE", divx_bitrate); divx_rc_period = GET_DEFAULT("DIVX_RC_PERIOD", divx_rc_period); divx_rc_reaction_ratio = GET_DEFAULT("DIVX_RC_REACTION_RATIO", divx_rc_reaction_ratio); divx_rc_reaction_period = GET_DEFAULT("DIVX_RC_REACTION_PERIOD", divx_rc_reaction_period); divx_max_key_interval = GET_DEFAULT("DIVX_MAX_KEY_INTERVAL", divx_max_key_interval); divx_max_quantizer = GET_DEFAULT("DIVX_MAX_QUANTIZER", divx_max_quantizer); divx_min_quantizer = GET_DEFAULT("DIVX_MIN_QUANTIZER", divx_min_quantizer); divx_quantizer = GET_DEFAULT("DIVX_QUANTIZER", divx_quantizer); divx_quality = GET_DEFAULT("DIVX_QUALITY", divx_quality); divx_fix_bitrate = GET_DEFAULT("DIVX_FIX_BITRATE", divx_fix_bitrate); divx_use_deblocking = GET_DEFAULT("DIVX_USE_DEBLOCKING", divx_use_deblocking); ms_bitrate = GET_DEFAULT("MS_BITRATE", ms_bitrate); ms_bitrate_tolerance = GET_DEFAULT("MS_BITRATE_TOLERANCE", ms_bitrate_tolerance); ms_interlaced = GET_DEFAULT("MS_INTERLACED", ms_interlaced); ms_quantization = GET_DEFAULT("MS_QUANTIZATION", ms_quantization); ms_gop_size = GET_DEFAULT("MS_GOP_SIZE", ms_gop_size); ms_fix_bitrate = GET_DEFAULT("MS_FIX_BITRATE", ms_fix_bitrate); ac3_bitrate = GET_DEFAULT("AC3_BITRATE", ac3_bitrate); png_use_alpha = GET_DEFAULT("PNG_USE_ALPHA", png_use_alpha); exr_use_alpha = GET_DEFAULT("EXR_USE_ALPHA", exr_use_alpha); exr_compression = GET_DEFAULT("EXR_COMPRESSION", exr_compression); tiff_cmodel = GET_DEFAULT("TIFF_CMODEL", tiff_cmodel); tiff_compression = GET_DEFAULT("TIFF_COMPRESSION", tiff_compression); boundaries(); }