Welcome, Guest. Please login or register.

Author Topic: Where are the weak points?  (Read 14677 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Where are the weak points?
« on: September 26, 2014, 08:08:50 PM »
I'm new to this platform and enjoy writing software, but so far I'm not seeing a niche that isn't filled.

I've looked at the bounties on MorphZone, but none of them are particularly interesting.

Permedia 2 Rave3D driver - needs hardware I don't have
XServer - I disagree with ports
Instant Messenger - protocols constantly broken on purpose
FTP Client - aren't there 101 of these available?
GTK-to-MUI Wrapper - I disagree with ports and hate GTK
Spreadsheet Application - just plain boring

What do we need?

I may end up just using it as an Amiga 68k cross development platform.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #1 on: September 26, 2014, 09:34:01 PM »
I'm not even looking for a bounty, that was just a suggested place to look in my other thread.

I'm mainly looking for something I'll enjoy making that will be useful to myself and hopefully others.

As far as graphic and icon manipulation, aren't we pretty well covered between native MorphOS apps and Amiga apps?

I don't use MIDI personally, so I probably wouldn't know enough about the use cases to do it justice.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #2 on: September 27, 2014, 05:00:46 PM »
Quote from: Kronos;774013

@Heiroglyph
If you want us to suggest you a coding project you should start with giving some pointers as to what skills you have and what kind of project you'd like.

Some small 10k utility or 100MB of sources ?


Good points.

I just got this platform a few days ago, so I should do something relatively small first, but after that I'd like a larger single person project.

Quote

Game or app ?


I'm not a gamer, but I do like writing tools.

Quote

Ported or all your own ?


If it's useful enough, I'm not against doing ports of libraries, command line apps or GUI apps that become native.

Personally I don't feel that GTK, QT, etc. really have a place on Amiga-like OSs right now.

Quote

Heavy on GUI or just interested in algorythms ?

etc etc


I definitely need to brush up on MUI, but a command line tool or library is fine at first.

I love doing video and graphics related applications, but I'm not sure I can legally write them from scratch, it's kind of a gray area.

I could for example fix a bug or feature in ffmpeg without a problem.

I wouldn't mind doing some Datatype or Reggae additions if there are holes there.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #3 on: September 27, 2014, 07:56:53 PM »
Ok, I'm pretty interested in some additions to Reggae. Maybe some demuxers and muxers for mp4, mov, mkv, etc and some codecs.

So what actually uses Reggae? I haven't noticed any applications that mention using it so far.

If nothing is using it, then maybe I should write one first?
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #4 on: September 28, 2014, 07:23:33 AM »
Quote from: pVC;774068
Oh, yeah, Reggae classes please! MorphOS's Jukebox music player uses Reggae and would need more supported formats. For example proper FLAC implementation.


Is there a video player? I've only seen audio. (not that I'm against doing audio, but I like video)

Not much in the way of examples in the SDK either, just how to download using HTTP (3 different ways),how to play an audio file if you know in advance that it's an audio file (again, 3 different ways) and a sine wave generator with hard coded filters.

Nothing on detecting the type and number of streams or building up the right classes, nothing on display or writing to a file.

At the very least they could open the source for the bmp demux and maybe make a quick and dirty image viewer.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #5 on: September 28, 2014, 07:48:41 AM »
Quote from: pVC;774071
MorphOS version of MPlayer is so good, that there isn't much need for another player, BUT some kind of simple video editor is very wanted.

My train of thought is that mplayer or vlc or ffmpeg, etc only help themselves and only get bugfixes and improvements on their own timeframe.

If Reggae (or Amiga datatypes) had proper support, then all applications that use Reggae could take advantage of them.

Reggae looks like it has fixed a lot of the Datatypes limitations if I can figure out how to use it properly. Unfortunately it still looks limited to 8 bits per color channel, no HDRI :(

Edit: I do see 16 bits per channel! It's not float, but it's better than 8 bits.

Edit2: Video isn't going to be good through Reggae, it's documented as not supporting any YUV color spaces currently. It would be high CPU and low quality. This is really just for basic images and audio.
« Last Edit: September 28, 2014, 09:01:43 AM by Heiroglyph »
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #6 on: September 28, 2014, 07:54:14 AM »
Quote from: pVC;774072
If it's any help, there are some example programs with source codes for reggae usage: http://morphos-files.net/find.php?find=reggae


Some of those do come with source, thanks, I'll check them out.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #7 on: September 28, 2014, 06:58:50 PM »
Quote from: Krashan;774080
Reggae is an evolving framework. It is designed to be extendable. Even if it does not support some feature now, such a feature can be probably added.

Current Reggae supports only two video formats: "GRAY8" and "RGBA32". For serious video support at least one YUV format will be needed. For high dynamic range images probably another one. However additional formats should be added with care. Application programmer expects filters to support all the formats. Then adding many formats to Reggae means more work for filter programmers.

The question of HDR image format in Reggae is open. It may be ARGB64, it may be 4 x float too. Preliminary introduction of ARGB64 was inspired by PNG specification, and it is not widely supported by Reggae classes yet. We can discuss it.


Wow, I didn't expect input from the author.

I can work with 8bit for images for now, but the addition of YV12 for 4:2:0 streaming playback and UYVY for 4:2:2 editing would be crucial for video.

For others to add to the list of available classes, it would be nice to have examples of a demux/decoder pair and possibly an encoder/mux pair.

Splitting the demux and decoder is a great addition for video where you can have multiple containers (avi, mov, etc) share decoders, but I'm a little confused about the demux/decoder separation on many formats such as still images though.

I assume layered formats, such as PSD and TIFF would somehow fall under the type MMT_DOCUMENT? Are they intended to expose a list of MMT_PICTURE or am I way off base here?

Thanks for the hard work, I can't wait to start using it.
John
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #8 on: September 28, 2014, 08:05:59 PM »
Quote from: rzookol;774122
Here, You have an example program which i use during reggae classes developmnent
http://brain.umcs.lublin.pl/~rzookol/download/progressive_tester/
(compile with -noixemul)
ps. reggae has CMYK32 format too supported

I'm working on Exif metadata support for reggae so it should be available in next morphos release. As for writing decoders i suggest starting with some rather easy formats such as PhotoCD or SGI.


Thanks, that looks like it could be very helpful.

I've written everything from DirectShow and Quicktime codecs to a complete layered PSD parser, so I'm not too concerned with the formats themselves, I just need to understand Reggae.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #9 on: September 29, 2014, 03:43:15 PM »
Quote from: Krashan;774156
In my opinion Reggae should use one, or at most two YUV formats. Remember, more "common formats" means more work for filter implementors. Other YUV subformats should be supported with conversions.


In similar frameworks, the color format is negotiated and most encoders/decoders would not support more than one or two color formats as needed by the type they (de)compress unless the author just wanted to do so.

MPEG would have YV12 and UYVY and JPEG should really have a YUV format or two added.

Having a single, optimized color conversion filter do the color conversion is better IMHO than having each and every codec add the functionality.

Filters along the chain could be upgraded to support a small number of additional formats as it makes sense. For example, UYVY can easily substitute for YV12 and BGRA can substitute for any 8bit RGB both losslessly with only a small performance hit.

It may not always be optimal, but it does function. How often it is optimal can be easily upgraded by individual filter authors.

Quote

Rzookol has plans to release source of some of his classes. I may add to this, that I work on LibMaker application, which is a GUI driven, parametrized code skeleton generator for shared libraries, BOOPSI classes, MUI classes and Reggae classes as well.


That's great to hear. I'm sure that with more examples and documentation more classes will be written.

Quote

For such formats demuxer decodes (and detaches) the header, extracts metadata (if any). Demuxers are also responsible for format recognition (Reggae performs content based recognition).

MMT_DOCUMENT is a postsign standing on a boundary of uncharted land ;-). In my opinion PSD (I guess you mean Photoshop format) is out of Reggae scope. Of course one can imagine a document, where multiple images are stacked one on another and alphablended. However PSD allows for much more than that. Layers can be combined in numerous, non-trivial ways. Do we really want the whole Photoshop compatible image composition engine in Reggae? Or it just should deliver layer images, their offsets and scaling factors and enumerate combiners used?


It seems out of scope at this point, but I like the idea of using Reggae as vastly upgraded Datatypes. They always seemed underutilized on Amiga, but perhaps I'm reading too much into what Reggae was intended to be.

How I envisioned it is fairly complicated. It would be both MMT_DOCUMENT and MMT_PICTURE as the application is able to handle.

For now I just need to focus on what is within the current scope of Reggae.
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #10 on: October 07, 2014, 07:36:13 PM »
Quote from: rzookol;774618
For anybody interested:
http://brain.umcs.lublin.pl/~rzookol/download/reggae_example.lha
The archive contains iff deep decoder demuxer class sources
Please contact me if you have any question or you are going to write any decoder.


Thanks, this is a great example!
 

Offline HeiroglyphTopic starter

  • Hero Member
  • *****
  • Join Date: Jun 2010
  • Posts: 1100
    • Show all replies
Re: Where are the weak points?
« Reply #11 on: October 07, 2014, 08:08:08 PM »
Quote from: Thorham;774621
You can't add YUV to JPEG, because YUV is an analog format. JPEG uses YCbCr.


You are technically correct, the best kind of correct!

The differences are very subtle though and unless you also flag for bt.709, bt.601, etc, you still won't know how to interpret it accurately.

If we get any one of the above, at least video would be feasible.