• Stephen Fellner (September 2009)

20.09.2009 15:55, autor artykułu: Sebastian Rosa
odsłon: 6607, powiększ obrazki, wersja do wydruku,

Thank you that you agreed to have this interview. In first words, could you please introduce yourself, tell us what you do in our society.

I think you already know most of that :)

Yes, you are right but this is some sort of cliche. I will promise that the whole rest will not be so casual (I hope) ;)

My name is Stephen Fellner, and I develop software for AmigaOS 4, more specifically DvPlayer and WarpView. I'm also an AmigaOS4 betatester and developer, I did some work on Picasso96 and the ATI Radeon driver, among other things.

Let's start with the latter. You did some work on Picasso96 and ATI Radeon driver. Does it mean you are no longer involved in development of this elements?

No, I'm still involved, but I'm not the main developer of these components, I only do certain parts and fixes, which are useful for video playback. For example I implemented the triplebuffering for overlay with vsync, which is very important for smooth video playback, it overcomes those annoying "raster cuts" which made animated graphics on PCs look so bad compared to Amigas, where we always had double/triplebuffering and vsync (synchronisation of the animation to the vertical blanking period of monitors). I also added support for some new YUV overlay formats which allow faster playback. So far I have achieved about 10% speedup in video playback on Sam440 systems using the new YUV formats. I have made some other contributions to OS4 as well, but I mostly concentrate on things which are related to video playback.

And this is because it is your area of interest, isn't it? Tell us something about it. When and why did you decide to start making video playback tools? Lack of similar programs or maybe an attempt to prove something to someone or to yourself?

Well I have to say that computer graphics is one of my main interests. It wasn't until around '98 that I began to do software development on the Amiga. At that time I met Laszlo Torok, author of the AVid video player (later to be renamed MooVId), who introduced me to software development on Amiga. First I developed some rendering routines (chunky-to-planar, and the real-time HAM-based 'Storm' routine) which I sent to Laszlo to include them in MooVId. His player did a great job of playing AVI and Quicktime (MOV) files, but there was nothing that could play MPEG files at acceptable speeds. There were some players like AmiPeg based on open-source players with optimization but they were all too slow on the average Amigas at the time. So I set out to develop my own MPEG player which I developed from scratch in 100% assembly language. This was a huge technical challenge and a very time-consuming project, but it gave me a lot of experience in the end, and it gave the Amiga platform a truly fast MPEG player. Although to be honest it still wasn't as fast as I hoped it could be.

So that's how I got started.

For those who don't know, you are talking about RiVA - quite decent video player for classic Amigas (by the way, you may (or may not) remember I helped Polish folks to register this tool).

I do remember :)

What influence did development of RiVA have on your next project which was DvPlayer?

Back in the old days a lot of people were asking for a PPC version of RiVA. This would have taken a very long time because everything was in 68k assembly language and rewriting all that in PPC would have taken years, and I didn't even have a PPC card. Also, I was not satisfied with the fact that RiVA had no GUI, and because of that fell short on what you'd expect from a modern video player, but it was very difficult and time-consuming to extend the program due to its tightly optimized assembly nature, I had to realise that it is a dead end. One day I was talking to Csaba Simon (Chip) who was porting this avcodec.library for a new version of MooVId. He told me how it could be used by players for decoding. MooVId was to be included in AmigaOS 4 at the time. So I wrote a simple example code which decodes some frames from an MPEG file and it was surprisingly easy. The codec supported MPEG2 as well (RiVA only supported MPEG1) which means it would be able to handle SVCD and VOB files, which are on DVD. This was all under WarpOS, since OS4 was not released at the time, in fact at the time I didn't think OS4 will materialize.

Well, it finally did and what's more, DvPlayer was the one which was included into it and superceded MooVId. Was it planned? Were you expecting this? What happened to MooVId (after all it was included into the system in pre-release version)?

DvPlayer was meant to complement MooVId. The plan was to have MooVId for AVI/MOV formats, and DvPlayer for MPEG files, VideoCD and DVD, and possibly other formats which MooVId doesn't support. Me and Laszlo (the author of MooVId) are good friends, so we didn't want to compete by supporting the same formats. Unfortunately Laszlo lost interest in the Amiga scene, and development of MooVId didn't go as originally planned, therefore the plans changed, as I saw a need to have a player with GUI on OS4 which supports other formats too apart from MPEG, so now DvPlayer supports AVI and WMV formats, and support for Quicktime (MOV) and perhaps FLV will probably come in the future.

Do you consider MPlayer as a competitor to DvPlayer? Basically it offers pretty much the same as your program. It is also open-sourced and many consider this as an advantage. What is your point of view on this?

MPlayer is certainly a competitor. However I consider DvPlayer much better from a user-friendliness and ease-of-use point of view, and I'm very happy that we also have MPlayer available as it allows me to play video formats which are currently not supported by DvPlayer (such as MOV and FLV). It also helped me in the development of DvPlayer, because when there were issues with certian video files, I could test those with mplayer and if they were also bad with it, I knew it was just a corrupted file, otherwise I knew that I had to look into why it's not playing correctly in DvPlayer and make it work.

How long did it take for DvPlayer to become fully usable and reliable tool?

Well, it took several years, because a few months after starting to work on it, my A4000 broke, and it took a long time to find someone who could fix it, IIRC it was finally fixed after 9 months. When I finally got it back, I could continue for another couple of months, I became an OS4 betatester at the time so I was also able to start exploiting the benefits of OS4, but then my PPC card started playing up and eventually it died completely. I got a lot of support from Hyperion, they offered to fix my PPC card at no charge and sent me one of the early microA1's to use until it's fixed. It turned out to be unfixable so I got to keep the microA1, which despite all the anti-Articia propaganda that was going on at the time, actually turned out to be the most reliable Amiga hardware I've ever had, so development of DvPlayer progressed very well after that.

Have you achieved everything you wanted when developing DvPlayer or there is something which is out of your league or is simply impossible to achieve on Amiga?

Well, it's difficult to say. I think I've achieved more than I originally planned. But as with all major developments, the world moves on, new standards become dominant, so there's not much point thinking about old plans, you have to keep up with technology. At the moment High-Definition video has become really widespread, and you would really want a computer to be able to handle those without issues. However even in the PC world, low-end machines are not good enough for the latest standards/codecs. h264 is used almost exclusively now but we would need either dual or quad core G5-class hardware to handle it, or if the CPU is not so powerful, a graphics card on a PCI-Express bus, which can handle h264 decoding. The next digital camera I'm going to buy can record movies at FullHD 1080p resolution and records in MOV (Quicktime) format, so I'll be wanting to implement that format in DvPlayer obviously (it's been planned for a long time), but without suitable hardware it won't be very useful for playing those kinds of resolutions.

Let's move away from DvPlayer now and tell me something about WarpView. Why another picture viewer? What does your tool have and does not have any other?

WarpView wasn't originally meant as a picture viewer. One day I was pondering how they make 3D engines and how they solve hardware limitations like texture size limitations (texture sizes must be a power of 2 and there's also a maximum limit, like 256 on Voodoo cards IIRC). So I worked out how to split up images into smaller textures and seamlessly blend the texture edges (that's the tricky part with bilinear interpolation). Once the proof-of-concept program worked, I realized that this allows me to zoom and rotate images in real time very smoothly with hardly any CPU usage. So I thought why not make an image viewer out of it, which makes use of these capabilities of the GPU. So that's where it all started.

As far as I know, WarpView is the only application on AmigaOS which does this, and with the wipes it's all very impressive. Another important feature is the handling of Exif information which digital cameras embed into the image, I think that beside WarpView, only AmiPhoto handles that. However I'm very proud of the scaling and crop functionality. The 'Lanczos' scaling algorithm in WarpView is among the best quality algorithms available today, and to my knowledge no other application under AmigaOS has that, even ImageFX uses an old averaging method which preserves considerably less detail when scaling down. I spent a lot of time optimizing it and it came out really fast in the end.

I've been gearing towards extending the image processing capabilities, because most people today have digital cameras and have the need to sort and touch up their photos (scale, crop, enhance, repair). There's now an Unsharp Mask filter which allows sharpening, and I've been doing a lot of research on noise-reduction algorithms, because image noise/grain is a big issue in digital photography.

Are you generally satisfied with the sales volume of WarpView and DvPlayer? Is it hard to sell shareware products this day and age?

The Amiga market is extremely tiny, therefore nobody who develops software for this platform has high expectations when it comes to sales, nobody is going to get rich developing software for this platform :) If I looked at the amount of time I've put into developing these apps and the number of registrations, it would obviously be a disappointing figure, but the few registrations that do come in help to keep me motivated, but positive feedback is worth much more, reading about people being satisfied and doing nice things with my software is, I have to say, the best part of it all and this is what makes it all worthwhile for me.

Are you working on something new or you are planning to work? Could shed some light on it?

I started looking at MiniGL as I planned to switch to that in WarpView instead of Warp3D, and in the process I made a simple game engine just for fun, but I didn't have the time yet to make anything serious out of that. In the meantime we now have compositing which will be much better to use in WarpView than MiniGL. I've also been thinking about video editing software, but that would probably require a team effort, rather than a single person, and I'd rather get a few more things finished in my current projects (such as MOV support in DvPlayer) before I start on anything big like that.

In your opinion what is the future of AmigaOS and AmigaOS like systems?

In my opinion AmigaOS and similar systems should exploit the "low resource requirements" feature, which becomes a huge advantage on portable devices where processing power and battery life are limited.

Are we going to be surprised with something?

That depends on your expectations :) But I think there will be one or two things which will be a big surprise for most people.

What are your wishes concerning Amiga and AmigaOS?

I would like to see more developers join us so that I can retire :) Seriously though, we do need more people who develop or port things and I'm glad to see quite a few people giving it a try on our platform. I think AmigaOS is the best platform for hobby developers, simply because on this platform even simple applications are very welcome as opposed to the mainframe OS'es where there are hundreds of different applications available for doing the same thing. Here programmers can really make a difference even with a moderate amount effort.

Stephen, it was great pleasure to have this interview with you. Thank you for answering all my questions. I wish you all the best with your projects. Would you like to say something which will nicely wrap everything up?

Thank you, it's been a privilege likewise. It's good to have people like you from the old days still with us. This decade has been a very difficult time for the Amiga platform and it's a miracle that despite all the unfortunate events that happened the platform still survived, developments continue in all areas (hardware, OS, software) and the user base is steadily growing again. I'd like to thank everyone who worked hard to keep this platform alive and also those who have not lost faith and hope in the darkest times and stayed with us.

    
dodaj komentarz
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem