VirtualBox

Ignore:
Timestamp:
Sep 28, 2023 7:21:18 PM (16 months ago)
Author:
vboxsync
Message:

WDDM: More D3D11_1DDI_VIDEODEVICEFUNCS stubs. bugref:10529

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXDDIVideo.cpp

    r101254 r101303  
    4545static const GUID gaDecoderProfiles[] =
    4646{
    47     D3D11_DECODER_PROFILE_MPEG2_MOCOMP,
    48     D3D11_DECODER_PROFILE_MPEG2_IDCT,
    49     D3D11_DECODER_PROFILE_MPEG2_VLD,
    50     D3D11_DECODER_PROFILE_MPEG1_VLD,
    51     D3D11_DECODER_PROFILE_MPEG2and1_VLD,
    52     D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT,
    53     D3D11_DECODER_PROFILE_H264_MOCOMP_FGT,
    54     D3D11_DECODER_PROFILE_H264_IDCT_NOFGT,
    55     D3D11_DECODER_PROFILE_H264_IDCT_FGT,
     47    //D3D11_DECODER_PROFILE_MPEG2_MOCOMP,
     48    //D3D11_DECODER_PROFILE_MPEG2_IDCT,
     49    //D3D11_DECODER_PROFILE_MPEG2_VLD,
     50    //D3D11_DECODER_PROFILE_MPEG1_VLD,
     51    //D3D11_DECODER_PROFILE_MPEG2and1_VLD,
     52    //D3D11_DECODER_PROFILE_H264_MOCOMP_NOFGT,
     53    //D3D11_DECODER_PROFILE_H264_MOCOMP_FGT,
     54    //D3D11_DECODER_PROFILE_H264_IDCT_NOFGT,
     55    //D3D11_DECODER_PROFILE_H264_IDCT_FGT,
    5656    D3D11_DECODER_PROFILE_H264_VLD_NOFGT,
    57     D3D11_DECODER_PROFILE_H264_VLD_FGT,
     57    //D3D11_DECODER_PROFILE_H264_VLD_FGT,
    5858    //D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT,
    5959    //D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT,
    6060    //D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT,
    6161    //D3D11_DECODER_PROFILE_H264_VLD_MULTIVIEW_NOFGT,
    62     D3D11_DECODER_PROFILE_WMV8_POSTPROC,
    63     D3D11_DECODER_PROFILE_WMV8_MOCOMP,
    64     D3D11_DECODER_PROFILE_WMV9_POSTPROC,
    65     D3D11_DECODER_PROFILE_WMV9_MOCOMP,
    66     D3D11_DECODER_PROFILE_WMV9_IDCT,
    67     D3D11_DECODER_PROFILE_VC1_POSTPROC,
    68     D3D11_DECODER_PROFILE_VC1_MOCOMP,
    69     D3D11_DECODER_PROFILE_VC1_IDCT,
    70     D3D11_DECODER_PROFILE_VC1_VLD,
    71     D3D11_DECODER_PROFILE_VC1_D2010,
    72     D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE,
    73     D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC,
    74     D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC,
    75     D3D11_DECODER_PROFILE_HEVC_VLD_MAIN,
    76     D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10,
    77     D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0,
    78     D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2,
    79     D3D11_DECODER_PROFILE_VP8_VLD,
    80     D3D11_DECODER_PROFILE_AV1_VLD_PROFILE0,
    81     D3D11_DECODER_PROFILE_AV1_VLD_PROFILE1,
    82     D3D11_DECODER_PROFILE_AV1_VLD_PROFILE2,
    83     D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2,
    84     D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2_420,
     62    //D3D11_DECODER_PROFILE_WMV8_POSTPROC,
     63    //D3D11_DECODER_PROFILE_WMV8_MOCOMP,
     64    //D3D11_DECODER_PROFILE_WMV9_POSTPROC,
     65    //D3D11_DECODER_PROFILE_WMV9_MOCOMP,
     66    //D3D11_DECODER_PROFILE_WMV9_IDCT,
     67    //D3D11_DECODER_PROFILE_VC1_POSTPROC,
     68    //D3D11_DECODER_PROFILE_VC1_MOCOMP,
     69    //D3D11_DECODER_PROFILE_VC1_IDCT,
     70    //D3D11_DECODER_PROFILE_VC1_VLD,
     71    //D3D11_DECODER_PROFILE_VC1_D2010,
     72    //D3D11_DECODER_PROFILE_MPEG4PT2_VLD_SIMPLE,
     73    //D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_NOGMC,
     74    //D3D11_DECODER_PROFILE_MPEG4PT2_VLD_ADVSIMPLE_GMC,
     75    //D3D11_DECODER_PROFILE_HEVC_VLD_MAIN,
     76    //D3D11_DECODER_PROFILE_HEVC_VLD_MAIN10,
     77    //D3D11_DECODER_PROFILE_VP9_VLD_PROFILE0,
     78    //D3D11_DECODER_PROFILE_VP9_VLD_10BIT_PROFILE2,
     79    //D3D11_DECODER_PROFILE_VP8_VLD,
     80    //D3D11_DECODER_PROFILE_AV1_VLD_PROFILE0,
     81    //D3D11_DECODER_PROFILE_AV1_VLD_PROFILE1,
     82    //D3D11_DECODER_PROFILE_AV1_VLD_PROFILE2,
     83    //D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2,
     84    //D3D11_DECODER_PROFILE_AV1_VLD_12BIT_PROFILE2_420,
    8585};
    8686
     87
     88typedef struct VBOXDXVIDEOPROCESSORINPUTVIEW
     89{
     90    PVBOXDX_DEVICE pDevice;
     91    D3D11_1DDI_HRTVIDEOPROCESSORINPUTVIEW hRTView;
     92    D3D11_1DDIARG_CREATEVIDEOPROCESSORINPUTVIEW CreateData;
     93} VBOXDXVIDEOPROCESSORINPUTVIEW, *PVBOXDXVIDEOPROCESSORINPUTVIEW;
     94
     95typedef struct VBOXDXVIDEOPROCESSOROUTPUTVIEW
     96{
     97    PVBOXDX_DEVICE pDevice;
     98    D3D11_1DDI_HRTVIDEOPROCESSOROUTPUTVIEW hRTView;
     99    D3D11_1DDIARG_CREATEVIDEOPROCESSOROUTPUTVIEW CreateData;
     100} VBOXDXVIDEOPROCESSOROUTPUTVIEW, *PVBOXDXVIDEOPROCESSOROUTPUTVIEW;
    87101
    88102typedef struct VBOXDXVIDEOPROCESSORFILTER
     
    150164} VBOXDXVIDEOPROCESSORENUM, *PVBOXDXVIDEOPROCESSORENUM;
    151165
     166
     167typedef struct VBOXDXVIDEODECODEROUTPUTVIEW
     168{
     169    PVBOXDX_DEVICE pDevice;
     170    D3D11_1DDI_HRTVIDEODECODEROUTPUTVIEW hRTView;
     171    D3D11_1DDIARG_CREATEVIDEODECODEROUTPUTVIEW CreateData;
     172} VBOXDXVIDEODECODEROUTPUTVIEW, *PVBOXDXVIDEODECODEROUTPUTVIEW;
     173
     174typedef struct VBOXDXVIDEODECODER
     175{
     176    PVBOXDX_DEVICE pDevice;
     177    D3D11_1DDI_HRTDECODE hRTVideoDecoder;
     178    D3D11_1DDIARG_CREATEVIDEODECODER CreateData;
     179    struct {
     180        PVBOXDXVIDEODECODEROUTPUTVIEW pOutputView;
     181    } Frame;
     182} VBOXDXVIDEODECODER, *PVBOXDXVIDEODECODER;
     183
    152184typedef struct VBOXDXVIDEOCRYPTOSESSION
    153185{
     
    170202{
    171203    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    172     //DEBUG_BREAKPOINT_TEST();
     204    DEBUG_BREAKPOINT_TEST();
    173205    RT_NOREF(pDevice);
    174206    *pDecodeProfileCount = RT_ELEMENTS(gaDecoderProfiles);
     
    183215    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    184216    D3D11_1DDI_VIDEO_DECODER_DESC *pDecodeDesc = (D3D11_1DDI_VIDEO_DECODER_DESC *)pGuid;
    185     //DEBUG_BREAKPOINT_TEST();
     217    DEBUG_BREAKPOINT_TEST();
    186218    RT_NOREF(pDevice, Index, pDecodeDesc);
    187219    *pGuid = gaDecoderProfiles[Index];
     
    196228{
    197229    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    198     //DEBUG_BREAKPOINT_TEST();
     230    DEBUG_BREAKPOINT_TEST();
    199231    RT_NOREF(pDevice, pDecoderProfile, Format);
    200     *pSupported = TRUE;
     232    if (   Format == DXGI_FORMAT_NV12
     233        || Format == DXGI_FORMAT_B8G8R8A8_UNORM)
     234        *pSupported = TRUE;
     235    else
     236        *pSupported = FALSE;
    201237    return;
    202238}
     
    208244{
    209245    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    210     //DEBUG_BREAKPOINT_TEST();
     246    DEBUG_BREAKPOINT_TEST();
    211247    RT_NOREF(pDevice, pDecodeDesc);
    212248    *pConfigCount = 1;
     
    221257{
    222258    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    223     //DEBUG_BREAKPOINT_TEST();
     259    DEBUG_BREAKPOINT_TEST();
    224260    RT_NOREF(pDevice, pDecodeDesc, Index);
    225261    pConfig->guidConfigBitstreamEncryption = DXVADDI_NoEncrypt;
     
    243279}
    244280
     281/* D3D11_1DDI_VIDEO_DECODER_BUFFER_INFO::Usage has to be D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY,
     282 * otherwise Windows refuses to use the decoder.
     283 */
     284static D3D11_1DDI_VIDEO_DECODER_BUFFER_INFO const aBufferInfo[] =
     285{
     286    { D3D11_1DDI_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     287    { D3D11_1DDI_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     288    { D3D11_1DDI_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     289    { D3D11_1DDI_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     290    { D3D11_1DDI_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     291    { D3D11_1DDI_VIDEO_DECODER_BUFFER_SLICE_CONTROL, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     292    { D3D11_1DDI_VIDEO_DECODER_BUFFER_BITSTREAM, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     293    { D3D11_1DDI_VIDEO_DECODER_BUFFER_MOTION_VECTOR, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     294    { D3D11_1DDI_VIDEO_DECODER_BUFFER_FILM_GRAIN, _64K, D3D11_1DDI_VIDEO_USAGE_OPTIMAL_QUALITY },
     295};
     296
    245297static VOID APIENTRY ddi11_1GetVideoDecoderBufferTypeCount(
    246298    D3D10DDI_HDEVICE hDevice,
     
    251303    DEBUG_BREAKPOINT_TEST();
    252304    RT_NOREF(pDevice, pDecodeDesc);
    253     *pBufferTypeCount = 0;
     305    *pBufferTypeCount = RT_ELEMENTS(aBufferInfo);
    254306    return;
    255307}
     
    263315    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    264316    DEBUG_BREAKPOINT_TEST();
    265     RT_NOREF(pDevice, pDecodeDesc, Index, pInfo);
     317    RT_NOREF(pDevice, pDecodeDesc);
     318    *pInfo = aBufferInfo[Index];
    266319    return;
    267320}
     
    274327    DEBUG_BREAKPOINT_TEST();
    275328    RT_NOREF(pDevice, pDecoder);
    276     return 0;
     329    return sizeof(VBOXDXVIDEODECODER);
    277330}
    278331
     
    280333    D3D10DDI_HDEVICE hDevice,
    281334    CONST D3D11_1DDIARG_CREATEVIDEODECODER *pCreateData,
    282     D3D11_1DDI_HDECODE hDecode,
    283     D3D11_1DDI_HRTDECODE hRTDecode)
    284 {
    285     PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    286     DEBUG_BREAKPOINT_TEST();
    287     RT_NOREF(pDevice, pCreateData, hDecode, hRTDecode);
     335    D3D11_1DDI_HDECODE hDecoder,
     336    D3D11_1DDI_HRTDECODE hRTDecoder)
     337{
     338    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
     339    PVBOXDXVIDEODECODER pVideoDecoder = (PVBOXDXVIDEODECODER)hDecoder.pDrvPrivate;
     340    DEBUG_BREAKPOINT_TEST();
     341    RT_NOREF(pDevice);
     342    RT_ZERO(*pVideoDecoder);
     343    pVideoDecoder->pDevice = pDevice;
     344    pVideoDecoder->hRTVideoDecoder = hRTDecoder;
     345    pVideoDecoder->CreateData = *pCreateData;
    288346    return S_OK;
    289347}
     
    294352{
    295353    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    296     DEBUG_BREAKPOINT_TEST();
    297     RT_NOREF(pDevice, hDecoder);
     354    PVBOXDXVIDEODECODER pVideoDecoder = (PVBOXDXVIDEODECODER)hDecoder.pDrvPrivate;
     355    DEBUG_BREAKPOINT_TEST();
     356    RT_NOREF(pDevice, pVideoDecoder);
    298357    return;
    299358}
     
    316375{
    317376    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    318     DEBUG_BREAKPOINT_TEST();
    319     RT_NOREF(pDevice, hDecoder, pBeginFrame);
     377    PVBOXDXVIDEODECODER pVideoDecoder = (PVBOXDXVIDEODECODER)hDecoder.pDrvPrivate;
     378    DEBUG_BREAKPOINT_TEST();
     379    RT_NOREF(pDevice);
     380    pVideoDecoder->Frame.pOutputView = (PVBOXDXVIDEODECODEROUTPUTVIEW)pBeginFrame->hOutputView.pDrvPrivate;
     381    //pBeginFrame->pContentKey;
     382    //pBeginFrame->ContentKeySize;
    320383    return S_OK;
    321384}
     
    326389{
    327390    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    328     DEBUG_BREAKPOINT_TEST();
    329     RT_NOREF(pDevice, hDecoder);
     391    PVBOXDXVIDEODECODER pVideoDecoder = (PVBOXDXVIDEODECODER)hDecoder.pDrvPrivate;
     392    DEBUG_BREAKPOINT_TEST();
     393    RT_NOREF(pDevice);
     394    pVideoDecoder->Frame.pOutputView = NULL;
    330395    return;
    331396}
     
    338403{
    339404    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    340     DEBUG_BREAKPOINT_TEST();
    341     RT_NOREF(pDevice, hDecoder, BufferCount, pBufferDesc);
     405    PVBOXDXVIDEODECODER pVideoDecoder = (PVBOXDXVIDEODECODER)hDecoder.pDrvPrivate;
     406    DEBUG_BREAKPOINT_TEST();
     407    RT_NOREF(pDevice, pVideoDecoder);
     408    for (UINT i = 0; i < BufferCount; ++i)
     409    {
     410        D3D11_1DDI_VIDEO_DECODER_BUFFER_DESC const *pDesc = &pBufferDesc[i];
     411        LogFlowFunc(("at %d, size %d\n", pDesc->DataOffset, pDesc->DataSize));
     412        RT_NOREF(pDesc);
     413    }
    342414    return S_OK;
    343415}
     
    388460{
    389461    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    390     //DEBUG_BREAKPOINT_TEST();
     462    DEBUG_BREAKPOINT_TEST();
    391463    RT_NOREF(pDevice, hVideoProcessorEnum, Format);
    392     *pSupported = D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT
    393                 | D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT;
     464    if (   Format == DXGI_FORMAT_NV12
     465        || Format == DXGI_FORMAT_B8G8R8A8_UNORM)
     466        *pSupported = D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT
     467                    | D3D11_1DDI_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT;
     468    else
     469        *pSupported = 0;
    394470    return;
    395471}
     
    402478    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    403479    PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum = (PVBOXDXVIDEOPROCESSORENUM)hProcessorEnum.pDrvPrivate;
    404     //DEBUG_BREAKPOINT_TEST();
     480    DEBUG_BREAKPOINT_TEST();
    405481    RT_NOREF(pDevice, pVideoProcessorEnum);
    406482    RT_ZERO(*pCaps);
     
    435511{
    436512    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    437     //DEBUG_BREAKPOINT_TEST();
     513    DEBUG_BREAKPOINT_TEST();
    438514    RT_NOREF(pDevice, hProcessorEnum, RateConversionIndex);
    439515    RT_ZERO(*pCaps);
     
    474550{
    475551    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    476     //DEBUG_BREAKPOINT_TEST();
     552    DEBUG_BREAKPOINT_TEST();
    477553    RT_NOREF(pDevice, hProcessorEnum, Filter);
    478554    pFilterRange->Minimum = 0;
     
    511587static VOID APIENTRY ddi11_1DestroyVideoProcessor(
    512588    D3D10DDI_HDEVICE hDevice,
    513     D3D11_1DDI_HVIDEOPROCESSOR hProcessor)
    514 {
    515     PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    516     DEBUG_BREAKPOINT_TEST();
    517     RT_NOREF(pDevice, hProcessor);
     589    D3D11_1DDI_HVIDEOPROCESSOR hVideoProcessor)
     590{
     591    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
     592    PVBOXDXVIDEOPROCESSOR pVideoProcessor = (PVBOXDXVIDEOPROCESSOR)hVideoProcessor.pDrvPrivate;
     593    DEBUG_BREAKPOINT_TEST();
     594    RT_NOREF(pDevice, pVideoProcessor);
    518595    return;
    519596}
     
    874951    DEBUG_BREAKPOINT_TEST();
    875952    RT_NOREF(pDevice, pView);
    876     return 0;
     953    return sizeof(VBOXDXVIDEODECODEROUTPUTVIEW);
    877954}
    878955
     
    884961{
    885962    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    886     DEBUG_BREAKPOINT_TEST();
    887     RT_NOREF(pDevice, pCreateData, hView, hRTView);
     963    PVBOXDXVIDEODECODEROUTPUTVIEW pVideoDecoderOutputView = (PVBOXDXVIDEODECODEROUTPUTVIEW)hView.pDrvPrivate;
     964    DEBUG_BREAKPOINT_TEST();
     965    RT_NOREF(pDevice);
     966    pVideoDecoderOutputView->pDevice = pDevice;
     967    pVideoDecoderOutputView->hRTView = hRTView;
     968    pVideoDecoderOutputView->CreateData = *pCreateData;
    888969    return S_OK;
    889970}
     
    894975{
    895976    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    896     DEBUG_BREAKPOINT_TEST();
    897     RT_NOREF(pDevice, hView);
     977    PVBOXDXVIDEODECODEROUTPUTVIEW pVideoDecoderOutputView = (PVBOXDXVIDEODECODEROUTPUTVIEW)hView.pDrvPrivate;
     978    DEBUG_BREAKPOINT_TEST();
     979    RT_NOREF(pDevice, pVideoDecoderOutputView);
    898980    return;
    899981}
     
    906988    DEBUG_BREAKPOINT_TEST();
    907989    RT_NOREF(pDevice, pView);
    908     return 0;
     990    return sizeof(VBOXDXVIDEOPROCESSORINPUTVIEW);
    909991}
    910992
     
    916998{
    917999    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    918     DEBUG_BREAKPOINT_TEST();
    919     RT_NOREF(pDevice, pCreateData, hView, hRTView);
     1000    PVBOXDXVIDEOPROCESSORINPUTVIEW pVideoProcessorInputView = (PVBOXDXVIDEOPROCESSORINPUTVIEW)hView.pDrvPrivate;
     1001    DEBUG_BREAKPOINT_TEST();
     1002    RT_NOREF(pDevice);
     1003    pVideoProcessorInputView->pDevice = pDevice;
     1004    pVideoProcessorInputView->hRTView = hRTView;
     1005    pVideoProcessorInputView->CreateData = *pCreateData;
    9201006    return S_OK;
    9211007}
     
    9261012{
    9271013    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    928     DEBUG_BREAKPOINT_TEST();
    929     RT_NOREF(pDevice, hView);
     1014    PVBOXDXVIDEOPROCESSORINPUTVIEW pVideoProcessorInputView = (PVBOXDXVIDEOPROCESSORINPUTVIEW)hView.pDrvPrivate;
     1015    DEBUG_BREAKPOINT_TEST();
     1016    RT_NOREF(pDevice, pVideoProcessorInputView);
    9301017    return;
    9311018}
     
    9381025    DEBUG_BREAKPOINT_TEST();
    9391026    RT_NOREF(pDevice, pView);
    940     return 0;
     1027    return sizeof(VBOXDXVIDEOPROCESSOROUTPUTVIEW);
    9411028}
    9421029
     
    9481035{
    9491036    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    950     DEBUG_BREAKPOINT_TEST();
    951     RT_NOREF(pDevice, pCreateData, hView, hRTView);
     1037    PVBOXDXVIDEOPROCESSOROUTPUTVIEW pVideoProcessorOutputView = (PVBOXDXVIDEOPROCESSOROUTPUTVIEW)hView.pDrvPrivate;
     1038    DEBUG_BREAKPOINT_TEST();
     1039    RT_NOREF(pDevice);
     1040    pVideoProcessorOutputView->pDevice = pDevice;
     1041    pVideoProcessorOutputView->hRTView = hRTView;
     1042    pVideoProcessorOutputView->CreateData = *pCreateData;
    9521043    return S_OK;
    9531044}
     
    9581049{
    9591050    PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate;
    960     DEBUG_BREAKPOINT_TEST();
    961     RT_NOREF(pDevice, hView);
     1051    PVBOXDXVIDEOPROCESSOROUTPUTVIEW pVideoProcessorOutputView = (PVBOXDXVIDEOPROCESSOROUTPUTVIEW)hView.pDrvPrivate;
     1052    DEBUG_BREAKPOINT_TEST();
     1053    RT_NOREF(pDevice, pVideoProcessorOutputView);
    9621054    return;
    9631055}
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette