Skip to main content

 none
Someone help to understand encoding in h.264 RRS feed

  • Question

  • I use c#, Windows 10.

    Please help me understand the sequence of actions.
    I have a lot of images in ARGB32 format and I convert them to NV12 with these actions:

    1.MFExtern.MFTEnumEx
    2. hr = MFExtern.MFCreateMediaType(out mediaOutType);
                    hr = mediaOutType.SetGUID(MFAttributesClsid.MF_MT_MAJOR_TYPE, MFMediaType.Video);
                    hr = mediaOutType.SetGUID(MFAttributesClsid.MF_MT_SUBTYPE, outSubType);
                    hr = MFExtern.MFSetAttributeSize(mediaOutType, MFAttributesClsid.MF_MT_FRAME_SIZE, Width, Height);
                    hr = MFExtern.MFSetAttributeRatio(mediaOutType, MFAttributesClsid.MF_MT_FRAME_RATE, 1, 1);
                    hr = MFExtern.MFSetAttributeRatio(mediaOutType, MFAttributesClsid.MF_MT_PIXEL_ASPECT_RATIO, 1, 1);
                    hr = mediaOutType.SetUINT32(MFAttributesClsid.MF_MT_INTERLACE_MODE, (int)VideoInterlaceMode.Progressive);
                    hr = mediaOutType.SetUINT32(MFAttributesClsid.MF_MT_ALL_SAMPLES_INDEPENDENT, 1);
                    hr = retTransform.SetOutputType(0, mediaOutType, 0);
                    MFError.ThrowExceptionForHR(hr);

                    hr = MFExtern.MFCreateMediaType(out mediaInType);
                    hr = mediaInType.SetGUID(MFAttributesClsid.MF_MT_MAJOR_TYPE, MFMediaType.Video);
                    hr = mediaInType.SetGUID(MFAttributesClsid.MF_MT_SUBTYPE, inSubType);
                    hr = MFExtern.MFSetAttributeSize(mediaInType, MFAttributesClsid.MF_MT_FRAME_SIZE, Width, Height);
                    hr = MFExtern.MFSetAttributeRatio(mediaInType, MFAttributesClsid.MF_MT_FRAME_RATE, 1, 1);
                    hr = MFExtern.MFSetAttributeRatio(mediaInType, MFAttributesClsid.MF_MT_PIXEL_ASPECT_RATIO, 1, 1);
                    //hr = mediaInType.SetUINT32(MFAttributesClsid.MF_MT_DEFAULT_STRIDE, Width * 2);
                    hr = mediaIn

    Type.SetUINT32(MFAttributesClsid.MF_SA_D3D11_AWARE, 1);
                    hr = mediaInType.SetUINT32(MFAttributesClsid.MF_MT_FIXED_SIZE_SAMPLES, 1);
                    hr = mediaInType.SetUINT32(MFAttributesClsid.MF_MT_SAMPLE_SIZE, Width * Height * 4 * fps);
                    hr = mediaInType.SetUINT32(MFAttributesClsid.MF_MT_INTERLACE_MODE, (int)VideoInterlaceMode.Progressive);
                    hr = mediaInType.SetUINT32(MFAttributesClsid.MF_MT_ALL_SAMPLES_INDEPENDENT, 1);
                    hr = retTransform.SetInputType(0, mediaInType, 0);

    Everything works without errors, if I do reverse conversion and get ARGB32 I can save it to a file and it is displayed normally

    after that, I'm creating an Encoder,
    MFExtern.MFTEnumEx(TransformCategoryGuids.VideoDecoder, MFT_EnumFlag.LocalMFT

    Output attributes

    MF_MT_MAJOR_TYPE, MFMediaType.Video

    MF_MT_SUBTYPE, MFMediaType.H264

    MF_MT_COMPRESSED, true

    MF_MT_AVG_BITRATE, 10000000

    MF_MT_FRAME_SIZE, 1440, 900

    MF_MT_FRAME_RATE, 15, 1

    MF_MT_PIXEL_ASPECT_RATIO, 1, 1

    MF_MT_INTERLACE_MODE, (int)VideoInterlaceMode.Progressive

    INPUT attributes

    MF_MT_MAJOR_TYPE, MFMediaType.Video

    MF_MT_SUBTYPE, MFMediaType.NV12

    MF_MT_COMPRESSED, 0

    MF_MT_FRAME_SIZE, 1440, 900

    MF_MT_FRAME_RATE, 15, 1

    MF_MT_PIXEL_ASPECT_RATIO, 1, 1

    MF_MT_INTERLACE_MODE, (int)VideoInterlaceMode.Progressive

    I then transfer the IMFSample in NV12 format to the IMFSample ProcessIntput.

    get the result, 1 incoming frame and get 1 outgoing frame, if I write them into the file with the extension .h264 and then play them with the player. The video goes like this, the first frame is normal, the second is completely green, the third is normal, the fourth is again green and so on all the time, and I noticed such a strange thing when I encode in the video I thought every IMFSample on the output should have a different size, depending on the changes, if I give the encoder one and the same picture 1000 times I get the same size each time on GetOutputStreamInfo 2462400. I beg you to help me solve the problem... I'm not asking you to write the code for me, so please describe the correct scheme step by step what to do and why
    if I missed anything.


    • Edited by Alitrix Wednesday, October 23, 2019 7:11 AM
    Wednesday, October 23, 2019 6:49 AM

All replies

  • Decoder with NV12 input and H264 output? That's encoder.

    Anyway, see Why do we transmit the IBP frames out of order? on frame re-ordering. I am guessing your H.264 has B frames.


    http://alax.info/blog/tag/directshow


    Wednesday, October 23, 2019 9:02 AM
  • This is a typo in the message, like this

    hr = MFExtern.MFTEnumEx (TransformCategoryGuids.VideoEncoder, MFT_EnumFlag.LocalMFT, registerTypeInfoIn, registerTypeInfoOut, out mFActivates, out mFActivatesCount);

    This encoder select - "H264 Encoder MFT"

    Wednesday, October 23, 2019 10:59 AM
  • Thanks for the answer, I read the information on the link, tell me as I understand that for decoding you need to cache samples and decode not starting from the first.

    how can I achieve this result, by the way I checked for writing to a file I saved the encoded raw data to a file and then lost, why the whole frame is cracked through the frame

    Wednesday, October 23, 2019 11:12 AM
  • How can I track I frame BB and P?
    I tried in debugging to see the size of the buffer after decoding, did:

    hr = sampleH264.ConvertToContiguousBuffer (out IMFMediaBuffer mediaBuffer);
    IntPtr pBuff;
    int max, cur;
    hr = mediaBuffer.Lock (out pBuff, out max, out cur);
    byte [] frame_buff = new byte [cur];
    Marshal.Copy (pBuff, frame_buff, 0, cur);
    hr = mediaBuffer.Unlock ();

    1.73588 byte

    2.5069 byte

    3.156919 byte

    4.5212 byte

    5.169178 byte

    6.5055 byte

    How can I improve my situation? In fact, when I send the first frame from the encoder to the decoder, ProcessInput accepts it perfectly, but no matter how much I send IMFSample, I always need more

    Wednesday, October 23, 2019 11:27 AM
  • I re-read the answer given by you and seemed to find:

    1.Receive frame and get its PTS_IN value
    2.If it was the first frame, assign TEMP_TS = PTS_IN and discard the frame. Jump to step 1.
    3.If (PTS_IN <TEMP_TS) then {DTS_OUT = PTS_IN} else {DTS_OUT = TEMP_TS; TEMP_TS = PTS_IN; }
    4.Assign PTS_OUT = PTS_IN
    5.Deliver frame
    6.Jump to step 1.

    Only I still can’t understand how I can determine which frame I received? I or P or B ?

    And yet, can you say whether I give the correct settings to the attributes for incoming MediaType and outgoing?

    Wednesday, October 23, 2019 12:18 PM
  • You might not need to understand type of frame, even if you possibly could.

    By writing to file sequentially, you stripping important piece of stream: timestamps. 

    So your options are:

    1. disable B frames in encoder settings (AVEncMPVDefaultBPictureCount = 0)
    2. write .MP4, not .H264
    3. keep output data and sort it by time stamps, write to .H264 reordered

    http://alax.info/blog/tag/directshow


    Wednesday, October 23, 2019 1:48 PM
  • In general, the option I need is not saving the video to a file, but transferring the image data over the network and showing them on the screen on the back, it doesn’t matter to the WinForms or WPF application, I described the converter from ARGB to NV12 and then I wanted to collect them into a stream setting the duration of the frame display, and decode and display them on the reverse side with the specified duration. But apart from the conversion from ARGB to NV12, 100% of which does not work. The encoder that I described, transferring samples right there in the same application for decoding, they accept them but there is not a single decoded one. My head is about to explode soon. It is still a rather complicated fact that there is no normal documentation and examples with the library http://mfnet.sourceforge.net/(https://sourceforge.net/projects/mfnet), for example, many necessary settings for encoding and transformations that are described in с++ they simply don’t exist and I can’t even find them by name in the sources, I can’t get an asynchronous model for encoding, and there’s not even a number of examples, I have an example when reading IMFSourceReader, but I don’t have it, I create samples from pictures, or like get the ICodecID from IMFTransform in order to set the settings or AVEncMPVDefaultBPictureCount ak ask it to IMFTransform I know how to set the attribute, but IMFTransform no setup functions and as I understand I need to get ICodecID order that would establish the setting. Or do this when initializing media types in. There are many questions, I want to understand the sequence of right steps to get this or that result. I already understand that I will need to figure out later how to show these frames on the client side without resorting to reverse decoding in ARGB, for example, create a surface and apply NV12 texture to it with a back buffer, how to reduce bitrate, how to reduce image quality how to reduce the pictures that I press into the stream, but for starters at least see that there is a chance that such an idea is real.

    • Edited by Alitrix Wednesday, October 23, 2019 11:36 PM
    Wednesday, October 23, 2019 11:31 PM
  • And the worst thing is that I initially did a search for the MFT_EnumFlag.Hardware encoder, installed the QuickSync driver, the driver was found, the attributes were installed, the code accepted them without a single error, but to this day, ProcessInput returns MF_E_NOTACCEPTING, with different attributes. always the same. although the software encoder accepts them.

    Wednesday, October 23, 2019 11:35 PM
  • Finally I figured out with MFTrace and got:

    Tell me, is everything all right here?

    __M_F_T_R_A_C_E___LOG__

    PID, TID    Time (UTC)    TraceMessage
    --------- --------------  ------------
    5856,17C4 02:31:05.01054 TraceOSVersion @ OS version (BuildLabEx): 17134.1.x86fre.rs4_release.180410-1804
    5856,17C4 02:31:05.01055 TraceMFDetoursVersion @ MFDetours version 1.1.0.1
    5856,17C4 02:31:05.01122 TraceEnabledKeywords @ Keywords and levels: Default 4, Detours 4, MFDebugHlp 4, Kernel32Export 4, MFExport 4, MFPlatExport 4, MFPlayExport 4, MFReadWriteExport 4, Ole32Export 4, wmvCoreExport 4, MFPublic 4, IMFActivate 4, IMFAsyncCallback 4, IMFAttributes 4, IMFClock 4, IMFClockStateSink 4, IMFMediaEventGenerator 4, IMFMediaSession 4, IMFMediaSink 4, IMFMediaSource 4, IMFMediaStream 4, IMFPMediaPlayer 4, IMFPMediaItem 4
    5856,17C4 02:31:05.01128 TraceEnabledKeywords @ Keywords and levels: IMFPMediaPlayerCallback 4, IMFPresentationClock 4, IMFQualityAdvise 4, IMFQualityAdvise2 4, IMFQualityManager 4, IMFRateControl 4, IMFSample 4, IMFSinkWriter 4, IMFSourceReader 4, IMFSourceReaderCallback 4, IMFSourceResolver 4, IMFStreamSink 4, IMFTopology 4, IMFTopologyNode 4, IMFTopoLoader 4, IMFTransform 4, IMediaObject 4, IMFSchemeHandler 4, IMFByteStream 4, IMFByteStreamHandler 4
    5856,17C4 02:31:05.01130 TraceEnabledKeywords @ Keywords and levels: IMFReadWriteClassFactory 4, IFilterGraph 4, IGraphBuilder 4, IMediaControl 4, IMemInputPin 4, IWMReader 4, IWMReaderCallback 4
    5856,17C4 02:31:05.02304 CMFMediaSessionDetours::Attach @0570F4B0 Presentation clock @057129A0
    5856,17C4 02:31:05.02356 CMFMediaSessionDetours::Attach @0570F4B0 Rate control @0570F4B8
    5856,3E3C 02:31:07.66394 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000000
    5856,3E3C 02:31:07.67218 CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000000
    5856,3E3C 02:31:07.75242 CMFPlatExportDetours::MFTEnumEx @ Category: MFT_CATEGORY_VIDEO_PROCESSOR, Flags: 0x0000003F, input MT: MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_SUBTYPE=MFVideoFormat_ARGB32, output MT: MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_SUBTYPE=MFVideoFormat_NV12
    5856,3E3C 02:31:07.75376 CMFAttributesDetours::GetUINT32 @0570E3A8 attribute not found guidKey = MFT_CODEC_MERIT_Attribute
    5856,403C 02:31:07.75916 COle32ExportDetours::CoCreateInstance @ Created {D63B10C5-BB46-4990-A94F-E40B9D520160}  () @06AA176C - traced interfaces:
    5856,3E3C 02:31:07.79292 CMFPlatExportDetours::MFTEnumEx @ Activate 00 @05728108, MFT_FRIENDLY_NAME_Attribute=Microsoft Video Processor MFT;MFT_INPUT_TYPES_Attributes=76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 49 59 55 56 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 59 56 31 32 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 ...;MFT_TRANSFORM_CLSID_Attribute={88753B26-5B24-49BD-B2E7-0C445C78C982};MFT_OUTPUT_TYPES_Attributes=76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 49 59 55 56 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 59 56 31 32 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 ...;MF_TRANSFORM_FLAGS_Attribute=1;MF_TRANSFORM_CATEGORY_Attribute=MFT_CATEGORY_VIDEO_PROCESSOR
    5856,3E3C 02:31:07.79571 COle32ExportDetours::CoCreateInstance @ New MFT @0572B9C0, {093F81B1-4F2E-4631-8168-7934032A01D3}=1;{206B4FC8-FCF9-4C51-AFE3-9764369E33A0}=1
    5856,3E3C 02:31:07.79646 COle32ExportDetours::CoCreateInstance @ Created {88753B26-5B24-49BD-B2E7-0C445C78C982}  (C:\WINDOWS\System32\msvproc.dll) @0572B9C0 - traced interfaces: IMFTransform @0572B9C0,
    5856,3E3C 02:31:07.79647 CMFActivateDetours::GetUINT32 @05728108 attribute not found guidKey = MFT_CODEC_MERIT_Attribute
    5856,3E3C 02:31:07.79647 CMFActivateDetours::ActivateObject @05728108 New MFT @0572B9C0
    5856,3E3C 02:31:07.80458 CMFTransformDetours::SetOutputType @0572B9C0 Succeeded MT: MF_MT_FRAME_SIZE=6184752907140 (1440,900);MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_FRAME_RATE=4294967297 (1,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_INTERLACE_MODE=2;MF_MT_SUBTYPE=MFVideoFormat_NV12
    5856,3E3C 02:31:07.80481 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {3C5D293F-AD67-4E29-AF12-CF3E238ACCE9}
    5856,3E3C 02:31:07.80482 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {9C27891A-ED7A-40E1-88E8-B22727A024EE}
    5856,3E3C 02:31:07.80483 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {1B67855F-381E-4CE9-B45D-09E11EE4EE39}
    5856,3E3C 02:31:07.80483 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {4A0A1E1F-272C-4FB6-9EB1-DB330CBC97CA}
    5856,3E3C 02:31:07.80498 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {3C5D293F-AD67-4E29-AF12-CF3E238ACCE9}
    5856,3E3C 02:31:07.80500 CMFTransformDetours::SetInputType @0572B9C0 Succeeded MT: MF_MT_FRAME_SIZE=6184752907140 (1440,900);MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_FRAME_RATE=4294967297 (1,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_INTERLACE_MODE=2;MF_MT_SUBTYPE=MFVideoFormat_ARGB32
    5856,3E3C 02:31:07.80576 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
    5856,3E3C 02:31:07.80577 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {2C0AFA19-7A97-4D5A-9EE8-16D4FC518D8C}
    5856,3E3C 02:31:07.80577 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {4A0A1E1F-272C-4FB6-9EB1-DB330CBC97CA}
    5856,3E3C 02:31:07.80578 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {04A2CABC-0CAB-40B1-A1B9-75BC3658F000}
    5856,3E3C 02:31:07.80578 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {9C27891A-ED7A-40E1-88E8-B22727A024EE}
    5856,3E3C 02:31:07.80579 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {6FE3724D-C559-4520-ABB1-66B0923409A2}
    5856,3E3C 02:31:07.80579 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {E9B3D8FC-5C64-4A83-9C97-335022E24676}
    5856,3E3C 02:31:07.80580 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {E697525D-D4FB-4C7A-9C16-C8553AE51138}
    5856,3E3C 02:31:07.80580 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {AA4DDB29-5134-4363-AC72-83EC4BC10426}
    5856,3E3C 02:31:07.80581 CMFAttributesDetours::GetUINT32 @0570C0F0 attribute not found guidKey = {C67475CA-5B07-4AEE-B24A-814ED6BA11BA}
    5856,3E3C 02:31:07.80603 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x10000003 MFT_MESSAGE_NOTIFY_START_OF_STREAM, param=00000000
    5856,3E3C 02:31:07.80603 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000000 MFT_MESSAGE_COMMAND_FLUSH, param=00000000
    5856,3E3C 02:31:07.80625 CMFPlatExportDetours::MFTEnumEx @ Category: MFT_CATEGORY_VIDEO_PROCESSOR, Flags: 0x0000003F, input MT: MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_SUBTYPE=MFVideoFormat_NV12, output MT: MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_SUBTYPE=MFVideoFormat_ARGB32
    5856,3E3C 02:31:07.80669 CMFAttributesDetours::GetUINT32 @05728270 attribute not found guidKey = MFT_CODEC_MERIT_Attribute
    5856,3E3C 02:31:07.81416 CMFPlatExportDetours::MFTEnumEx @ Activate 00 @0572B710, MFT_FRIENDLY_NAME_Attribute=Microsoft Video Processor MFT;MFT_INPUT_TYPES_Attributes=76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 49 59 55 56 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 59 56 31 32 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 ...;MFT_TRANSFORM_CLSID_Attribute={88753B26-5B24-49BD-B2E7-0C445C78C982};MFT_OUTPUT_TYPES_Attributes=76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 49 59 55 56 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 64 73 00 00 10 00 80 00 00 aa 00 38 9b 71 59 56 31 32 00 00 10 00 80 00 00 aa 00 38 9b 71 76 69 ...;MF_TRANSFORM_FLAGS_Attribute=1;MF_TRANSFORM_CATEGORY_Attribute=MFT_CATEGORY_VIDEO_PROCESSOR
    5856,3E3C 02:31:07.81485 COle32ExportDetours::CoCreateInstance @ New MFT @0572F650, {093F81B1-4F2E-4631-8168-7934032A01D3}=1;{206B4FC8-FCF9-4C51-AFE3-9764369E33A0}=1
    5856,3E3C 02:31:07.81486 COle32ExportDetours::CoCreateInstance @ Created {88753B26-5B24-49BD-B2E7-0C445C78C982}  (C:\WINDOWS\System32\msvproc.dll) @0572F650 - traced interfaces: IMFTransform @0572F650,
    5856,3E3C 02:31:07.81487 CMFActivateDetours::GetUINT32 @0572B710 attribute not found guidKey = MFT_CODEC_MERIT_Attribute
    5856,3E3C 02:31:07.81487 CMFActivateDetours::ActivateObject @0572B710 New MFT @0572F650
    5856,3E3C 02:31:07.81503 CMFTransformDetours::SetOutputType @0572F650 Succeeded MT: MF_MT_FRAME_SIZE=6184752907140 (1440,900);MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_FRAME_RATE=4294967297 (1,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_INTERLACE_MODE=2;MF_MT_SUBTYPE=MFVideoFormat_ARGB32
    5856,3E3C 02:31:07.81505 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {3C5D293F-AD67-4E29-AF12-CF3E238ACCE9}
    5856,3E3C 02:31:07.81505 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {9C27891A-ED7A-40E1-88E8-B22727A024EE}
    5856,3E3C 02:31:07.81506 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {1B67855F-381E-4CE9-B45D-09E11EE4EE39}
    5856,3E3C 02:31:07.81506 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {4A0A1E1F-272C-4FB6-9EB1-DB330CBC97CA}
    5856,3E3C 02:31:07.81512 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {3C5D293F-AD67-4E29-AF12-CF3E238ACCE9}
    5856,3E3C 02:31:07.81514 CMFTransformDetours::SetInputType @0572F650 Succeeded MT: MF_MT_FRAME_SIZE=6184752907140 (1440,900);MF_MT_MAJOR_TYPE=MEDIATYPE_Video;MF_MT_FIXED_SIZE_SAMPLES=1;MF_MT_FRAME_RATE=4294967297 (1,1);MF_MT_PIXEL_ASPECT_RATIO=4294967297 (1,1);MF_MT_ALL_SAMPLES_INDEPENDENT=1;MF_MT_INTERLACE_MODE=2;MF_MT_SUBTYPE=MFVideoFormat_NV12
    5856,3E3C 02:31:07.81514 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x10000000 MFT_MESSAGE_NOTIFY_BEGIN_STREAMING, param=00000000
    5856,3E3C 02:31:07.81515 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {2C0AFA19-7A97-4D5A-9EE8-16D4FC518D8C}
    5856,3E3C 02:31:07.81515 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {4A0A1E1F-272C-4FB6-9EB1-DB330CBC97CA}
    5856,3E3C 02:31:07.81516 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {04A2CABC-0CAB-40B1-A1B9-75BC3658F000}
    5856,3E3C 02:31:07.81516 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {9C27891A-ED7A-40E1-88E8-B22727A024EE}
    5856,3E3C 02:31:07.81517 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {6FE3724D-C559-4520-ABB1-66B0923409A2}
    5856,3E3C 02:31:07.81517 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {E9B3D8FC-5C64-4A83-9C97-335022E24676}
    5856,3E3C 02:31:07.81518 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {E697525D-D4FB-4C7A-9C16-C8553AE51138}
    5856,3E3C 02:31:07.81518 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {AA4DDB29-5134-4363-AC72-83EC4BC10426}
    5856,3E3C 02:31:07.81519 CMFAttributesDetours::GetUINT32 @05733010 attribute not found guidKey = {C67475CA-5B07-4AEE-B24A-814ED6BA11BA}
    5856,3E3C 02:31:07.81533 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x10000003 MFT_MESSAGE_NOTIFY_START_OF_STREAM, param=00000000
    5856,3E3C 02:31:07.81533 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000000 MFT_MESSAGE_COMMAND_FLUSH, param=00000000
    5856,3F88 02:31:07.84382 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @0572F448, Time 0ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:07.85751 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @05734168, Time 0ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.85788 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05734168, Time 0ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.86265 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @05737210, Time 0ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.88515 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05737210, Time 1000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:07.88518 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:07.88528 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:07.88529 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:07.88531 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05737C38, Time 1000ms, Duration 1000ms, Buffers 1, Size 1944000B,
    5856,3F88 02:31:07.88532 CMFTransformDetours::ProcessInput @0572F650 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:07.88565 CMFTransformDetours::ProcessOutput @0572F650 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:07.88566 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:07.91848 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05734168, Time 1000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:07.92699 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @0572F448, Time 1000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.92702 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @0572F448, Time 1000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.93224 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @057336F8, Time 1000ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:07.96852 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @057336F8, Time 2000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:07.96853 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:07.96858 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:07.96858 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:07.96860 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05733778, Time 2000ms, Duration 1000ms, Buffers 1, Size 1944000B,
    5856,3F88 02:31:07.96860 CMFTransformDetours::ProcessInput @0572F650 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:07.96891 CMFTransformDetours::ProcessOutput @0572F650 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:07.96892 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.00164 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @0572F448, Time 2000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.00946 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @05734168, Time 2000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.00950 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05734168, Time 2000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.01469 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @057337F8, Time 2000ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.03551 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @057337F8, Time 3000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.03552 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.03560 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.03561 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.03563 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05738E68, Time 3000ms, Duration 1000ms, Buffers 1, Size 1944000B,
    5856,3F88 02:31:08.03564 CMFTransformDetours::ProcessInput @0572F650 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.03597 CMFTransformDetours::ProcessOutput @0572F650 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.03597 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.06956 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05734168, Time 3000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.07683 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @0572F448, Time 3000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.07687 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @0572F448, Time 3000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.08173 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @05737A90, Time 3000ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.10233 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05737A90, Time 4000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.10234 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.10242 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.10242 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.10244 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05737B10, Time 4000ms, Duration 1000ms, Buffers 1, Size 1944000B,
    5856,3F88 02:31:08.10245 CMFTransformDetours::ProcessInput @0572F650 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.10272 CMFTransformDetours::ProcessOutput @0572F650 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.10272 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.13541 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @0572F448, Time 4000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.14279 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @05734168, Time 4000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.14283 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05734168, Time 4000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.14776 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @05737B90, Time 4000ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.16900 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05737B90, Time 5000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.16902 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.16913 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.16913 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.16915 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05739090, Time 5000ms, Duration 1000ms, Buffers 1, Size 1944000B,
    5856,3F88 02:31:08.16916 CMFTransformDetours::ProcessInput @0572F650 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.16940 CMFTransformDetours::ProcessOutput @0572F650 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.16941 CMFTransformDetours::ProcessMessage @0572F650 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.20175 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05734168, Time 5000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.20893 CMFTransformDetours::ProcessOutput @0572B9C0 Stream ID 0, Sample @0572F448, Time 5000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.20896 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @0572F448, Time 5000ms, Duration 1000ms, Buffers 1, Size 1944000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.21432 CMFTransformDetours::ProcessOutput @0572F650 Stream ID 0, Sample @05738CC0, Time 5000ms, Duration 1000ms, Buffers 1, Size 5184000B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
    5856,3F88 02:31:08.23529 CMFTransformDetours::ProcessInput @0572B9C0 Stream ID 0, Sample @05738CC0, Time 6000ms, Duration 1000ms, Buffers 1, Size 0B,
    5856,3F88 02:31:08.23530 CMFTransformDetours::ProcessInput @0572B9C0 failed hr=0xC00D36B5 MF_E_NOTACCEPTING
    5856,3F88 02:31:08.23538 CMFTransformDetours::ProcessOutput @0572B9C0 failed hr=0xC00D6D72 MF_E_TRANSFORM_NEED_MORE_INPUT
    5856,3F88 02:31:08.23538 CMFTransformDetours::ProcessMessage @0572B9C0 Message type=0x00000001 MFT_MESSAGE_COMMAND_DRAIN, param=00000000
    5856,3F88 02:31:08.23541 CMFTransformDetours::ProcessInput @0572F650 Stream ID 0, Sample @05738D40, Time 6000ms, Duration 1000ms, Buffers 1, Size 1944000B,


    • Edited by Alitrix Friday, October 25, 2019 2:37 AM
    Friday, October 25, 2019 2:36 AM