ffmpeg视频运动引起马赛克,该怎么解决

ffmpeg视频运动引起马赛克
用ffmpeg的mpeg4对YUV420P视频进行编码,视频静止的时候挺好(很少出现马赛可),但是一旦视频运动起来,特别长时间运动就会出现马赛可,不知到怎么回事;
我测试过了在运动以前保存yuv数据没有马赛克现象,编码完成录像就有马赛克,可以断定是编码引起的,不知道什么原因;请大侠指点一下;

我的编码参数是:

  m_pCodeCtx= avcodec_alloc_context();
m_pFrame= avcodec_alloc_frame();
m_pFrameToEn= avcodec_alloc_frame();
/* resolution must be a multiple of two */
m_pCodeCtx->width = w;
m_pCodeCtx->height = h;
/* frames per second */
AVRational var = {1,25};
m_pCodeCtx->time_base= var;
m_pCodeCtx->gop_size = 1 * 25; 
m_pCodeCtx->max_b_frames=0;
m_pCodeCtx->pix_fmt = PIX_FMT_YUV420P;
  m_pCodeCtx->bit_rate = nBitRate; //

不知道需要调整那些参数才可以实现在运动时候也不出现马赛克。谢谢

------解决方案--------------------
应该有一些质量量化参数的设置吧?试着更改质量相关的量化参数,
比如me_method, qmin, qmax等。