⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmdlinetst.c

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 C
字号:
#include <gpac/bifsengine.h>GF_Err SampleCallBack(void *calling_object, char *data, u32 size, u32 ts){	fprintf(stdout, "Received at time %d, buffer %d bytes long.\n", ts, size);	return GF_OK;}int main(int argc, char **argv){	int i;	GF_BifsEngine *codec1 = NULL;	GF_BifsEngine * codec2 = NULL;	if (0) {		char *config;		u32 config_size;		char update[] = "\n AT \n 500 \n { \n REPLACE \n M.emissiveColor BY 1 0 0 } \n";		codec1 = gf_beng_init(NULL, argv[1]);		gf_beng_get_stream_config(codec1, &config, &config_size);		fprintf(stdout, "EncodedBifsConfig size is %d \n", config_size);		gf_beng_encode_context(codec1, SampleCallBack);		gf_beng_save_context(codec1, "initial_context.mp4");		gf_beng_encode_from_string(codec1, (char *) update, SampleCallBack);		gf_beng_save_context(codec1, "non_aggregated_context.mp4");		gf_beng_aggregate_context(codec1);		gf_beng_save_context(codec1, "aggregated_context.mp4");		gf_beng_terminate(codec1);	} else if (1) {		char *config;		u32 config_size;		char scene[] = "OrderedGroup {children [Background2D {backColor 1 1 1}Shape {appearance Appearance {material DEF M Material2D {emissiveColor 0 0 1 filled TRUE } } geometry Rectangle { size 100 75 } } ] }";		char update[] = "\n AT \n 500 \n { \n REPLACE \n M.emissiveColor BY 1 0 0 \n REPLACE \n M.filled BY FALSE} \n";		codec1 = gf_beng_init_from_string(NULL, scene, 200, 200, 1);		gf_beng_get_stream_config(codec1, &config, &config_size);		fprintf(stdout, "EncodedBifsConfig size is %d \n", config_size);		gf_beng_encode_context(codec1, SampleCallBack);		gf_beng_save_context(codec1, "initial_context.mp4");		gf_beng_encode_from_string(codec1, (char *) update, SampleCallBack);		gf_beng_save_context(codec1, "non_aggregated_context.mp4");		gf_beng_aggregate_context(codec1);		gf_beng_save_context(codec1, "aggregated_context.mp4");		gf_beng_terminate(codec1);	} else {		for (i = 0; i <10; i++) {			char context_rootname[] = "rect_context";			char in_context[100], 				 bt_out_na_context[100], bt_out_agg_context[100],				 mp4_out_na_context[100], mp4_out_agg_context[100];			char update[1000];// = "REPLACE M.emissiveColor BY 1 1 0";			char timed_update[1000];			sprintf(update, "REPLACE M.emissiveColor BY %f 0 0", i/10.0f);			if (i != 0) {				sprintf(in_context, "na_%s_%i.bt", context_rootname, i);			} else {				strcpy(in_context, "rect.bt");			}			codec2 = gf_beng_init(NULL, in_context);			sprintf(timed_update, "AT %i { %s }", 1000 + i, update);						gf_beng_encode_from_string(codec2, timed_update, SampleCallBack);			sprintf(mp4_out_na_context, "na_%s_%i.mp4", context_rootname, i+1);			sprintf(bt_out_na_context, "na_%s_%i.bt", context_rootname, i+1);			sprintf(mp4_out_agg_context, "agg_%s_%i.mp4", context_rootname, i+1);			sprintf(bt_out_agg_context, "agg_%s_%i.bt", context_rootname, i+1);			gf_beng_save_context(codec2, mp4_out_na_context);			gf_beng_save_context(codec2, bt_out_na_context);			gf_beng_aggregate_context(codec2);			gf_beng_save_context(codec2, mp4_out_agg_context);			gf_beng_save_context(codec2, bt_out_agg_context);					gf_beng_terminate(codec2);		}		fprintf(stdout, "Done.\n");	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -