Jump to content
  • 0

Nexys Video User Demo sample code


switchmod3

Question

6 answers to this question

Recommended Posts

Let me know when you get your board - I've got a almost getting there HDMI project you might want to experiment with.

- HDMI input decoding (720p & 1080p), but 1080p needs a bit more work before it is solid as I should reconfigure the input PLL...

- EDID ROM.

- Either 8-bit 444 or 12:bit 422 video

- DVI-D output (maybe to become HDMI soon)

I've got a few things I am slowly working on as time allows:

- input colour space conversion (between studio level & full level, RGB & yCbCr) - at the moment I need to configure the source appropriately

- Video infoframe extraction - at the moment I need to set design constants to configure the video stream)

- Audio sample data extraction is also on the list

Link to comment
Share on other sites

Let me know when you get your board - I've got a almost getting there HDMI project you might want to experiment with.

- HDMI input decoding (720p & 1080p), but 1080p needs a bit more work before it is solid as I should reconfigure the input PLL...

- EDID ROM.

- Either 8-bit 444 or 12:bit 422 video

- DVI-D output (maybe to become HDMI soon)

I've got a few things I am slowly working on as time allows:

- input colour space conversion (between studio level & full level, RGB & yCbCr) - at the moment I need to configure the source appropriately

- Video infoframe extraction - at the moment I need to set design constants to configure the video stream)

- Audio sample data extraction is also on the list

Cool! Do you happen to have a github or other online repository with said changes? I'd be happy to test them, granted I can backup the QSPI first.

Link to comment
Share on other sites

I'm actually thinking of starting a GitHub repo for the design... can you think of a good project name? I slowly want to expand it into a generally useful on-the-fly video processing platform - for those who want to build a video wall, or implement an Ambilight clone, or play with computer vision, or run a ticker of tweets across the screen...

Backing up of the QSPI shouldn't be required. For my testing I'm copying the ".bit" files to a USB flash drive wandering over to the board which is by a TV, then configuring the FPGA board from the USB drive. It takes quite a few seconds to configure the FPGA, but that is more than made up for in the convenience of not requiring space for the laptop and repeatedly abusing the board's microUSB connectors. It also avoids the mission of hunting down a microUSB cable - why is it that you can only find miniUSB cables when you want a micro?

Link to comment
Share on other sites

Naming things is hard, so I'd just name it "hamster-nexys-video-code" - Makes it easy for people to find it then. I've actually recently started porting some of your other examples to my own dev board. Maybe we could collaborate?

Link to comment
Share on other sites

Hi, i have the same board.

but i can't launch the SDK... it gives me an error

 

eclipse.buildId=2015.1
java.version=1.8.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data G:/data/nexysvideo_user_demo/NexysVideo_User_Demo/proj/nexys_video_demo.sdk

!ENTRY org.eclipse.core.resources 2 10035 2015-12-30 23:10:09.850
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.eclipse.osgi 4 0 2015-12-30 23:10:10.280
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (118).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
 at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
 at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
 at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
 at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
 at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/system_hw_platform_0/system_bd.tcl' not found.
 at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
 at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
 at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
 at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
 at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
 at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
 at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
 at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
 at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
 at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
 ... 28 more
Root exception:
org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/system_hw_platform_0/system_bd.tcl' not found.
 at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
 at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
 at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
 at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
 at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
 at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
 at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
 at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
 at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
 at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
 at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
 at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
 at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
 at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
 at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

!ENTRY org.eclipse.osgi 4 0 2015-12-30 23:10:10.320
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (118).
 at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:124)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
 at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 ... 13 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
 at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
 at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
 at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
 at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
 ... 22 more
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/system_hw_platform_0/system_bd.tcl' not found.
 at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
 at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
 at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
 at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
 at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
 at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
 at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
 at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
 at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
 at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
 at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
 at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
 ... 28 more

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...