/*! *\briefThestuctureofquantitiesrelatedtoeachspatialandtemporallayer. *\ingroupSVC
*/ typedefstruct { /*!\cond */
RATE_CONTROL rc;
PRIMARY_RATE_CONTROL p_rc; int framerate_factor;
int64_t layer_target_bitrate; // In bits per second. int scaling_factor_num; int scaling_factor_den;
int64_t target_bandwidth;
int64_t spatial_layer_target_bandwidth; double framerate; int avg_frame_size; int max_q; int min_q; int frames_from_key_frame; /*!\endcond */
/*! *Cyclicrefreshparameters(aq-mode=3),thatneedtobeupdatedper-frame.
*/ int sb_index; /*! *Segmentationmap
*/
int8_t *map; /*! *Numberofblocksonsegment1
*/ int actual_num_seg1_blocks;
/*! *Numberofblocksonsegment2
*/ int actual_num_seg2_blocks; /*! *Counterusedtodetectscenechange.
*/ int counter_encode_maxq_scene_change;
/*! *\briefThestuctureofSVC. *\ingroupSVC
*/ typedefstruct SVC { /*!\cond */ int spatial_layer_id; int temporal_layer_id; int number_spatial_layers; int number_temporal_layers; int prev_number_spatial_layers; int prev_number_temporal_layers; int use_flexible_mode; int ksvc_fixed_mode; /*!\endcond */
/*!\cond */ double base_framerate; unsignedint current_superframe; int skip_mvsearch_last; int skip_mvsearch_gf; int skip_mvsearch_altref; int spatial_layer_fb[REF_FRAMES]; int temporal_layer_fb[REF_FRAMES]; int num_encoded_top_layer; int first_layer_denoise;
YV12_BUFFER_CONFIG source_last_TL0; /*!\endcond */
/*!\brief Prior to check if reference is lower spatial layer at the same *timestamp/superframe. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure *\param[in]ref_frameReferenceframe * *\returnTrueiftheref_frameiflowerspatiallayer,otherwisefalse.
*/ bool av1_check_ref_is_low_spatial_res_super_frame(struct AV1_COMP *const cpi, int ref_frame);
/*!\brief Prior to encoding the frame, set the layer context, for the current layertobeencoded,tothecpistruct. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure * *\remarkNothingreturned.Layercontextforcurrentlayerisset.
*/ void av1_restore_layer_context(struct AV1_COMP *const cpi);
/*!\brief Save the layer context after encoding the frame. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure
*/ void av1_save_layer_context(struct AV1_COMP *const cpi);
/*!\brief Free the memory used for cyclic refresh in layer context. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure
*/ void av1_free_svc_cyclic_refresh(struct AV1_COMP *const cpi);
/*!\brief Reset on key frame: reset counters, references and buffer updates. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure *\param[in]is_keyWhethercurrentlayeriskeyframe
*/ void av1_svc_reset_temporal_layers(struct AV1_COMP *const cpi, int is_key);
/*!\brief Before encoding, set resolutions and allocate compressor data. * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure
*/ void av1_one_pass_cbr_svc_start_layer(struct AV1_COMP *const cpi);
/*!\brief Get primary reference frame for current layer * *\ingroupSVC *\callgraph *\callergraph * *\param[in]cpiToplevelencoderstructure * *\returnTheprimaryreferenceframeforcurrentlayer.
*/ int av1_svc_primary_ref_frame(conststruct AV1_COMP *const cpi);
/*!\brief Get resolution for current layer. * *\ingroupSVC *\param[in]width_orgOriginalwidth,unscaled *\param[in]height_orgOriginalheight,unscaled *\param[in]numNumeratorforthescaleratio *\param[in]denDenominatorforthescaleratio *\param[in]width_outOutputwidth,scaledforcurrentlayer *\param[in]height_outOutputheight,scaledforcurrentlayer * *\remarkNothingisreturned.Insteadthescaledwidthandheightareset.
*/ void av1_get_layer_resolution(constint width_org, constint height_org, constint num, constint den, int *width_out, int *height_out);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.