19.4.6.6.5 Data interleaving

void ofdm_interleaving(int_32 Ncbps, int_32 Nbpsc, INOUT uint_8 indat[], int_32 inlen)
{
	int_32 s, i, j, k;
	uint_8 mdat[288];

	if(Ncbps != inlen * 8)
	{
		err("Ncbps != inlen\n");
		return ;
	}
	memset(mdat, 0, 288);
	/*
	* The value of s is determined by the number of coded bits per subcarrier, Nbpsc , according to
	* s = max(Nbpsc /2,1)
	*/
	s = Nbpsc / 2;
	if(s < 1) { s = 1; }

	/*
	* We shall denote by k the index of the coded bit before the first permutation; i shall be the index after the first and 
	* before the second permutation, and j shall be the index after the second permutation, just prior to modulation 
	* mapping. 
	* k表示最初始的bit顺序
	* i表示经过第一次interleaving后的bit顺序
	* j表示经过第二次interleaving后的bit顺序
	* The function floor (.) denotes the largest integer not exceeding the parameter
	*/

	//first permutation
	// i= (Ncbps / 16) (k mod 16)+floor(k/16)    k=0,1,...Ncbps-1
	for(k = 0; k < Ncbps; k++)
	{
		i = (Ncbps / 16) * (k % 16) + k / 16;
		if(i >= Ncbps)
		{
			err("i = %d\n", i);
			continue;
		}
		///printf("k = %d,i = %d;\n",k,i);
		mdat[i] = BIT(indat[k / 8], k % 8);
	}

	//second permutation
	memset(indat, 0, inlen);
	// j= s * floor(i/s)+(i+NCBPs-floor(16*i/Ncbps)) mod s  i=0,1,...Ncbps-1
	for(i = 0; i < Ncbps; i++)
	{
		j = s * (i / s) + (i + Ncbps - (16 * i) / Ncbps) % s;
		if(j >= Ncbps)
		{
			err("j = %d\n", j);
			continue;
		}
		///printf("i = %d,j = %d;\n",i,j);

		indat[j / 8] |= (mdat[i] << (j % 8));
	}
	return;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在video.js中播放RTMP流直播,需要使用video.js的rtmp插件。以下是一些步骤: 1. 首先,需要引入video.js和rtmp插件的js和css文件。 ```html <link href="//vjs.zencdn.net/7.6.6/video-js.css" rel="stylesheet"> <script src="//vjs.zencdn.net/7.6.6/video.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script> <script src="//cdn.bootcss.com/videojs-flash/2.2.1/videojs-flash.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-eme/4.4.2/videojs-contrib-eme.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-quality-levels/2.0.9/videojs-contrib-quality-levels.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-dash/2.10.0/videojs-contrib-dash.min.js"></script> <script src="//cdn.bootcss.com/videojs-flash/2.2.1/videojs-flash.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-ads/6.6.5/videojs-contrib-ads.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-quality-levels/2.0.9/videojs-contrib-quality-levels.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-ads/6.6.5/videojs-contrib-ads.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-dash/2.10.0/videojs-contrib-dash.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script> <script src="//unpkg.com/videojs-flash/dist/videojs-flash.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-ads/6.6.5/videojs-contrib-ads.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-eme/4.4.2/videojs-contrib-eme.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-quality-levels/2.0.9/videojs-contrib-quality-levels.min.js"></script> <script src="//cdn.bootcss.com/videojs-contrib-hls/5.15.0/videojs-contrib-hls.min.js"></script> ``` 2. 在video标签中添加data-setup属性,并在其值中定义rtmp插件。 ```html <video id="my-video" class="video-js" controls preload="auto" width="640" height="264" data-setup='{ "techOrder": ["flash", "html5"] }'> <source src="rtmp://example.com/path/to/stream" type="rtmp/mp4"> </video> ``` 3. 当使用rtmp流时,需要指定flash播放器的路径。 ```javascript videojs.options.flash.swf = "path/to/video-js.swf"; ``` 这样就可以在video.js中播放RTMP流直播了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值