[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 311
  • Last Modified:

video frames divided in vizalization cells

This is a 1000 for me so if dudes, so I post a new question to give a extra 500 pts.

I need to divide video frames  from a avi or mpg that has a high resolution 1240* 2048 into a lover res 640*480, so it becomes possible to see parts of the movie that correponds to the divided frame in real time. Let me see if I can explain myself. The buffer conatins the frames each frame is dividing this into a vizulization grid showing only the ordered cell.

So the question is how do i do this using directx or some other component or using direct input I realy do not know.
0
RuiGraca
Asked:
RuiGraca
  • 5
  • 2
  • 2
1 Solution
 
BarthaxCommented:
You've got some issues initially before you get going on the frame cropping. First of all, the AVI is just a wrapper around the sound & video codecs: it only describes which codecs are used within & the rest, the program has to be aware of.

You don't mention how far you have got with the process yet, so in terms of AVI processing you can do a lot worse than checking out VirtualDub's source.  In terms of DirectX programming, there's huge quantities of information on this around the Internet - I haven't touched it myself, so can't recommend any.

VirtualDub: http://www.virtualdub.org/
0
 
RuiGracaAuthor Commented:
I am starting so I am trying a design based in double buffering, but I do not know if it is the best approach.

0
 
BarthaxCommented:
Double buffering is going to be a good design but it depends on what display mechanism you are using.  For non-DirectX painting (again, I don't know about DirectX), you would be best keeping a pointer to the active "frame" (bitmap, or other object you care to use) and another pointer to the inactive "frame".  When your program receives the windows paint message, your routine need only access the active frame.  Your normal processing will continue with the non-active frame and once that frame is complete, just swap the pointers over & continue processing.

Note: I am well aware DirectX is going to be quicker, I just don't have experience of it... :)
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
RuiGracaAuthor Commented:
the problem is that I need part of the displayed frame and I need that that part fills the monitor while the other part of the frame will be invisible to the user.
0
 
Andre_TertlingCommented:
So you're saying you basically have a large picture from which you want to take a certain rectangular region and zoom that up to become fullscreen again? (The video and realtime issues can be dealt with later, first let's get clear about this question)
0
 
RuiGracaAuthor Commented:
Yes that it exacly I wounder for example if I put the monitor resolution in 640X480 and I got a movie that has 2048X1024 the movie will be larger than my monitor field view. So I will try to change the retangular region 640x480 dynamicly.
0
 
RuiGracaAuthor Commented:
But how ???? Can you help me??
0
 
Andre_TertlingCommented:
If you are familiar with the concept behind Avisynth, you can do all this with a simple Avisynth script. First you will need the video source (documentation about Avisynth and supplementary packages is available from a number of sources, among them www.doom9.org and http://avisynth.org/AviSynth) then apply a filter to crop a certain part of the video, then perform a zoom and finally the output stage. All this is done with independent DirectShow filters. Writing DirectShow filters is a very complex matter, but fortunately, there are lots of readymade filters for free use (check the license though, if you are doing a commercial project). If you want and need to do it in Delphi, you will have to create the DirectShow graph by means of API calls through Delphi. Windows and DirectShow will do the rest.
DSPack is such a library package for Delphi, unfortunately the web site seems to be down for me at present but you can find it on google.
0
 
RuiGracaAuthor Commented:
I am not familiar with the Avisynth, but I will see the DSpack and the Avisynth, I hope I get it fast.

Thanks It is a light in the end of a tunnel.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 5
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now