On Mon, Sep 8, 2014 at 9:44 AM, Dan Dennedy <d...@dennedy.org> wrote: > On Mon, Sep 8, 2014 at 1:04 AM, Maksym Veremeyenko <ve...@m1stereo.tv> wrote: >> 08.09.14 00:59, Dan Dennedy написав(ла): >>> >>> On Wed, Sep 3, 2014 at 7:27 AM, Maksym Veremeyenko<ve...@m1stereo.tv> >>> wrote: >>>> >>>> Hi, >>>> >>>> if input signal to decklink board is differ from specified at board >>>> initialization or changed later, decklink could inform it by >>>> VideoInputFormatChanged callback. but it still does not give a proper >>>> frame >>>> at VideoInputFrameArrived >>>> >>>> provided patch stop/start decklink board with updated profile. >>>> >>> >>> I tested this patch today, and it causes a regression for me. I am >>> using Desktop Video 9.8 on Ubuntu 12.04 64-bit. I am giving a DeckLink >>> SDI card SD NTSC input, and running simply "melt -verbose decklink:" >>> which starts with a dv_pal MLT profile, then performs "auto-profile" >>> in which DeckLink input format detection occurs and changes the >>> profile. The regression I experience is that there are very many >>> dropped frames "[consumer sdl] dropped video frame" and playback is >>> very choppy, of course. Adding "-consumer sdl real_time=0" or -1 does >>> make the problem go away, but I consider the "out of the box" >>> experience of "melt decklink:" broken by it. >>> >> i think that is normal because of there is no framerate convertor in mlt and >> 29.97 incoming framerate cause a drop frame because consumer works with 25 >> fps > > OK, based on the timing of events, that could be a logical > explanation. However, with melt auto-profile, and the correct sequence > of events, the consumer should have been reconfigured with the new > frame rate. Correct sequence means VideoInputFormatChanged was > received before the return of the first mlt_frame. Let me study this > patch and code more. Maybe I can determine a condition when a restart > is necessary and other times not. > >> before startup decklink been configured to dv_pal, but after >> *VideoInputFormatChanged* notification call it is been restarted with >> detected profile, like dv_ntsc in you case. >> >> in my case without patch i receive a white frame that generated by: >> >> [...] >> if ( !*frame ) >> *frame = mlt_frame_init( MLT_PRODUCER_SERVICE(producer) ); >> [...] >> >> with a path i receive at least some frames. >> >> my test case was sending 1080i50 into dv_pal configured input and visa-verse >> >>> Does the problem you address occur with a different version of Desktop >>> Video? Or, do I need a different test scenario to produce the problem >>> you see? >>> >> i use the same diver version
Maksym, I found that after the auto-profile step of melt, I am receiving an unexpected additional VideoInputFormatChanged() but with only event bmdVideoInputColorspaceChanged. However, colorspace is controlled by the BMDDisplayMode, and it is correct in the second pass. Therefore, if I make the following change, then it makes my problem go away and probably still works for you: diff --git a/src/modules/decklink/producer_decklink.cpp b/src/modules/decklink/producer_decklink.cpp index 3b45301..710d33c 100644 --- a/src/modules/decklink/producer_decklink.cpp +++ b/src/modules/decklink/producer_decklink.cpp @@ -594,6 +594,7 @@ public: profile->description = strdup( "decklink" ); mlt_log_verbose( getProducer(), "format changed %dx%d %.3f fps\n", profile->width, profile->height, (double) profile->frame_rate_num / profile->frame_rate_den ); + m_new_input = profile; } if ( events & bmdVideoInputFieldDominanceChanged ) { @@ -608,7 +609,6 @@ public: ( mode->GetFlags() & bmdDisplayModeColorspaceRec709 ) ? 709 : 601; mlt_log_verbose( getProducer(), "colorspace changed %d\n", profile->colorspace ); } - m_new_input = profile; return S_OK; } }; Is it OK we make this change to your patch? -- +-DRD-+ ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk _______________________________________________ Mlt-devel mailing list Mlt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mlt-devel