Changeset 101303 in vbox for trunk/src/VBox/Additions/WINNT/Graphics
- Timestamp:
- Sep 28, 2023 7:21:18 PM (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/wddm/dx/VBoxDXDDIVideo.cpp
r101254 r101303 45 45 static const GUID gaDecoderProfiles[] = 46 46 { 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, 56 56 D3D11_DECODER_PROFILE_H264_VLD_NOFGT, 57 D3D11_DECODER_PROFILE_H264_VLD_FGT,57 //D3D11_DECODER_PROFILE_H264_VLD_FGT, 58 58 //D3D11_DECODER_PROFILE_H264_VLD_WITHFMOASO_NOFGT, 59 59 //D3D11_DECODER_PROFILE_H264_VLD_STEREO_PROGRESSIVE_NOFGT, 60 60 //D3D11_DECODER_PROFILE_H264_VLD_STEREO_NOFGT, 61 61 //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, 85 85 }; 86 86 87 88 typedef struct VBOXDXVIDEOPROCESSORINPUTVIEW 89 { 90 PVBOXDX_DEVICE pDevice; 91 D3D11_1DDI_HRTVIDEOPROCESSORINPUTVIEW hRTView; 92 D3D11_1DDIARG_CREATEVIDEOPROCESSORINPUTVIEW CreateData; 93 } VBOXDXVIDEOPROCESSORINPUTVIEW, *PVBOXDXVIDEOPROCESSORINPUTVIEW; 94 95 typedef struct VBOXDXVIDEOPROCESSOROUTPUTVIEW 96 { 97 PVBOXDX_DEVICE pDevice; 98 D3D11_1DDI_HRTVIDEOPROCESSOROUTPUTVIEW hRTView; 99 D3D11_1DDIARG_CREATEVIDEOPROCESSOROUTPUTVIEW CreateData; 100 } VBOXDXVIDEOPROCESSOROUTPUTVIEW, *PVBOXDXVIDEOPROCESSOROUTPUTVIEW; 87 101 88 102 typedef struct VBOXDXVIDEOPROCESSORFILTER … … 150 164 } VBOXDXVIDEOPROCESSORENUM, *PVBOXDXVIDEOPROCESSORENUM; 151 165 166 167 typedef struct VBOXDXVIDEODECODEROUTPUTVIEW 168 { 169 PVBOXDX_DEVICE pDevice; 170 D3D11_1DDI_HRTVIDEODECODEROUTPUTVIEW hRTView; 171 D3D11_1DDIARG_CREATEVIDEODECODEROUTPUTVIEW CreateData; 172 } VBOXDXVIDEODECODEROUTPUTVIEW, *PVBOXDXVIDEODECODEROUTPUTVIEW; 173 174 typedef 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 152 184 typedef struct VBOXDXVIDEOCRYPTOSESSION 153 185 { … … 170 202 { 171 203 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 172 //DEBUG_BREAKPOINT_TEST();204 DEBUG_BREAKPOINT_TEST(); 173 205 RT_NOREF(pDevice); 174 206 *pDecodeProfileCount = RT_ELEMENTS(gaDecoderProfiles); … … 183 215 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 184 216 D3D11_1DDI_VIDEO_DECODER_DESC *pDecodeDesc = (D3D11_1DDI_VIDEO_DECODER_DESC *)pGuid; 185 //DEBUG_BREAKPOINT_TEST();217 DEBUG_BREAKPOINT_TEST(); 186 218 RT_NOREF(pDevice, Index, pDecodeDesc); 187 219 *pGuid = gaDecoderProfiles[Index]; … … 196 228 { 197 229 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 198 //DEBUG_BREAKPOINT_TEST();230 DEBUG_BREAKPOINT_TEST(); 199 231 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; 201 237 return; 202 238 } … … 208 244 { 209 245 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 210 //DEBUG_BREAKPOINT_TEST();246 DEBUG_BREAKPOINT_TEST(); 211 247 RT_NOREF(pDevice, pDecodeDesc); 212 248 *pConfigCount = 1; … … 221 257 { 222 258 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 223 //DEBUG_BREAKPOINT_TEST();259 DEBUG_BREAKPOINT_TEST(); 224 260 RT_NOREF(pDevice, pDecodeDesc, Index); 225 261 pConfig->guidConfigBitstreamEncryption = DXVADDI_NoEncrypt; … … 243 279 } 244 280 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 */ 284 static 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 245 297 static VOID APIENTRY ddi11_1GetVideoDecoderBufferTypeCount( 246 298 D3D10DDI_HDEVICE hDevice, … … 251 303 DEBUG_BREAKPOINT_TEST(); 252 304 RT_NOREF(pDevice, pDecodeDesc); 253 *pBufferTypeCount = 0;305 *pBufferTypeCount = RT_ELEMENTS(aBufferInfo); 254 306 return; 255 307 } … … 263 315 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 264 316 DEBUG_BREAKPOINT_TEST(); 265 RT_NOREF(pDevice, pDecodeDesc, Index, pInfo); 317 RT_NOREF(pDevice, pDecodeDesc); 318 *pInfo = aBufferInfo[Index]; 266 319 return; 267 320 } … … 274 327 DEBUG_BREAKPOINT_TEST(); 275 328 RT_NOREF(pDevice, pDecoder); 276 return 0;329 return sizeof(VBOXDXVIDEODECODER); 277 330 } 278 331 … … 280 333 D3D10DDI_HDEVICE hDevice, 281 334 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; 288 346 return S_OK; 289 347 } … … 294 352 { 295 353 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); 298 357 return; 299 358 } … … 316 375 { 317 376 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; 320 383 return S_OK; 321 384 } … … 326 389 { 327 390 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; 330 395 return; 331 396 } … … 338 403 { 339 404 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 } 342 414 return S_OK; 343 415 } … … 388 460 { 389 461 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 390 //DEBUG_BREAKPOINT_TEST();462 DEBUG_BREAKPOINT_TEST(); 391 463 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; 394 470 return; 395 471 } … … 402 478 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 403 479 PVBOXDXVIDEOPROCESSORENUM pVideoProcessorEnum = (PVBOXDXVIDEOPROCESSORENUM)hProcessorEnum.pDrvPrivate; 404 //DEBUG_BREAKPOINT_TEST();480 DEBUG_BREAKPOINT_TEST(); 405 481 RT_NOREF(pDevice, pVideoProcessorEnum); 406 482 RT_ZERO(*pCaps); … … 435 511 { 436 512 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 437 //DEBUG_BREAKPOINT_TEST();513 DEBUG_BREAKPOINT_TEST(); 438 514 RT_NOREF(pDevice, hProcessorEnum, RateConversionIndex); 439 515 RT_ZERO(*pCaps); … … 474 550 { 475 551 PVBOXDX_DEVICE pDevice = (PVBOXDX_DEVICE)hDevice.pDrvPrivate; 476 //DEBUG_BREAKPOINT_TEST();552 DEBUG_BREAKPOINT_TEST(); 477 553 RT_NOREF(pDevice, hProcessorEnum, Filter); 478 554 pFilterRange->Minimum = 0; … … 511 587 static VOID APIENTRY ddi11_1DestroyVideoProcessor( 512 588 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); 518 595 return; 519 596 } … … 874 951 DEBUG_BREAKPOINT_TEST(); 875 952 RT_NOREF(pDevice, pView); 876 return 0;953 return sizeof(VBOXDXVIDEODECODEROUTPUTVIEW); 877 954 } 878 955 … … 884 961 { 885 962 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; 888 969 return S_OK; 889 970 } … … 894 975 { 895 976 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); 898 980 return; 899 981 } … … 906 988 DEBUG_BREAKPOINT_TEST(); 907 989 RT_NOREF(pDevice, pView); 908 return 0;990 return sizeof(VBOXDXVIDEOPROCESSORINPUTVIEW); 909 991 } 910 992 … … 916 998 { 917 999 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; 920 1006 return S_OK; 921 1007 } … … 926 1012 { 927 1013 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); 930 1017 return; 931 1018 } … … 938 1025 DEBUG_BREAKPOINT_TEST(); 939 1026 RT_NOREF(pDevice, pView); 940 return 0;1027 return sizeof(VBOXDXVIDEOPROCESSOROUTPUTVIEW); 941 1028 } 942 1029 … … 948 1035 { 949 1036 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; 952 1043 return S_OK; 953 1044 } … … 958 1049 { 959 1050 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); 962 1054 return; 963 1055 }
Note:
See TracChangeset
for help on using the changeset viewer.