Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
97 user(s) are online (56 user(s) are browsing Forums)

Members: 0
Guests: 97

more...

Headlines

 
  Register To Post  

(1) 2 »
Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
Odyssey can currently play videos, but performance could be improved if its player used composited video.** Composited video is what allows LiveForIt's version of mplayer to play HD video on the A1-X1000.

I've been hoping that an able developer would step up to use composited video in Odyssey ever since I created that feature, just over a year ago. It hasn't happened yet.

So, is there someone who would be willing to give it a go?

To help get you started, here are a few pointers:
- Composited video documentation: here (includes example code)
- The key files in Odyssey's source that I think need modifying are:
    - MediaPlayerPrivateMorphOS.cpp (the acceleration/overlay code has been disabled; search for "MM_OWBBrowser_VideoBlit")
    - owbbrowserclass.cpp (search for the OWBBrowser_VideoBlit, OWBBrowser_VideoEnterFullPage, & backfill methods)
- LiveForIt's mplayer composited video code (useful as an example of using avcodec's "direct rendering" mode with composited video):
    - vo_comp_yuv.c
    - vo_comp_yuv2.c

Hans


** On Radeon HD cards, that is. You'd have to use old fashioned P96 overlay for older graphics cards.

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
From my side i can easy integrate new files in current os4 version with no probs once work will be done.

Also there is current aos4 versions (see amigaos4 ifdefs) of those files about which Hans point out if it will be any of help:

BCMediaPlayerPrivateMorphOS.cpp
owbbrowserclass.cpp

I didn't disable there anything, it mostly the same as originals, just with few remakes of hooks and crap for aos4 equivalents

Quote:

** On Radeon HD cards, that is. You'd have to use old fashioned P96 overlay for older graphics cards.


At least once compositing based version will be done, later if anyone will be in interest p96 fallback can be added to with no probs.

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@kas1e
Quote:
Also there is current aos4 versions (see amigaos4 ifdefs) of those files about which Hans point out if it will be any of help:

Oh, so there isn't a common code-base for all platforms? Or are the links that you gave to a source snapshot for the last released version of Odyssey for AmigaOS?

Hans

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Not too shy to talk
Not too shy to talk


See User information
@kas1e

on R200 cards was really important to get p69 overlay support imho...so if possible plz add it.

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@Hans
Quote:

Oh, so there isn't a common code-base for all platforms? Or are the links that you gave to a source snapshot for the last released version of Odyssey for AmigaOS?


That one on Github are last 1.25 version where is not all amigaos4 changes added at moment (we working on it). I just upload that 2 files from current (1.23) aos4 version, which are about the same as in 1.25. So, anyone can works on files from github, just with taking in account those 2 from 1.23. As i can see almost nothing changes in terms of mediaplayer from 1.23 to 1.25.

Quote:

on R200 cards was really important to get p69 overlay support imho...so if possible plz add it.


I can't do good code, so it should be someone else. Currently we need someone to do radeonhd based code with all info from first post, and then, once it done and works, we can try find someone else who will do p96 based code.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Quite a regular
Quite a regular


See User information
Yeah, using composition isn't very difficult.

Maybe if someone looked at this, the memory trashing bug could be spotted too?

Currently the media player in OS4 Odyssey cannot really be used because the whole system become totally unstable after it was used with random crashes anywhere and usually system freeze some time later.

Software developer for Amiga OS3 and OS4.
Develops for OnyxSoft and the Amiga using E and C and occasionally C++
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@Deniil
Quote:
Yeah, using composition isn't very difficult.

Maybe if someone looked at this, the memory trashing bug could be spotted too?

That would be nice. We're still waiting for someone to step up and give it a go, though.

This thread has plenty of views, so there's definitely an interest. Perhaps it still looks like a daunting task.


@kas1e

If someone were interested, how easy would it be for them to go from checking out the code through to compiling Odyssey?

Specifically:
- What steps would someone have to go through after they have the code?
- Can it be built on AmigaOS? Or do you need a Linux machine plus cross compiler?
- Which dependencies need to be installed?
- I see both a Makefile and CMakeLists.txt. Is CMake needed? Or will a simple "make" build it?
- Any tricks/pitfalls that people need to be aware of?

Lots of questions, but the easier it is for someone to build their own version, the sooner they can start looking into the video player code.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@Hans
Quote:

This thread has plenty of views, so there's definitely an interest. Perhaps it still looks like a daunting task.


That because topic name sounds like there something to test already , not like we need developer for :)

Quote:

If someone were interested, how easy would it be for them to go from checking out the code through to compiling Odyssey?


In current form from github - hard enough. Once i will add all aos4 specific changes to github repo, it will be almost easy (exception that there will needs to setup 3d party libs, as well as some of them need specific aos4 changes as well, as for example fontconfig, to have one hook in, curl with normal threaded resolver and co).

Through, 1.25 have problems with JS code, so even when binary will compiles and works, it will crash on every JS site , till big engian problems will be fixed (will they?). But, at least person who will in interest to add changes to media-player parts, can test it, and in case if noone will fix endian problems, i can backport related code to 1.23, where is no JS endian problems.

Quote:

Specifically:
- What steps would someone have to go through after they have the code?


Once i will done with adding changes to repo: clone repo, and just:

cd /usr/local/amiga/odyssey-github/OdysseyWebBrowser/cross-build/ ;
./build_aos4
make owb

Quote:

- Can it be built on AmigaOS? Or do you need a Linux machine plus cross compiler?


Linux with cross-compiler must. And because of speed, and because of tons of deps like last cmakes, bisons, yawns, perls and all the stuff half of which we don't have on os4 natively.

Quote:

- Which dependencies need to be installed?


About 10 3d party libs, they all can be found once someone will start compiling, and having missing includes errors.

Quote:

- I see both a Makefile and CMakeLists.txt. Is CMake needed? Or will a simple "make" build it?


Cmake need it.

Quote:

- Any tricks/pitfalls that people need to be aware of?


Currently i add changes to kas1e_bracnh_v1 on github, so you can clone it , (on linux with installed latest crosscompiler from adtools repo, with enabled threading c++11 stuff (it is disabled by default)). And then run those 3 commands i shown above. And it will stop compiling (if all installed well), somewhere where we stop currently.

Another way,to avoid all that boring problems, its if someone can just change that 2 files, put it here (or send to me), i can then just work with him online like he do chaneges , i compile new binary, we do checks. As we do before with Deniil. Sure not very comfortable, but probabaly not as if one don't want to boring with all that crosscompiler/3dparty libs problems.

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Quite a regular
Quite a regular


See User information
I did a port of fontconfig that's in the libffmpeg archive (excl. binaries), and included the source changes. I used the AROS diffs and changed the #ifdef statements to __amigaos4__. I think there's 1 remaining uncommented (no #ifdef) change in the AROS diffs but it's easy to find if you compare the before and after files.

Edit: I know I did another change somewhere to use unlink(). All changes can be found by searching for __amigaos4__, including the change above that wasn't commented in the AROS diffs.

libcurl on OS4Depot I enabled the threaded resolver using fixes kas1e gave me, but it hasn't been thoroughly tested in that version.


Edited by MickJT on 2016/2/19 17:09:44
Edited by MickJT on 2016/2/20 4:12:42
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@MickJT
Also fontconfig for odyssey should have special odyssey related hook/callback in (i.e. version of libfontconfig for odyssey will be different in compare with general libfontconfig). That need to make progress-bar of font generations works.



Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@kas1e

Quote:
Quote:
This thread has plenty of views, so there's definitely an interest. Perhaps it still looks like a daunting task.


That because topic name sounds like there something to test already , not like we need developer for :)

I'd interpret the number of views more as "this is something people are interested in and want."

Quote:
...

Another way,to avoid all that boring problems, its if someone can just change that 2 files, put it here (or send to me), i can then just work with him online like he do chaneges , i compile new binary, we do checks. As we do before with Deniil. Sure not very comfortable, but probabaly not as if one don't want to boring with all that crosscompiler/3dparty libs problems.

I personally wouldn't have the patience to work that way. If I can't at least build something on my own machine, then it's too frustrating to work on. Of course, if someone else doesn't mind...

An alternative would be for someone to set up a Linux server with the code ready to go, and offer remote access via ssh (or similar). Perhaps this could be done using the Cloud 9 service.

Anyway, thanks for the info.

Hans

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@kas1e

I think there is at least 2 bugs in OWB Player.

When movie comes to a end, the GR pops up. saying it crashed in fill_buffer or more deeply on some kind of read function, it's possible that buffer was freed before, so program can't buffer, or it possible the tcp socket was closed, and program crashed, it’s a typical async issue.

The other crash you get is if you run mplayer while your running OWB player, something corrupts memory and crash, I expect lazy startup code, and poor checking for success in init functions in OWB Player.

Happy hunting, I'm not going to touch OWB, source code too big for me, too many dependency's.

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Just popping in
Just popping in


See User information
@Hans

Did anyone ever take up the tasks of integrating composite video and removing the memory trashing bugs?

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
As far as i know - noone.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Just popping in
Just popping in


See User information
Okay. In germany we say "Butter bei die Fische"...
So is there anybody who will take this task?
And when, what "number" he need to take it?

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@TearsOfMe
I'm not clear what you're trying to say with "butter with the fish" (about as good a literal translation as I could find, and the non-literal ones were too vague for me to be sure how you intended it to apply). And what is this "number" you refer to? (Money?)

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Just popping in
Just popping in


See User information
@kas1e
Quote:
Another way,to avoid all that boring problems, its if someone can just change that 2 files, put it here (or send to me), i can then just work with him online like he do chaneges , i compile new binary, we do checks. As we do before with Deniil. Sure not very comfortable, but probabaly not as if one don't want to boring with all that crosscompiler/3dparty libs problems.


Could you not just put the files you have locally up on a subversion server (f.i. sourceforge maybe) so someone else could compile it too?

Because currently, trying to work with the non-compiling 1.25-branch is really very boring. I'd rather much more work in something I myself could create an executable from, and then possibly try and merge that with the 1.25-changes.

Edit: just saw that the sources are available on your homepage! Perhaps I'll give it a go!

Edit2: it wasnt the sources, but the binaries. :(


Edited by jaokim on 2016/5/26 19:21:26
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@ChrisH

"Butter bei die Fische" - german slang, more or less means
"Lets put our money where the mouth is".

He likes to know what the community needs to gather to make someone take over the task

Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@Jaokim
We always can works online: you just do changes , i compile test binary and send you / put on web for you / whatever.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Accelerating video playback in Odyssey (composited video)
Home away from home
Home away from home


See User information
@kas1e
Quote:
We always can works online: you just do changes , i compile test binary and send you / put on web for you / whatever.

That's a horribly slow way to work. If you don't want to put it in an svn/git repository, then you could always create an archive snapshot of the source and upload it somewhere where Jaokim can get it.**

Hans


** The new dropbox/google-drive handler for AmigaOS is quite useful for sharing stuff.

Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project