neuron2 wrote:RTFM for the modes I provide.
I had read it. I wasn't asking about how to set the modes in DGDecNV, but how you coded them.
neuron2 wrote:My code:
if (Session.deinterlace > 0)
state->dci.DeinterlaceMode = cudaVideoDeinterlaceMode_Adaptive;
else
state->dci.DeinterlaceMode = cudaVideoDeinterlaceMode_Weave;
...
// Create the decoder.
result = cuvidCreateDecoder(&state->cuDecoder, &state->dci);
This is the answer to what I asked.
neuron2 wrote:cuviddec.h:
typedef enum cudaVideoDeinterlaceMode_enum {
cudaVideoDeinterlaceMode_Weave=0, // Weave both fields (no deinterlacing)
cudaVideoDeinterlaceMode_Bob, // Drop one field
cudaVideoDeinterlaceMode_Adaptive, // Adaptive deinterlacing
} cudaVideoDeinterlaceMode;
So, it seems cuvid already supports all available modes...
neuron2 wrote:It would be a good idea to check the latest CUDA SDK version of the file. I haven't done so in a while.
I've look into it and the modes are exactly the same.
However, I've made a few tests and it seems there is something wrong...
I've used one test video (PAL 1080i) I grabbed here:
http://www.avsforum.com/avs-vb/showthread.php?t=1157287.
I used DGDecNV with all deinterlace modes, and mpc-hc with ffdshow and EVR for accessing the hardware deinterlacing.
The results with ffdshow are much better than with DGDecNV, so would it be a bug in CUVID? Would it be any problem on your side?
I've made some pics for comparison, you can get them here:
http://www.megaupload.com/?d=XVI5ILI4
The one which looks better is the ffdshow_adapt, and, as you can easily notice, the diagonal lines show aliasing with DGDecNV deinterlacing, but not with hardware decoding via ffdshow... now, if the gpu is the same (GT 240), the results should also be the same, right?