wang-bin / QtAV

A cross-platform multimedia framework based on Qt and FFmpeg. 基于Qt和FFmpeg的跨平台高性能音视频播放框架. Recommand to use new sdk https://github.com/wang-bin/mdk-sdk
http://qtav.org
3.96k stars 1.5k forks source link

deinterlacing with yadif #1006

Open GitHubKsti opened 6 years ago

GitHubKsti commented 6 years ago

i tried to deinterlace the video using the yadif filter. first i checked the available filters with: foreach(QString info, QtAV::LibAVFilter::videoFilters()) { qDebug() << info; QtAV::LibAVFilter::filterDescription(info); }

Then i created a filter and installed it:

LibAVFilterVideo* videoFilter = new LibAVFilterVideo(this);
videoFilter->setEnabled(true);
videoFilter->setOptions("yadif=deint=1");
this->mpPlayer->installFilter(videoFilter);

The filter does something but it is not the right thing. The video now has shiny red and grey edges around figures. What is wrong inside my code? I am using the current master branch of QtAV and the ffmpeg Wang-Bin branch.

stofte commented 5 years ago

This is old and not really QtAV related but I was looking at the same issue using QtAV, and in my case, indicating the input was already in yuv range fixed it

chromakey=yuv=1,yadif=0:-1:0