The collected works of dj - Page 1

Nice! Works under linux too :) .

Back when I first started my djv project, I had a couple alpha versions just using raw xlib and freetype for fonts. Lot's of fun. For various reasons I ended up going with qt, but more than once have regretted that decision :) .
Saw this on SGI's developer pages:

When Developer Plus members join the SGI® Global Developer Program, they receive a free, five-user floating-license IRIX Development Tools and Compiler Bundle, valued at a list price of $20,000.

Of course, you already need to be a "Developer Plus" which seems to exclude open-source. :(

Probably been discussed before, but given the current state of SGI and IRIX, any bets on whether they'll release mipspro for free (a la Sun Studio) or take it down with the ship?
Searching around, I found this:

"Secondary cache lines are fixed in size at 32 words, or 128 bytes. Main memory page sizes are multiples of 4 KB, usually 16 KB."

The "usually" is kind of scary (a kernel configuration option?) but you should be able to double-check this. On my indigo2 the output of "sar -R" shows the physical memory to be 24576 pages. Assuming a page size of 16384 bytes: 24576 pages * 16384 bytes = 402653184 bytes / 1048576 = 384 megabytes. Which is what hinv shows.

Here's a csh one liner to print memory usge in megabytes for user programs:

echo "scale=10;"`sar -f -R | tail -1 | awk '{print $4}'`"*16384/1048576" | bc
lewis wrote: The page size in Irix is actually dynamically variable per process, and I think maybe even per thread or even more finely grained... actually, I think you can set any chunk of a process's address space to a different page size.

Pretty scary, huh? I believe this feature is totally unique to Irix. ... /ch02.html

That's awesome. Who would be crazy enough to need 16 megabyte pages?

I have no idea how that would affect sar's output then. In the techpubs article they mention "You can use the osview(1) command to view the number of free pages available at a particular page size.", but the osview man page doesn't seem to go into further detail.
Those interior shots look really nice; I like the subtle highlights and the way the sunlight wraps around the objects.

Can you drive the model around? :)
foetz wrote:

Found that, thanks :) .

Guess I just wanted to point out that the description says "no dependencies".
Last time I released a version of my software I had a similar problem where it would segfault on some machines and not others; turned out to be an incompatibility between the sgi freeware libjpeg and the neko version. Maybe this is something similar? Has anyone tried running the debugger to see what the stack trace looks like?
Hi everyone,

Just released a new beta version of my imaging software; if anyone is interested in giving it a try I would very much welcome feedback. The software comes with a number of applications:

* djv_view - Image and movie viewer.
* djv_vlut - Video lookup table control.
* djv_convert - Image conversion utility.
* djv_info - Image infomation utility.
* djv_ls - Directory listing utility.

Features include support for extended range images and industry file formats like DPX, OpenEXR, and experimental support for QuickTime.

There's a tardist on my sourceforge page for easy installation on IRIX; the only dependencies you need are libiconv from nekoware if you want to use the QuickTime stuff. Otherwise, just run inst, maybe type rehash, and that's it.

Sorry there's not much documentation yet :) . If you have any questions, please feel free to ask...

Some screenshots:
Downloads: ... _id=118244
Thanks for trying it out...

GIJoe wrote: - i was missing the '..' entry in the filebrowser window. i know you have an icon for going up in the tree but it's something very common in other apps, might make sense to add it to speed up navigation.

Good point; I'll add that back in.

GIJoe wrote: - seems extremely unresponsive when i open a sequence in rgba/u8 format, regardless of filetype, everything slows down to a crawl

That surprises me; I've spent some time optimizing the I/O so it should be quite fast. Can you give me some more details about the images, like file type and resolution? Also, did you have any of the tool windows open, like the histogram?

GIJoe wrote: - bombs with segfault when a certain .mov file is in the directory (mplayer shows it as 'mjpa' format) and is quite slow or hangs (with codecs warning in the shell) as soon as you open up a directory full of video files (all kinds of formats). i'll install that libiconv and see if it makes a difference.

If you don't have libiconv installed it shouldn't try and do anything with the movie files. Do you happen to have a library called "libquicktime" installed somewhere?

GIJoe wrote: not sure which direction you intend to go with this app but if it's a sequence viewer, shouldn't it just ignore the video files? i'd suggest to put in a functionality where the user can specify the path to his preferred video player - and invoke that when a movie is opened.

It is primarily meant for viewing image sequences, but I thought some movie support would be nice; it's definitely not meant as a general purpose media player though.

GIJoe wrote: otherwise i quite like it! adjustable gui colors, unobtrusive interface. seems very zippy (tested on dual600) as well. however, i only tested with SD/8bit files so far.

Do you work with any DPX images?
matt510au wrote: installed under Fedora Core 6 no problems

Good to hear, thanks. I'm currently compiling the linux version on CentOS 4.

matt510au wrote: djv_view - works no problem quite fast DPX files of a san

Great! If you don't mind me asking, what resolution images were you using and how fast did it playback?

matt510au wrote: djv_convert - havent used yet

It's handy for making tv-res quicktime movies of your DPX files:

Code: Select all

> djv_convert 00001-10000.dpx -scale 640 480

matt510au wrote: The only thing im not sure on is djv_vlut. How is this supposed to be used?

It allows you to interactively change the lookup table on your video card. This can help with calibrating monitors or just used as a quick way to adjust the color when looking at images. The interface is still a bit wonky, I'm open to suggestions on how to make it more intuitive.

Thanks for the feedback; I'll have a minor update hopefully later this week that's got even faster DPX I/O and also support for Cineons.
matt510au wrote: djv_view doesnt like .cin files, .mov

Cineon support will be in the next release. Quicktime support on UNIX is fairly limited right now; mostly just uncompressed movies and motion-jpeg. It's not meant so much for general purpose playback but as a way to rip image sequences into movies for other systems.

matt510au wrote: playback off a san 10gig connection ,around 5.3 frames per sec.

Hopefully the next version will be about 2x faster. Can you play back real-time 2k with your other software?

matt510au wrote: djv_vlut, thoughts thats what it did, need to be able to reset back to default if you change it.

Couple of ways to do that: "Reset" from the "VLUT" menu, hit the backspace key, or those little "x" buttons on the right side of the interface.

matt510au wrote: I will see what i can do with djv_convert currently use CleanerXL for this type of thing but you never know

Let me know if you have any suggestions for the converter; for instance right now I'm adding a "film scanner" mode for someone else so it waits for each frame before processing. Haven't heard of cleaner, I'll check it out. Thanks!
ka0s wrote: I love it !!!!
Like the file browser and the standard scale option for 16:9 an 2.35 !!!


ka0s wrote: Just can't get the full framerate of 25 frames when trying to play a .tga sequence on my Octane2
R12k 400 MHz with V10.

I'm currently doing all the image transformations in C++, which I thought would be good for portability, but is maybe not so good for speed. I'm thinking of converting it all to OpenGL which should really fly.

But in the meantime, I'll have a minor update in a day or two which should be slighly faster (forgot to enable memory mapping on the current version, doh).

squeen wrote: One comment on the IRIX download. The tardist format is already compressed, so I imagine the size difference by making a tardist.gz in minimal.

Good point :) . Force of habit I guess.

Just a small bump to let everyone know I have a new release out; this one includes support for Cineon images and faster DPX image I/O.

Thanks for all the feedback!
ka0s wrote:
It's faster then version 0.6.0 for sure.
I now get more then 32 frames when playing a standard tga sequence.

That's good news! Thanks.

ka0s wrote:
But it can only do 5 frames a second when I try the scale to 16x9 option on a 720x576 anamorph tga sequence.

The scaling stuff is still software based, so yeah, it's relatively slow... When I switch over to an OpenGL pipeline it should be real-time (with texture hardware).

ka0s wrote:
I hope the OpenGL will take advantage of the V10 Hardware cause that should be fast enough for sure !)

I'm getting a V8 next week, so I'll have an incentive to make it run fast on odyssey hardware :) .
GIJoe wrote:
ok, i did just install the most recent libiconv (from nekoware). that didn't fix the problem, it's still crashing on that movie-file and i have no libquicktime on the system.

Thanks for checking that out; would it be possible to send me an example of the file that's causing the crash?

GIJoe wrote:
i also tried out the windows build of 0.6.0 and it's not crashing on that very moviefile nor slowing down when i step into a directory of video files at all.

I don't have QuickTime support for windows yet, so it's ignoring those files.

GIJoe wrote:
on both windows and irix, scaling from PAL to 16x9 slows down the playback, gr_osview shows that one cpu is more or less maxed out/task manager gives me slightly under 30% cpu usage (on four logical CPU cores).
systems in question are a dual600 oct2 and a dual 3 ghz xeon HT.

The next couple of versions I'll be implementing more features in OpenGL which will hopefully allow real-time playback when scaling. It's all software based right now.

GIJoe wrote:
what i noticed is that the windows build has the same performance issue with my tga sequences in 720x576, 24 bit + alpha channel (renderoutput from a 3D app), shown as rgba/u8 in djv_view. playback drops to about 1 frame per second if such a sequence is opened.

That's very odd; it sounds like you have some decent hardware so it should be much faster than that. Would you mind trying the latest version I just released, 0.6.1? The scaling will still be slow, but overall the I/O should be faster. Or if you could send me an example image, that would be helpful.

GIJoe wrote:
btw. something that i found in the windows build - it only shows me three drives in the directory menu in the filebrowser, even if there are more. i can still access them by typing the letter but it left me wondering.

Sorry, I'm just learning about windows, and in my rush to get a release out I hard-wired C, D, and E :) . The latest version 0.6.1 fixes that.

I sure am glad I started supporting windows though; the number of downloads has been more than IRIX, Linux, and Solaris combined :shock: .
GIJoe wrote:
phew, it has certainly been a while, hasn't it? ;)

No worries; I appreciate the feedback.

GIJoe wrote:
i tried 0.6.1 windows the other day in the company and i noticed that it does not seem to handle UNC filepaths, you might want to look into that.

Will do; I'm just learning Windows so bear with me. :)

GIJoe wrote:
it was slow on file sequences with alpha again tho. i can send you some example files that make the windows and irix builds choke for me. although... these are nothing special, you should be able to easily replicate by adding alpha to any PAL/HD image sequence in tga format, for example.

Example files would be really helpfull; if it's cool, just email them to me at: mailto:[email protected]

I'm working on a new OpenGL accelerated version which I hope will be much faster; hopefully it will be out in a couple of weeks...

GIJoe wrote:
i found that this app would be quite cool to have at work, a decent player for those HD image sequences outputted from a console devkit could definitely speed up work for some departments which are now using ugly things like adobe premiere for that task. :)

And of course the price is hard to beat. :)
Hi Everyone,

Just released a new beta version of my flipbook player and imaging utilities. There are lots of changes in this version, the main one being a new OpenGL accelerated imaging pipeline which should provide some nice speed boosts. Image I/O performance for uncompressed DPX and Targa files has also been improved; I would be very interested in any feedback from people using SANs or RAIDs.

Downloads: ... _id=118244

Couple of notes:
* Graphics hardware with texturing is now required to run the flipbook player.
* OpenEXR files are no longer supported with IRIX.
* IRIX QuickTime support requires the libiconv package from Nekoware.

nekonoko wrote: Just curious - why did OpenEXR support drop?

I'm now using OpenGL for all the image processing which ties the software capabilities to the hardware, and unfortunately I don't think SGI graphics hardware is capable of processing HDR images (*). Floating point color values get clamped to 0.0-1.0, and there's no support for shaders which are needed for the OpenEXR color correction. I'd certainly be happy to be proven wrong though. :)

On a positive note, regular images fly on my Octane 2 system. Uncompressed Targa and DPX files can be mapped directly to OpenGL, so there's almost no overhead when loading them.

(*) At least the older SGI graphics hardware I have access to. :)
foetz wrote: btw could you add that the extension 'sgi' is recognized? since rgb file work i guess it won't be much work

Don't worry; I wouldn't forget something like that. ;)

It should recognize images with the .sgi extension fine... I think something is going on with the offscreen-rendering that generates the image thumbnails; that's what's causing the GLX errors. Do you see other image thumbnails in the file browser? Also, what sort of hardware are you running?

Thanks, Darby
foetz wrote: no, i don't see thumbnails at all. i tried it with an ir2e

Hmm... Something's definitely wrong with the offscreen-rendering then; I'll try and add some options to the next version for selecting different GLX visuals. Thanks for the feedback.
ka0s wrote:
I've downloaded the latest version of the fabulous djv player and when I
tried it on a bunch of targa's I get the folowing Error:

ERROR OpenGL Maximum Texture Size: 512
ERROR OpenGL Maximum Texture Size: 512

Does this mean my Octane 2 V10 Isn't qualified anymore ?

That's odd; my V8 supports textures up to 2k. I'll see if I can find some information about the differences between the vpro cards (happen to know of any links?).

ka0s wrote:
Also after I start the program on the commandline I get the following message on the same line :
[email protected]: /usr2/images %  djv_view
[codecinfo] Error: 5

What could this mean ?

That's coming from the QuickTime library I'm using. I'll see if there's a way I can turn it off, it is kind of annoying.

Thanks for the feedback; this is my first version using OpenGL so it's a bit rough, but when it works it's much faster. I'll see if I can track down the texture problem or figure out a workaround.
8MB should still be enough for a 1k texture, but maybe it's limited to 512 so you can have a minimum number of textures... Anyways, what a pain, I wish OpenGL drivers did resource virtualization.

I'll see how difficult it is to come up with a fallback method...

Just a small bump to let everyone know I've release an updated beta, version 0.7.1. I've made some changes to try and improve OpenGL compatibility with SGI machines, so if people can try it out on different hardware and post feedback that would be very helpful.

Downloads: ... _id=118244

Thanks, Darby
ka0s wrote:
Although when executing on the timeline I still get this error :
[codecinfo] Error:

That's the QuickTime library I'm using; I still need to see if there's an option to turn that off.

ka0s wrote:
The downside of this update is that it cannot display a tga sequence ( 1024x576 ) in realtime.
of the 25 fps it can only handle 12 -14 fps. The 720x576 tga sequence plays almost 18-22 fps.
Now I know that this is not a hardware problem since I can play this in realtime with
Blender. ( the software I made the tga animation with )

Are the tga files compressed? Also, do you know if blender caches them in memory or plays them directly from disk?

ka0s wrote:
The resizing of anamorph material ( 720x576 ) to 16x9 ( 1024x576 ) is much better.


ka0s wrote:
I tried to use the cache option and increased it to 512 MB but this didn't seem to make any difference, still can't play 25 fps.

That's my bad; the cache feature is completely broken in 0.7.1. I have a 0.7.2 prerelease package that fixes this; I'll try and put a tardist together.

ka0s wrote:
I really hope you succeed in optimizing this code for the SGI cause I really like it ;)

Thanks! As long as you can help me with feedback I'll be motivated to keep the IRIX port going. :)

el_bolo wrote:
i don't seem to get my preferences saved ( or i cannot find easy where to do that ), so if you can point me to, it'll be nice.

The preferences should save automatically; they are stored in your home directory like:


Could you see if that directory exists and has a couple files like "djv_view.prefs" and "global.prefs"?
(Normally you don't ever need to edit those.)

el_bolo wrote:
nice features

Thanks! If you have any suggestions for other features, please let me know,

el_bolo wrote:
i cannot get realtime playing (tried sgis and jpgs) if i use the zoom

Can you give me some information about what kind of hardware you're using? Generally zooming in should go faster because there's not as much to draw.

el_bolo wrote:
nice to see one good gpl'ed flipbook software

Actually it's BSD; but, it's a fine line. :)

Thanks, Darby
zahal wrote:
No 0.7.2 tardist available yet, so I had to downgrade to 0.7.0

Sorry for the delay; I should have a new version with tardist up in a couple of days. I'll post a message here to let everyone know.

zahal wrote:
I also get a codec error:

Yeah, that's on my todo list; those messages are coming from the QuickTime library I'm using for UNIX.

Thanks, Darby
el_bolo wrote:
had some issue with my permissions, now it's all ok and working.


el_bolo wrote:
i think it'll be nice to zoom with the mouse ... just like that ctrl+mouse click to move , but zooming when using another mousebutton.

I've changed the mouse a bit in the new version:

Left Mouse - Sample a point in the image.
Middle Mouse - Move image.
Right Mouse - Scroll through playback frames.

Maybe I could add:

Ctrl + Middle Mouse - Zoom in.
Ctrl + Middle Mouse - Zoom out.

How does that sound?

el_bolo wrote:
well, i think it's due to cache size.
i'm playing a sequence of sgis, with a total of ~50MB
it seems i need to set the cache on in order to feel it play smoothly.

Are the sgi files compressed? I may have to look at optimizing my decompression algorithm; kaos is also seeing bad performance with compressed TGA files.

el_bolo wrote:
but if i zoom in , i get a non_smooth playback again ( with 2048 in cache size )
i am running ubuntu gnu/linux on a dual core opteron with 8Gb of RAM.
i run djv in a chrooted debian sid inside that ubuntu

That sounds like a video card/driver issue; are you using the nvidia linux drivers? Does running debian inside of ubuntu affect their performance at all? (I'm not familiar with virtualization...)

Thanks, Darby
Hi Everyone,

Just a bump to let you know I've uploaded a new release, 0.7.2. Lots of changes in this one; hopefully I fixed more than I broke. :)


* Save movies and images from the viewing application.
* New customizable keyboard shortcuts.
* Expanded file sequence options.

Plus, specific to this thread:

* The new version should be a little more aggressive about choosing a GLX visual; so if you got an error last time about the frame buffer configuration, you might give it another try.
* Compressed Targa and SGI images should be faster at loading.
* You can zoom with the mouse by pressing Ctrl + Middle (zoom in), or Ctrl + Right (zoom out).
* No more cryptic messages from the QuickTime plugin.

Downloads: ... _id=118244

Any feedback is greatly appreciated.

Thanks, Darby
squeen wrote: I grabbed the lastest version (Linux RPM) and it installed just fine. I feed it a number sequence of .RGB file and it read and played them back very nicely.

Good to hear, thanks. Do you mostly use SGI image files?

squeen wrote: If you are looking for feedback on what would be nice to see feature wise, I would look toward's Apple Motion software (part of FinalCut Pro), since that seems to be an analogous product. It would be nice to be able to manipulate the image sequence with some 2D effects such as motion blur, fade-in/out, etc. Perhaps they are already there and I just didn't see them.

I would very much like to add compositing and editing features, the work involved is a bit daunting though...

squeen wrote: Lastly, you could very easily (via ffmpeg) export to mp4--

I'm currently using libquicktime for movie support on IRIX and Linux, but for a number of reasons am thinking about changing that; I'll definitely take a closer look at ffmpeg.

squeen wrote: although for some reason it's SGI .rgb converter seems broken in the lastest snapshot of the source code.

The SGI image file format is pretty well documented, it should be an easy fix?

Thanks, Darby
squeen wrote:
dj wrote: Good to hear, thanks. Do you mostly use SGI image files?

Yes. As you said it's simple to code into your project.

The only caveat I was going to mention is that it's a bit slower than my TGA reader (from having to interleave the image data). But as a file format, I do prefer SGI to TGA.

squeen wrote: I hadn't seen libquicktime before. Looks like a nice API.

I'll just say it's not my favorite, and would like to change to something else. :)

squeen wrote: How do I get djv to export my sequence as a quicktime mov? Can I control the compression settings?

You can create a QuickTime movie either from the command line, or from the viewer:

Command line:

> djv_convert input.1-1000.sgi

You can select the codec, but there aren't controls yet for fine-tuning compression options:

> djv_convert input.1-1000.sgi -quicktime_save_codec jpeg

(Note, I haven't tested many of the libquicktime codecs...)

From the viewer, open your file sequence or movie, and select the File->Save menu option. You can change the codec in the preferences dialog, under the Image I/O tab.

squeen wrote: Nice QT export.

Thanks! Definitely consider this beta software though; I haven't put too much time into testing the QuickTime stuff yet.

squeen wrote: (DJV_view works fine on IRIX as well here.)

That's good news; I've only tried it so far on VPro and O2. Do you mind if I ask what type of GFX you're using?

squeen wrote: As for codec, H.264 encoding seems to be supported in libquicktime. My experience with it in FinalCut is that is kicks serious ass--but you'd want to add separate field in the GUI for setting the bit rate (I usually go high for HD ~18-21 MBs)

Unfortunately the open-source H264 code is GPL, and I'm not entirely sure what legal ramifications that has (DJV is BSD licensed). One option I guess would be for me to supply a package that linked with the user's version of libquicktime, which they could then install with the X264 code.

squeen wrote: BTW compositing and simple motion blur is easy, just shove your frames into the OpenGL accumulation buffer.

Even if you only added one other clip "timeline" then it would be very nice for simple video editing--a simple 1-2 sec cross-fade transition between clips would do the trick.

Do you use any titling for your videos? Or simple compositing, like adding a logo?

squeen wrote: You have in/out mark points, but is there a way to trim at marks?

It's been awhile since I've used a video-editing app, do you mean adjust the in/out points after they are set?

Thanks, Darby
squeen wrote: I tried a Tzero with V12. I can also try an Onyx with IR4.

I was just curious; if it's useful to run it on the Onyx that would be cool to know it works, but otherwise don't worry about it.

You could just try dlopen() of the quicktime lib and mapping the functions it uses. If it fails, report to the user that it can't find libquicktime and then wash your hands of it.

That's basically what I'm doing now, but I have the libquicktime API wrapped in my own plugin which I then dlopen. I currently bundle libquicktime (and most of the other libraries I use) with my packages because I'm worried about incompatibilities between shared objects; I got burned on a previous release where my GCC compiled binaries would dump core when trying to load a MipsPro binary.

squeen wrote: I just meant that once I have the video loaded into djv_view, can I select a section for cut-and-paste (or just cut) somehow.

There's no general cut and paste yet, but if you mark in/out points the save function will use them when exporting a movie.

squeen wrote:
so I justed added a planar reflection render-to-texture (FBO) option.

Cool; I just started learning about FBOs last week and was nicely surprised how much easier they are to use than p-buffers. I don't suppose IRIX has any support for them?

squeen wrote:
Gonna take a bit of wrangling to get it working on the Onxy.

Wasn't the traditional OpenGL method to use the stencil buffer and draw the scene and reflection separately?
You might be able to use Radiance to pre-compute the global illumination and make a bunch of ambient-light texture maps for your OpenGL render. Many video games use this technique; I think they call it "texture baking". The lighting is static but it looks quite realistic since you get bounce and more detailed shading.
ka0s wrote: I tried the 0.7.2 version and its great !!!!
It plays back compressed targa sequences in real time ( 720 x 576 - 25 fps ) even when scaled up to 16x9 .... !)

This is better then the performance I get with Blender or even shake ........

That made my day, thanks. :)

Do you mind if I ask what you were playing the images from (local disk, raid, san, etc.), and what the difference in speed was?

I'm trying to release the next version 0.7.3 this week. I definitely recommend upgrading, there's a number of important bug fixes. (Plus improved OpenGL performance on Linux/Windows, and if I can work out the packaging, an initial OSX port).

Thanks, Darby
el_bolo wrote: i was setting the hotkeys to my usual ones, and i noticed i cannot set space as a hotkey (i usually have space for start stop playback)


I just uploaded a new version that fixes this; "Spacebar" is now a valid hotkey (you'll have to type the whole word), and I've made it so you can toggle playback with it: ... _id=118244
(It's version 0.7.4-pre2 at the bottom of the page.)

Let me know how it works for you...

@ka0s: Thanks for the info...

@foetz: Guess my GLX fix didn't work; the only thing I can think of is that I'm limiting the bit-depth to 8 for OpenGL 1.2 systems, and maybe the IR only advertises something like 10 or 12-bit visuals for offscreen rendering? If I upload a small piece of test code, would you mind running it?

Also, just wanted to mention there's now an official 0.7.3 release available; it's mostly bug-fixes, I highly recommend anyone using the software to try out the new version. Couple of new features: cached frames are now shown in the timeline, initial support for 3ds Max image formats RLA/RPF and IFL, and an experimental version for Mac OS X (PPC only for now).

Thanks, Darby
markwend wrote: Hey - let me chime in and say that I think that the djv suite is really a really useful tool. I've worked for a long time in professional film graphics, and this is by far the most useful and professional playback tool I've found in the public domain.


markwend wrote: Running the latest prerelease under gutsy gibbon kubuntu. Works great so far.

What do you think about the speed so far? My development hardware is a bit behind the curve, so I'm always interested in reports on how well the software does on more modern machines. Especially RAID/SAN setups.

markwend wrote: One request: I write a lot of imaging code and rerender to the same output file. I display an image in djv_view, and then hit 'reload' whenever I rewrite the image. It would be GREAT if you kept the previous image in a temporary buffer, and have a 'toggle previous/current' key so that you can see what the change was. Right now, 'reload image' just reloads, but you can't see what the previous image was any more. With the toggle, you can go back and forth to really study any subtle changes that happen to the image.

That should be fairly easy to add if I understand you correctly; I'll see if I can get it into the next release. If you could help test it that would be great.


PS. Out of curiosity, did you use to work for Santa Barbara Studios?

Just a small bump to let everyone know I've uploaded a new pre-release: ... _id=118244

It's the "djv-0.8.0-pre" version near the bottom of the page.

Lot's of changes in this one, but mostly under-the-hood type of stuff. If anyone has some time to test and post feedback that would be great. I've re-worked most of the OpenGL rendering, so I'd like to know that it works before making the official release. Under IRIX, I'm back to using glDrawPixels instead of textures for image rendering; it simplifies things, should be more compatible, and might even be a little faster. For the other systems that support OpenGL 2.0, I'm pretty excited about a new high-quality "multipass" image filtering mode that I've programmed in the OpenGL shading language from an algorithm in Graphics Gems. It burns through fill-rate, but makes very nice thumbnail images in the file browser.

Also if anyone is running Windows or OSX, I've included a small program to start testing audio playback and synchronization; it needs to be started from the command-line, with the arguments being the input files:

test_audio c:\scratch\

(Note that Windows QuickTime needs the full path specified for input files.)

There's a Linux version also, but I don't think it will work until I update my build machine with newer versions of ALSA/OSS.

Thanks, Darby

PS. @ markwend & kaos, I've also added a "Frame Store" feature for comparing two images. It's under the "Image" menu; you can press "Shift+E" to load the current frame into the frame store, and then "E" to toggle between the current frame and the frame store.
markwend wrote: Looking forward to testing the new Frame Store feature, but since I run on a linux (Kubuntu 7.10 'gutsy'), I'll wait until you've got something that you think will work.

Sorry, I mis-phrased that; the only thing I'm not sure will work under Linux currently is the audio test program; the main application and utilities should be fine. At least I hope so, my primary dev workstation is an Ubuntu box. :)

Try it out and let me know what you think.

Thanks, Darby

PS. Which image format do you generally use? Looking through the code I realized that writing over the same image as your viewing might not work with some formats. Specifically, with uncompressed DPX, TGA, and PPM files, I use a technique called "memory-mapping" that doesn't actually load or buffer the file, it displays it directly from disk.
Oops, almost forgot to mention that there's also an option in the preferences that will automatically store the current frame when reloading files; that way you can just press "E" after reloading to toggle between the current and previous frame. It's in the preferences dialog, under the "Image" tab.