您的位置:首页 > 其它

如果想在JM86解码端直接拿测试序列进行误码掩盖(不经过编码和解码这个动作),

2007-05-23 21:28 218 查看
神伏 18:15:11
你好
神伏 18:16:35
能麻烦你解答一下群上那几个问题吗?
谢谢!
神伏 21:04:04
你好
神伏 21:04:19
请问一下如果想在JM86解码端直接拿测试序列进行误码掩盖(不经过编码和解码这个动作),应在程序的哪个位置读入这段序列???
阿金&zgj 21:05:45
等等

神伏 21:06:06
好的,谢谢
阿金&zgj 21:10:44
void exit_picture()
{
int ercStartMB;
int ercSegment;
frame recfr;
unsigned int i;
int structure, frame_poc, slice_type, refpic;

int tmp_time; // time used by decoding the last frame

int ioferror;//指示哪个 块出错

// return if the last picture has already been finished
if (dec_picture==NULL)
{
return;
}

//deblocking for frame or field
DeblockPicture( img, dec_picture );

if (dec_picture->MbaffFrameFlag)
MbAffPostProc();

recfr.yptr = &dec_picture->imgY[0][0];
recfr.uptr = &dec_picture->imgUV[0][0][0];
recfr.vptr = &dec_picture->imgUV[1][0][0];

//++ 加扰
// if(img->number==0)
// {
// for (kk=0;kk<99;k++)
// {
// if ((double)rand()/(double)RAND_MAX*100<5)
// {
// img->mb_data[kk].ei_flag=1;
// img->mb_data[kk].lost_flag=1;
// }
// }
// }
// if(img->number==0)//骄子的程序 ++我的程序 这里多2个 ei_flag,上面一个,共3个 因为这个判断,错误只在这里出现
// {
//// img->mb_data[1].ei_flag=1;
//
if (img->frame_num==2) //控制出错所在 帧和 块
{
img->mb_data[72].ei_flag=1;img->mb_data[71].ei_flag=1;img->mb_data[70].ei_flag=1;img->mb_data[73].ei_flag=1;img->mb_data[74].ei_flag=1;
}
else if (img->frame_num==4)
{
img->mb_data[72].ei_flag=1;img->mb_data[71].ei_flag=1;img->mb_data[70].ei_flag=1;img->mb_data[73].ei_flag=1;img->mb_data[74].ei_flag=1;

}
else if (img->frame_num==5)
{
//img->mb_data[72].ei_flag=1;img->mb_data[71].ei_flag=1;img->mb_data[70].ei_flag=1;img->mb_data[73].ei_flag=1;img->mb_data[74].ei_flag=1;

}
else if (img->frame_num>7)
{
ioferror=60;//指示哪个 块出错
img->mb_data[30].ei_flag=1;img->mb_data[71].ei_flag=1;img->mb_data[45].ei_flag=1;
img->mb_data[61].ei_flag=1;img->mb_data[70].ei_flag=1;
}

//070126 改,不用这个错误 img->mb_data[72].ei_flag=1;img->mb_data[71].ei_flag=1;img->mb_data[70].ei_flag=1;img->mb_data[73].ei_flag=1;img->mb_data[74].ei_flag=1;
//
// }

阿金&zgj 21:10:51
这是我的测试代码

阿金&zgj 21:11:10
就是 设置 一下 ei_flag

阿金&zgj 21:11:31
希望对你有用

阿金&zgj 21:12:11
当然 我觉得这个 方法 不太好,不过我用 mpeg3ip ?? 产生的 错误 代码 也不好用

阿金&zgj 21:13:57
exit_picture() 是 解码代码 本来就有的函数,你搜索一下就知道 在哪里了

神伏 21:14:44
这个我知道 我正在看exit_picture()
不过没说明看不太懂
阿金&zgj 21:11:10
就是 设置 一下 ei_flag

阿金&zgj 21:11:31
希望对你有用

阿金&zgj 21:12:11
当然 我觉得这个 方法 不太好,不过我用 mpeg3ip ?? 产生的 错误 代码 也不好用

阿金&zgj 21:13:57
exit_picture() 是 解码代码 本来就有的函数,你搜索一下就知道 在哪里了

神伏 21:14:44
这个我知道 我正在看exit_picture()
不过没说明看不太懂
神伏 21:16:27
怎么设置ei_flag ,还有就是测试序列怎么读入???
阿金&zgj 21:16:40
那个 ftp里面有 解码里面的 错误隐藏 的代码的分析的,是 张戟?? 写的,名字记不清楚了

阿金&zgj 21:17:15
读入 正确的 代码就可以了

阿金&zgj 21:17:27
设置为 1 它就会 进行 错误隐藏

阿金&zgj 21:17:47
读入 正确的 压缩后的 序列

神伏 21:19:25
我的意思是不经过编解码过程,直接读入测试序列进行错误隐藏,这个过程怎么实现
阿金&zgj 21:20:02
我觉得错误 隐藏 也是 解码的一部分啊

阿金&zgj 21:20:31
测试序列 是 你 压缩后的 序列

神伏 21:21:22
“/brief
* finish decoding of a picture, conceal errors and store it
* into the DPB ”
按程序的说明,应该是解码完才进行隐藏的
阿金&zgj 21:22:01
哦,没注意,你说的应该是对的

阿金&zgj 21:23:05
反正我是用我传给你的 那些 代码(里面 只是改了 eiflag) 就 可以 调试 错误隐藏了

神伏 21:23:50
是不是拿正确的序列也可以调试???
阿金&zgj 21:23:59
是啊

神伏 21:24:37
好的,我试看看
阿金&zgj 21:24:45
我是这样子做的,不承担 任何责任啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐