Hello, I have integrated FFMPEG to decode H264 videos streams. It works. Now, 
I'm trying to use AVHWAccel to decode H264 videos streaming.

 

I compile FFMPEG 1.1.1 with --enable-dxva2 --enable-decoder=h264_dxva2 
--enable-hwaccel=h264_dxva2.

When I initialise my CodecContext, I use the method below to find the AVHWAccel

 

if(h264_dxva2_hwaccel == NULL)

{ AVHWAccel* hwaccel = NULL;

  while(hwaccel = av_hwaccel_next(hwaccel))

   { if((hwaccel->pix_fmt == AV_PIX_FMT_DXVA2_VLD) && (hwaccel->id == 
CODEC_ID_H264))

      { h264_dxva2_hwaccel = hwaccel;

        av_register_hwaccel(h264_dxva2_hwaccel);

        printf("dxva2_hwaccel = %s\r\n",h264_dxva2_hwaccel->name);

      }

     break;

   }

}

And so affect it to my CodecContext

if (h264_dxva2_hwaccel != NULL)

{ m_lpCodecCtx->hwaccel = h264_dxva2_hwaccel;

}

 

But it seems I have to set the m_lpCodecCtx->hwaccel_context and I don't find 
any documentations on this part.

And also, after this, I just have to have the same code than before (using 
avcodec_decode_video2 and other ffmpeg functions), or the hardware decoding is 
really different ?

 

If someone can explain me (or better have a simple sample to do this),

Regards,

_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to