[Q] Gingerbread changed 3GP container format - EVO 4G General

I have a backend streaming 3GP server which accepts http streams from iOS or Android (up until gbread anyways) clients.
For Android I am using MediaRecorder with setOutputFile configured for a remote socket. For iOS I am reading a locally produced file on the fly.
There was no difference between iOS fixup and Android pre-gingerbread. Merely have server prepend header and do fixup of mdat atom after stream is done and you can find the moov atom.
Since gingerbread I am seeing that (for local files) moov is now before mdata (to aid in onTheFly streaming), which is fine.
However my server is unable to either do old-style fixup (video looks crappy) or trying a new technique where upon completion of stream I now try to move moov before mdata (and do fixups). With this latest technique I get perfect video but audio is missing. I got same results manually using HexEdit (for mac osx).
I have examined inside moov atom a bit and am seeing all child atom fixups done perfectly. I am also seeing sound related atom names.
Based on my read of 3gp spec I s/be able to remove 'free' atoms but when I do this video turns stuttery. I should also be free to have mdat before moov and vice-versa.
I am unable to do fixup anymore and am unsure why....clues?
I would've posted this in dev sections but am not worthy yet!

Its good you couldn't post it there... because its a question... it belongs here... or in the question section.

So development forums only contain statements?
I am also seeing things <not> I believe per spec in the unfixed-up output from MediaRecorder on server.
For one the file doesn't appear valid per 3gp spec. I see that ftyp atom length is 0 which is fine however there are several free atoms (2) and they are supposed to be removable per-spec. When I do this file won't play.
After ftyp it goes: free, mdat, free, moov.
The first 'free' atom has a length which is fubar. It should lead me to mdat atom I think.
I guess I will examine g'bread source.

mklein34 said:
So development forums only contain statements?
I am also seeing things <not> I believe per spec in the unfixed-up output from MediaRecorder on server.
For one the file doesn't appear valid per 3gp spec. I see that ftyp atom length is 0 which is fine however there are several free atoms (2) and they are supposed to be removable per-spec. When I do this file won't play.
After ftyp it goes: free, mdat, free, moov.
The first 'free' atom has a length which is fubar. It should lead me to mdat atom I think.
I guess I will examine g'bread source.
Click to expand...
Click to collapse
Whether or not it is a question is a pretty good litmus test for if it belongs in the development section. However, if you were to reword it to say you are working on a fix and would like help then it's a different story and no one can really say anything against it. Maybe lol
I'm not that familiar with 3gp or streaming but have you tried it on an AOSP ROM along with the stock one? Netflix for example will work on CM7, that is 2.3.4, but not on any of HTC's GB ROMs.

I don't believe it to be a problem in the android source (just yet) and am merely working to get a private application back up and running.
This is a somewhat 'undocumented' part of API so I can't complain too much about 'breakage' in gbread.
The 3gp spec specifies that following are singleton top level elems in 3gp container:
ftyp
mdat
moov
And each 'atom' or 'box' (which describes ftyp, etc.) consists of 4byte len followed by 4byte atom name....with minimum atom size being 8 bytes. ftype should come first and mdat/moov can be in either order with only caveat being that for live streaming you want moov first as it contains master metadata for everything else.
So fixup shouldn't be very hard with 3 toplevel atoms in file. Am examining diffs now between froyo and gbread versions of MediaRecorder sources.
I was happy to see gbread MediaRecorder support high quality AAC along with H.263/etc....now I can get quality samples for biometric analysis.

Related

Fix your ATI ImageON woes with this patch!

So, after a day with my AKU3.3 equipped 8525, Platform Builder, IDA Pro and HexCmp, I believe I've finally gotten to the bottom of the ATI ImageON acceleration bug. This is the bug that causes the screen to "tear" during accelerated video playback using CorePlayer, TCPMP or other players that take advantage of the ImageON hardware acceleration. Once this bug is occuring, the entire screen is unreadable until you somehow exit from the video player.
Note that even after this patch is applied there will still remain some "pixelation" artifacts. However, there's a great thread on CoreCodec.com that can be found here. The thread explains how to resolve most of these. Consider that thread "extra credit" though since all in all, this patch alone resolved about 90% of the ATI issues with my AKU2.3 test device (running the South African 1.35 TyTN ROM).
It was a buffer problem you see....
I've attached a cab which modifies the ATI DDI setup file to the AKU3.3 parameters. I've experienced great results with CorePlayer when using this on an AKU2.3 hermes. I only had to check all the boxes in CorePlayer's ATI IMAGEON setup page. By Default, 2 aren't checked:
"Green Tint" bug compensation
Keep ATI driver active (just test)
I believe it is the second parameter that corrects an out of memory crash when a clip is played in full screen mode the second time.
The above settings are workarounds however since the full benefits of this fix will only be available if the setup file is used in conjunction with the latest versions of the ATI drivers. Unfortunately, these drivers must be "baked" into a ROM. Do not try to install these drivers! You will brick your device if you do and a hard reset will be necessary to fix. Install the attached cab file instead and wait for the chefs here to build the new drivers into their next ROM release.
ROM Chefs: you can find the files that make up the release here
Delete the old versions and bake all three files in the zip into the /windows directory.
Now to the Technical.
ATI released 3 files as part of their DDI update: ace_ddi.dll, ahioem.dll and a hidden little configuration file named atihwtbl0.txt. It's this little text file that contains the magic since ace_ddi.dll uses it to configure several settings at startup. I haven't fully analyzed the changes yet and am in the process of doing this now but at first glance they appear to either move or increase the size of several video buffers in memory. It almost looks like there was an overlap issue with audio buffers
Anyway, enjoy this little patch!
As always, while I'm pretty sure that this patch will rock your ATI world, I take no responsibility for any "undocumented features" that may crop up. I've only done minimal testing on the TyTN 1.35 ROM so far. It must be right though... there weren't any syntax errors.
Installation instructions:
Download the attached CAB file
tap to install (it will ask to reset your device)
note: you must install this to your device. The patch won't work if you install it to a storage card.
If you experience side effects, removal is simple. From Settings->System->Remove Programs just remove "Sleuth's ATIFix". Be sure to reset your device after the uninstall finishes.
edit:
It's important to read the TyTN thread located on the CoreCodec forum. Here is the link to that thread. There's a lot of good information concerning the scope of this patch (which takes the form of AKU3.3 experiences) and what still remains to be done. In this thread, schriss does a good job benchmarking the ATI playback and also has some good suggestions, some of which I'm hoping will be implemented in future versions of CorePlayer (such as allowing a YV12 option for the ATI decoder). Also, as the thread points out, DivX decoding using the ImageON remains a challenge (like I said, my patch alone solves about 90% of the issues). Hopefully more will now be able to focus on this once the Hermes DDI setting modifications encompassed by my patch become ubiquitous.
i see you been busy to! thanks man.
Thanks Sleuth,
WMXL v0.30 will incorporate this fix.
Just tried, works perfectly! thanks!
(installed on WMXL.1)
Nice to hear Your post reminds me of something else:
Those of you running WMXL .2 already have the driver portion of the fix baked in. Installing this patch will give you full functionality.
Sleuth255 said:
Those of you running WMXL .2 already have the driver portion of the fix baked in. Installing this patch will give you full functionality.
Click to expand...
Click to collapse
since this patch also appears to be working with the older set of ATI DLL's, what's the "full functionality" what you're talking about? what functions are missing now? I didn't really see any differences playing with TCPMP with AKU3.3 and now with this patch on WM6.......
I experienced intermittent crashes on AKU2.3 when running full screen video if the driver wasn't set to remain active. This problem didn't crop up in my WM6 build that had the new drivers.
The problem appeared to be completely resolved in TCPMP/CorePlayer by simply checking all the boxes in the ATI IMAGEON setup screen however.
However, being a purist, I like to see the config file along with its matching driver running.
Lovely Jubbly! and Sleuth, thank you for all your time and hard work with this
Mike
WMXL extras updated sir. Bloody brilliant work!!
Heimiko said:
since this patch also appears to be working with the older set of ATI DLL's, what's the "full functionality" what you're talking about? what functions are missing now? I didn't really see any differences playing with TCPMP with AKU3.3 and now with this patch on WM6.......
Click to expand...
Click to collapse
Same here but as Sleuth said it was more for fixing crashes in a sense, my cingular device running a wm5 rom without the new drivers now don't crash when using this patch, though ofcourse I still get garbled boxes when playing divx files when I enable acceleration, while x.264 plays perfect when set up right with or without acceleration enabled.
My softbank tytn running xdalive .20 runs good as well as before my device froze at times when using ati video with and without acceleration enabled playing fullscreen. I get a good 20% increase now being able to use it compared to DirectDraw. Thanks for the fix
thanks man...
we were all waiting for this to come
I installed the .cab to the device and checked the two default unchecked boxes on the ATI page in TCPMP.
I opened a divx file and the audio and video were off. I performed a soft reset and everything is now perfect. This is a great find.
Advanced encoders: check out the link to corecodec on post 1. There's a lot there regarding how to optimize encoding for the accelerator (plus a few odd quirks too).
Thanks man. I will test ASAP (now my TyTN is in the hands of my wife that is playing "Ladybugs" game. Nobody in the world is dare enought to even think in ask her for a five minutes check)
Admins do you think this is worthy of a sticky?? Im still trying to root around in the coreplayer forums to find a recommended bitrate/codec etc... to encode our vids into.
I just went through the coreplayer thread again. Perhaps you might want to pm schriss for his opinion on the corecodec forum. At any rate, it looks like DivX is still a problem for the ImageON so I would avoid encoding with codec that fttb . I don't know if its Coreplayer or Hardware though (suspect the former however).
I try to install that CAB on my DOPOD U1000, after reset never can boot up again need to hard reset the device, someone can help to fix this problem?
Thanks!
That's an HTC Athena simdao! This patch is Hermes specific. As you have determined, "Undefined results" can occur if you install this patch on a different device.
Slightly OT here, but does your Athena suffer from ATI based DivX rendering issues? What other ATI ImageON issues do you have with it?
Sleuth255 said:
I just went through the coreplayer thread again. Perhaps you might want to pm schriss for his opinion on the corecodec forum. At any rate, it looks like DivX is still a problem for the ImageON so I would avoid encoding with codec that fttb . I don't know if its Coreplayer or Hardware though (suspect the former however).
Click to expand...
Click to collapse
The videos i have encoded using AutoGK, its good because i can just queu up the videos to encode and leave it running. Depending on the program i am encoding i set the filesize accordingly:
60mb for a cartoony show (family guy, futurama, simpsons etc...) approximatly 25 mins (so 2.4mb per min?)
120mb for a filmed program (friends, mythbusters etc...) again approximatly 25 mins (so 4.8mb per min?)
128kbps VBR MP3 for audio (fine for all movies)
fixed width of 320 (the program adjusts for the aspec ratio of the source)
XVid Mpeg4 (2 pass)
I used this encoding method since having success with TCPMP on one of the early iMate roms, since the South Africa HTC rom arrived all the roms since have played back on TCPMP/Coreplayer no problem with the rawframebuffer setting. Since the AKU3.3 test rom i have been using ATi Imageon setting instead and get MINIMAL artifacts onscreen with my files.
Worth a go???
Following mrvanx advice on this and another thread...
I used AutoGK and set parameters as follows:
fixed width 320
Predefined filesize 400mb
128VBR mp3
XviD Mpeg4 (2pass)
This was done on a DVD quality divx file, and produced a 400mb file which played back near flawlessly on the hermes, minimal artifacting, and much better quality than even my ipod! Great stuff
Thanks,
J

Hermes Audio Codec Question

I've searched around and found a few posts but so far nothing has worked.
Here's my scenario. I've got a PBX with Unified Messaging capabilities, these messages are encoded using ADPCM, now the distributor for the PBX includes a coded for windows machines to play the ADPCM format they use, however from what I can tell there is so far (that i've found) no coded for windows mobile.
What options do I have for playback of these audio files? I can't really change the output of the PBX (i could but then file size would become an issue since ADPCM is really good at compressing telephone quality voice). As I mentioned earlier I do have the windows codec, is there anyway to port it to work on Windows Mobile 5?
I have tried a few of the players listed here, however they don't want to play those Wav files... so I wonder if its a customized ADPCM codec their using...
Anyways I'd appreciate any help or suggestions.
Thanks~
I know what your looking for, and more importantly, due to extensive research I know where to find it.
Yes you are looking for the legendary G SPOT.
http://www.headbands.com/gspot/
Its a great little app, no install necessary. It identifies the codecs used for audio and video files.
My advice, have a play.. you cant go wrong.
Ahh, thankyou very much.
Looks like its using Dialogic OKI ADPCM which I kinda doubt has mobile support but I'll dig around and see what I can find.
I dont really understand the sytem you have nor what your trying todo with the audio files it produces.. I assume to semi automated retreival/listening to them.
From a quick scan of the codec databases people are having huge problems obtaining this OKI thing for regualr windows. no mention at all of a mobile codec for oki.
Or there is this , which isnt really automated but it will allow you to play and convert the OKI's to a format your ppc can use.
http://sox.sourceforge.net/
As they have the soruce code available, you could spend the summer modding a ppc version ..
Or another option, they have the atariST executables, which you could run on a atari emulator hither. http://www.pocketpcfreewares.com/en/index.php?soft=767
Good luck keep us posted.
Thanks for the link.
Your correct, the system automatically attaches their voicemail and emails a copy to them. conversion's not really an option but I might just have to go that route. OKI makes some pretty small wav files (200-250k per min) so thats what makes it great for this application. Im also going to pester the distributor of this voicemail to see if they've tweaked it any for such an application.

Kinetic Scrolling Demo **Updated** KListControl with source

Hi
New around these forums..
I've posted a in-progress of a project I'm working on. It's a kinetic scroller (you know that flick scroll effect). Remember this is a demo it doesn't actually do anything useful apart from amuse me!
Not as fluid/cool as iContact, but it's my first PPC application. The grand plan is to turn it into a library based MP3 player with a decent looking interface.
It's written in CF .NET so if you really need the source reflection is your friend.
Tested on a WM6 blueangel device @ 400Mhz. Runs in the WM2003 emulator
----
I've updated with source. No license, do whatever you want with it. Although a mention somewhere would be nice
Chad get this media player out the door now!
-------
New optimized demo released, source now updated.
Removing old source as the file name is confusing.
Thanks for all the comments.
-------------------------------------------------
**************************************
UPDATE:
gingercat has done some fantastic work loosely based on the original source and created a user control. Unlike my old code it doesn't use one big bitmap and just better written in every aspect. I'll leave my old source up just for reference as to how /not/ to write a kinetic scroller
I can't try it right now because I don't have my device, but it's nice to know that at least a few people still support WM2003/SE...
jackbnymbl said:
I can't try it right now because I don't have my device, but it's nice to know that at least a few people still support WM2003/SE...
Click to expand...
Click to collapse
...especially on wizard..
LOVELY! Why don't we work together to bring your scrolling routine, into my existing mp3 player "Melody". I've got playback and that sort of thing sorted out. Please PM me if you're interested.
anyone care to post a vid plz
slow scrolling and not as responsive as other scrolling software out there... but the idea is there ... i would also love to see smtg similar implemented in chad's media player (just my simple opinion)...
thundershadow14 said:
LOVELY! Why don't we work together to bring your scrolling routine, into my existing mp3 player "Melody". I've got playback and that sort of thing sorted out. Please PM me if you're interested.
Click to expand...
Click to collapse
Thanks for the offer! This is a hobby project and I'd like to work on my own.
However I'm now going to release the source so you can use it..
Kinetic scroller, officially a part of Melody.:
http://forum.xda-developers.com/showthread.php?t=325223
Development
Hi
I was just wondering, how long will it take for you to make your product compatible to play Mp3 Songs, because I'm tierd of waiting for a Music Player, which is easy to use and fast. And by the way, I think your player is so far the best, it just has to get a litle better UI!!!
Well, here I am with release 002 of my kinetic scroller demo.
I've added alot of optimizations and its silky smooth on my 400Mhz device! It even runs great underclocked at 200Mhz.
Source to follow (once its cleaned up, probably tommorrow)
Thanks for this! Once again shows how it just takes one person to come up with a great idea (apple (or whoever initially came up with smooth scrolling)) then we all wonder how we lived without it!
I've just been reflecting over it and note that you are relying on .NET garbage collection to clean up e.g. all the graphics and brush objects you create - you need to be careful about this because this isn't deterministic and you can quickly run out of resources before it gets round to cleaning up. I know you say you're going to clean up the code anyway, but just thought I'd add my tip!
The holy grail would be if we can figure out how to hook mouse events, because then mouse movement can be processed independently of the form (and any other items on it). Unfortunately, CE doesn't support this (that I know of). The form approach only works if everything is semi-custom drawn.
This new version scrolls as good as or better than iContact, so you can remove that message on the first post.
on the other hand, the version currently implemented in melody v0.6 doesn't seem as good as this one.
btw, once you upload the new source, i'll see if i can make it stop selecting the first touched item when you are trying to scroll.
when thundershadow and i were making our own one we found the way to do this was to do something like listbox1.selectedindex = -1
it should be pretty easy to do.
also, something like this instead of the random number generator could get a list of the files in the current dir:
Code:
string[] r = System.IO.Directory.GetFiles(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase),".mp3");
klist = new KList(0, 20, screenX, screenY, "All Tracks");
for (int i = 0; i < r.Length; i++)
{
KItem ki = new KItem(i + ". " + r[i] + ".mp3");
klist.addItem(ki);
}
dunno if that is accurate or not.. haven't used c# that much.. but it should be easy todo.
Source is now up.
I've starting playing around with MP3 playback but please ignore it (Using the FMODCE .NET wrapper)
dosfan said:
Source is now up.
I've starting playing around with MP3 playback but please ignore it (Using the FMODCE .NET wrapper)
Click to expand...
Click to collapse
if you're intending on making it a practical-use app,
probably the best way to go about it is using the shell execute function to open the mp3's in whatever player they associated mp3's to (cos people will want features they prefer than other media players).
and then later on you can add an option to customize the command so the user can use it with a different media player without changing the associations.
so they'd have to make something like: "\SD Card\TCPMP\player.exe /open %mp3path%".
then the app just has to replace "%mp3path%" with the variable for the path to the selected mp3, and launch everything before it to shell.
you'd also need to add something like the code in my last post to get a list of the mp3's (tried it on my ppc and it doesn't work, so it needs to be fixed up though).
chrismrulz said:
if you're intending on making it a practical-use app,
probably the best way to go about it is using the shell execute function to open the mp3's in whatever player they associated mp3's to (cos people will want features they prefer than other media players).
and then later on you can add an option to customize the command so the user can use it with a different media player without changing the associations.
so they'd have to make something like: "\SD Card\TCPMP\player.exe /open %mp3path%".
then the app just has to replace "%mp3path%" with the variable for the path to the selected mp3, and launch everything before it to shell.
you'd also need to add something like the code in my last post to get a list of the mp3's (tried it on my ppc and it doesn't work, so it needs to be fixed up though).
Click to expand...
Click to collapse
Yes, that something I was already considering.
To be honest, I'm not impressed with FMOD's performance. Even just initalizing the library is causing performance issues (without even playing a MP3, does fmod.init() spawn a thread or something???)
I'm looking for a port of MAD that I could interop with. If anyone knows of a libmad.dll for ARM WINCE point me in the direction!
dosfan said:
Yes, that something I was already considering.
To be honest, I'm not impressed with FMOD's performance. Even just initalizing the library is causing performance issues (without even playing a MP3, does fmod.init() spawn a thread or something???)
I'm looking for a port of MAD that I could interop with. If anyone knows of a libmad.dll for ARM WINCE point me in the direction!
Click to expand...
Click to collapse
afaik, performance-wise fmod would be the best library to use.
but the problem is that most people would rather use their own player like tcpmp or wmp that does what they want,
rather than just a basic player with a third-party library in .net cf.
New UserControl version
Hi dosfan,
I have modified the source to create a new KListControl which is a UserControl you can add to any .NET form. All the scroll functionality required is all contained within the new control.
This control doesn't pre-render everything up-front, so should be less memory hungry (especially with long lists) at the slight expense of some speed (runs fine on my hermes).
Each item is now custom drawn, and only needs to support an IKListItem interface - this enables each item to draw whatever it wants, whenever it wants (well, by nicely asking its parent to invalidate it when visible). I have created a basic KListItem object that supports string name, object value (and has the same functionality you provided).
I also updated the project to still compile with the new source, so (if you like the changes) you can continue work from there.
Updates I will still make are:
Better use of statics incase multiple lists are used (currently the background selection image is static)
Common timer between multiple instances of the control (for performance).
Hope you don't mind my changes!
Chris.
i've just modified gingercat's version to launch the selected mp3 using the windows shell.
to test it out you need to create a directory called "\\SD Card\\My Music", or change the variables in form1 and the klistcontrol to where your music dir is.
if the directory doesn't exist it will browse for mp3 files in the app's directory, then grab the folder of the one selected.
this is not a practical idea, and it won't change the variable in the klistcontrol,
so it wont be able to launch it through shell if you use the browsing method.
a better way would be to make it a folderbrowser dialog instead of a file one,
then make the folder variable in form1 a global variable, and the klistcontrol just grabs it from form1.
that still wouldn't work for subdirectories though.
for that you'd need to tag each klistitem with it's full file path or directory when it's being added.
also it should be pointed out that gingercat's version scrolls a bit too fast.
it's smooth so there aren't any performance issues.
it just goes too far with the tiniest tap up or down.
is there any way to capture all mouse events of the system?

Render-To-Texture with HTC Diamond 2

Hi everyone,
I have a small technical problem to solve and hopefully someone knows an answer for it. Someone gave me a HTC Diamond 2 (very nice toy I think). I don’t know which hardware is exactly inside the phone but I assume it’s an ATI ImageOn 2300 which fully supports OpenGL ES 1.0 + Extension Pack (that’s what GL_EXTENSION is saying). And all of these extensions are doing fine. As everyone knows HTC is not providing a D3D driver for their phones and all other drivers I have seen are just a wrapper around OpenGL ES. So using D3D is currently not an option.
I have to write an application which requires some render-to-texture functionality in realtime and here my problems are starting to grow.
[1] glCopyTexImage2D:
I recognized that glCopyTexImage2D() is very slow. My framerate is dropping dramatically from >100 frames down to ~20 frames. Somehow this is done in software by the driver and not hardware- accelerated. glCopyTexSubImage2D() is even more slow (down to ~10 frames per second), but both functions are working. I tried to move it into a different thread, but the driver is not supporting shared contexts. Also it’s not supporting two bound contexts at the same time with two different windows and threads. So this can’t be improved or I’m doing something wrong.
[2]PBuffers:
PBuffer are working fine. But PBuffers which can be bound to a texture are not supported by OpenGL ES 1.0. And that’s what happens also on this ATI card.
[3]GL_OES_framebuffer_object:
This was my preferred choice. But framebuffers are not officially supported by the installed OpenGL driver. But the libgles_cm.dll on the HTC is exporting these functions so I tried them and recognized that they are not working correctly. Somehow the vertex pipeline is allowing only triangles in the center of the viewport. All others will be discarded. When I turn it off it renders correct. Using glDrawTexiOES() will be ignored while using framebuffers. I assume that either the current implementation of the framebuffers is just waste of some development guys or the functionality is locked in some way.
[4]D3D:
Normally D3DM is supporting to switch between different rendertargets. But we are all know the D3D problem. I tested some other D3D drivers but they are not usable. Also I can’t imagine how render-to-texture will be implemented in these drivers while it’s not working in OpenGL.
I’m wondering what TouchFlow3D is using internally, whether they are using render-to-texture or not. The only thing I know is that they are using OpenGL ES and some extensions. But Manila.exe is querying the functions of libgles_cm.dll during runtime. So I have to write a few proxy dlls first and need to hook into the system to track what they are doing. And I don’t want to spend time on this.
Does someone knows an alternative to do some render-to-texture on the ATI or knows some secrets of the libgles_cm.dll which I don’t know? There are a lot of private functions inside but can’t find some documentation about it. Also ATI and Qualcomm are not very helpful to me.
Thanks.
Maybe, glReadPixels and then glTexSubImage2D (what probably glCopyTexImage2D is doing)?
(I know that this goes two times over the graphics bus, but you never know...)
What kind of scene (number of triangles, lights, textures) are you rendering with > 100fps?
glReadPixels() + glTexImage2D() is even more slow than glCopyTexImage2D...
Also this can't be parallized. I thought using AHI2DATI.dll instead to do the same thing, but I don't know how to get a surface handle from a OpenGL texture id.
>>>What kind of scene?
A very simple scene yet. Only a few depth sorted + material sorted objects (via VBO) with some textures (backed lighting) on it. Textures are compressed. Currently no lighting, no skinning or other things. While the render thread is waiting for glFinish() to return, a second thread prepares the next frame. Also the rendering thread is not redrawing the entire viewport each time.
The OpenGL texture id is the handle. There's nothing more you can do with it. PBuffers or framebuffer objects are the only way I know for doing performant render to texture in OpenGL.
No...I mean the surface handle of the AHI2DATI library. Here you have access to the raw data of the surface. Somehow the libgles_cm.dll uses these surfaces for it own buffers and/or textures or not?!
But this is not really useful unless someone tells us whats going on inside libgles_cm.dll.
See:http://greengalaxy.wordpress.com/2009/04/18/ati-direct-access-to-hardware/
Hi jeansmsixer, I don't think there is no efficient way to do it. Have you tried eglCopyBuffers?
Aren't all textures stored in system memory? - they surely have to be because the device reports no available video mem.
Even if you get a pointer to the color buffer, it's impossible to wrap the memory in a HBITMAP to select onto a HDC and use GDI fonts for instance. (which is what I need to do).
If you do write the proxy dll like you were suggesting, can you please let me know what TF3D does for fonts? Are they textures or have they somehow mixed 3D with GDI?
Hi jeansmsixer, something else you could try is what is described here:
http://brewforums.qualcomm.com/showthread.php?t=10668
Looking on glbenchmark.com it looks like HTC devices support the extension. You should be able to get a pointer directly to the color buffer (which I presume is in normal system memory) so you could copy off pixels fairly efficiently with your own memcpy(). However, you will need to eglWaitGL() etc to ensure 3d stuff is complete before attempting to access it.
I love the irony of the only helpful information for WM opengl being found on a brew site for symbian. If WM7 is as terrible as the current mess, then I'm moving to iPhone.

Converting files to be viewed on other 3D devices?

I just bought one because I want to take 3D pics again like my old Evo3D and, well, RHOs are dirt cheap.
When I try to get my pics off the device there's nothing but 2D jpeg files. Is there any application that will natively let me view these as layers or in some sort of SBS manner?
I've read that the other "panels" of the image are stored in the jpeg metadata. Does anyone know if that's true? (I'll peek later when I've got time) If so, and if there's no existing application, I'd love to write one for Windows at least for myself.
Small update, I have a very preliminary application which inspects the files but I'm just not finding the right data for the alternate images. I can see the main image's jpeg data and a 2nd set of Jpeg tags in some of the files, but so far they've all been thumbnails. (I'm sure EVERYONE is waiting with baited breath for my progress reports, heh.)
I am actually really interested in this. It would be great to be able to put put to a 3d file system that could be used on a projector etc. Since alot of the things in the hydrogen network were not shot on the hydrogen and we're converted ( if you look at the release date you can tell there was no hydrogen in 2007) it seems like somoneware someone knows how to convert normal things to show on the screen going backwards should be easy. ( Should be no idea how to do it myself ) Instagram phariss_design
Hi ... this is a little late and I may not have it down pat... but I have some data. I bought a new RHO cheap...and it has not come yet... but I have been researching things.
I found a post on YouTube...
Michael Johnston
1 year ago
3840x2160 are the largest dimensions. To upload h4v video to YouTube like this you just change the file name from .h4v to .sbs as far as still images go I am not sure if that is possible. The h4v format works with a specific screen made by a company called Leia. It uses nanoparticles somehow and without the screen you don't get the effect. Of course the screen technology is not specific to hydrogen, it seems Leia wants to make it available more widely. The Hydrogen One is just the first device to employ it.
This allows you to upload a side-by-side video. Also, there are 2 video streams that are combined to make the 3D video that results. These videos however are not simply 2 streams... they are basically 4 streams with 2 more streams being interpolated from the existing 2 streams.... this is to support the Leia light filed display and the way it works.
Obviously, a developer somewhere has the software to convert content... but with the RHO being abandonware... both as hardware and software... chances are good that we will never see this software for purchase or release. It is industrial Movie publication type software I am sure... and I would not have any idea where to even get it.
The programs in the RHO... the ones for downloading games and such ... are supposedly still open... at least the game one... but the sharing aspect I hear is kaput! I see that Leia does have ... if you are a developer... a beta software that you can get that transfers between formats into their Lightfield sharing site. I think you have to be a developer...and it will be commercial software as well... in terms of being a development tool. It is called "Lightfield Studio"...
Lightfield Studio - Developer Docs
Bring your videos to life by converting them into Lightfield videos optimized for LitByLeia devices.
docs.leialoft.com
I think it goes both ways.... MP4 to the MP4 H4V variant... and then back to normal video.
Lightfield Studio: Beta Version has three core features:
Orbital Content Conversion
Stereo Content Conversion
2D Content Conversion
Input Filetypes Supported:
3D SBS MP4: A 3D video in an SBS format appended with _2x1.mp4 at the end of the filename.
H4V: A file extension used in the RED ecosystem for 3D video files.
Export Filetype:
Quad Lightfield: Your converted output file will be an MP4 video in the Quad 4V Lightfield format, with _2x2.mp4 appended to the end of the filename.
For pictures and videos that you want to share as H4V check out the beta software "Lightfield Image Tools".
H4V Image tools for RED Hydrogen One
arch Hare Software Ltd. 85-87 Bayham Street Camden Town, London, NW1 0AG, United Kingdom
March Hare Software LLC. 200 Broadhollow Road, Suite 207, Melville, NY 11747, United States
March Hare Software UG. Europadamm 4, 41460 Neuss, Germany
March Hare Pty Ltd. PO Box 139 Narrabeen, NSW 2101, Australia
email [email protected]
It will populate the metadata on your exported H4V clips and will also add a watermark. It will output your 3D pics... as one image with side-by-side.
This is beta software...and runs under MacOS. For now it is command line driven... and it is beta. I don't know if this software will ever come out of beta or not. It would be nice if the author is able to do it. He says he will sell this software to others when it is done.
The magic behind the H4V format is hooked to the RHO screen by Leia. Without the physics of the display... you cannot directly output the file to a projector. If you can convert it to a SBS image then you can process it to the red/blue 3-D glasses and you could probably have some type of 3D presentation. Those types of glasses are available in plastic... and you don't have to have a cheap cardboard pair from a cheesy 1950's movie.
I am not an expert on this subject matter but I still have a first generation Lytro Lightfield camera.... and I still use it. I just wish that there was a way to convert those lotto images to the RHO format. Ah well, the Lytro software will export I think into 3D -Glasses type output...and that Leia software... seems to be able to take the SBS format and put it into the RHO format. Oh, that Leia software... they are developing it for Windows AND MacOS.
Hopefully I have been helpful. If you learn anything about this... hit me up... or for that matter ... IF ANY OF YOU OUT THERE READ THIS... hit me up ;-)
I heard from the developer who is writing the software "H4V Image Tools". Information: H4V Image tools for RED Hydrogen One. He is really nice. I told him that people are desperately looking for something that will convert one format … the H4V format… into some other 3D format and back and that I was looking for something to convert photos from the old Lytro Lightfield camera into a Red Hydrogen One picture format.
An excerpt from his e-mails is below:
----------
Yes, we’re still developing H4VAPP!
It’s a bit of a “side project” so it tends to get the schedule pushed around.
For regular updates, please follow us on Facebook:
H4V Image Tools
H4V Image Tools. 71 likes. H4VAPP is a tool that bulk converts Lightfield images (aka Leia Image Format or H4V images, e.g.: from Hydrogen One). The app may also be used with MPO files and images...
www.facebook.com
But I did update the license and add a requested feature back in November 2020, and I hope to make more progress in February 2021.
Due to the retirement of the RED Hydrogen One and the H4V file type, there is some re-branding also going on, and a new web site coming. Of course the product will be the same, and still support all the old file types.
H4VAPP already does what you describe.
It converts H4V format into Side-by-Side or separate L/R. It’ll also extract MPO’s. If there is a depth map it extracts that too. You can use the same command to convert side-by-side to H4V, though strictly speaking this is not necessary because the hydrogen and Leia hardware all read SBS OK. The Twin cameras on the H1 and LumePad hardware don’t include a ToF sensor, so there is no hardware based depth map. Any depth map from a LumePad or H1 is algorithmically derived from the SBS images. So therefore the depth map can be derived again from the SBS image. i.e.: the SBS image is the basis for everything else.
The very next thing I want to do is create MPO’s (aka Fuji) as an output format, since I think that’s considered a bit of a “standard” in the 3D world.
I guess in theory it should be possible to generate a depth map from a Lytro image and attach it to an image and you could then view that on Hydrogen or Leia hardware. It’s not a substitute for side-by-side. As I described above, without a ‘Right’ image, the H1/LumePad hardware is going to struggle. But with a single image and a depth map (aka iPhone/Google Phone) the Leia desktop software should be able to generate an H4V from it....
I would like to be able to generate iPhone compatible ‘portrait’/3D images from H4V. This would be a pre-requisite to doing anything with the Lytro AFAICT (see above).
----------
I am going to send him some "actual" Lytro Lightfield images taken with my camera. He said that demo images provided by a manufacturer are often slightly different than what the device actually produces. In the meantime, I am going to play around with his beta software and determine what is in the realm of possibility. The best thing is that the developer is working on the software still. The last part is obviously the Mac interface... but he is trying to get the functionality down pat first... the interface is the easy part. LOL.
Anyway... hopefully if you are reading this you will try the software and see if it fits your needs. More good news is that the developer says that "Any depth map from a LumePad or H1 is algorithmically derived from the SBS images. So therefore the depth map can be derived again from the SBS image. i.e.: the SBS image is the basis for everything else". I think I misspoke earlier in the post... I talked about 4 streams ... I think a better description is that you have 2 streams with the 2 other views decoded algorithmically as the file is decoded for play. Sorry for that distinction... but I think that is more correct... as the Red Hydrogen One uses 4V ... V as in views... for the Leia Lightfield display.
Hope this helps. I am going to determine for myself what my experience is with the phone when it arrives.
Any questions about my post, hit me up. ;-)
At the risk of writing a 3rd post in as many days, I wanted to let you know that there are programs out there that will convert "normal" videos into an SBS (Side-By-Side) format (or even "Anaglyph" format.
The SBS format is typically a Virtual Reality Format. The Anaglyph format uses the old red/cyan 3D glasses like the old style 3D movies you would watch years ago. I have a nice pair of Anaglyph plastic glasses I bought on Amazon. They are not expensive. YouTube also has a lot of both VR (SBS) and Anaglyph formatted videos.
So, the Holy Grail of this post... how to get normal movies converted to be able to be seen on the Red Hydrogen One? Most people think that you have to have a video file in the H4v format so that it can be played on the RHO. That is one way. This is where the beta software from H4V Image tools for RED Hydrogen One comes in. You can convert SBS video into H4V video using this program. I know I will buy it when it comes out of Beta.
More simple an easier is to just use the .SBS file. The RHO software can consume .SBS files directly without conversion. If you do convert a .SBS file to an MP4 file, you must append the file name with "_2x1" and us an extension of ".mp4". If you don't append that on the file name then the RHO player won't parse it correctly and recognize it for what it is.
I sent the H4V Image Tools developer a bunch of files... including the "living Image File" for a picture taken with my Lytro camera. he now has those and may be able to work some of those formats into his tool.
As an aside, I found a wonderful program that converts regular images into SBS files and Anaglyph files. The name of the software is "VideoSolo Video Converter Ultimate". I bought it for the Mac but they have a version for Windows. I paid $39.95 for it and I think it performs very well and is worth the money. You can use a NLE like Davinci Resolve or some other program to make SBS files, but this program does a wide range of file types, etc.
Check out the user guide at: User Guide: https://www.videosolo.com/video-converter-ultimate/user-guide.html
Anyway... I think I have pretty much added my two cents worth so to speak. Hopefully you have found my posts on this subject interesting.
Good luck...and keep enjoying your own content, etc. on the Red Hydrogen One. ;-)
TheMactrix said:
Hi ... this is a little late and I may not have it down pat... but I have some data. I bought a new RHO cheap...and it has not come yet... but I have been researching things.
I found a post on YouTube...
Michael Johnston
1 year ago
3840x2160 are the largest dimensions. To upload h4v video to YouTube like this you just change the file name from .h4v to .sbs as far as still images go I am not sure if that is possible. The h4v format works with a specific screen made by a company called Leia. It uses nanoparticles somehow and without the screen you don't get the effect. Of course the screen technology is not specific to hydrogen, it seems Leia wants to make it available more widely. The Hydrogen One is just the first device to employ it.
This allows you to upload a side-by-side video. Also, there are 2 video streams that are combined to make the 3D video that results. These videos however are not simply 2 streams... they are basically 4 streams with 2 more streams being interpolated from the existing 2 streams.... this is to support the Leia light filed display and the way it works.
Obviously, a developer somewhere has the software to convert content... but with the RHO being abandonware... both as hardware and software... chances are good that we will never see this software for purchase or release. It is industrial Movie publication type software I am sure... and I would not have any idea where to even get it.
The programs in the RHO... the ones for downloading games and such ... are supposedly still open... at least the game one... but the sharing aspect I hear is kaput! I see that Leia does have ... if you are a developer... a beta software that you can get that transfers between formats into their Lightfield sharing site. I think you have to be a developer...and it will be commercial software as well... in terms of being a development tool. It is called "Lightfield Studio"...
Lightfield Studio - Developer Docs
Bring your videos to life by converting them into Lightfield videos optimized for LitByLeia devices.
docs.leialoft.com
I think it goes both ways.... MP4 to the MP4 H4V variant... and then back to normal video.
Lightfield Studio: Beta Version has three core features:
Orbital Content Conversion
Stereo Content Conversion
2D Content Conversion
Input Filetypes Supported:
3D SBS MP4: A 3D video in an SBS format appended with _2x1.mp4 at the end of the filename.
H4V: A file extension used in the RED ecosystem for 3D video files.
Export Filetype:
Quad Lightfield: Your converted output file will be an MP4 video in the Quad 4V Lightfield format, with _2x2.mp4 appended to the end of the filename.
For pictures and videos that you want to share as H4V check out the beta software "Lightfield Image Tools".
H4V Image tools for RED Hydrogen One
arch Hare Software Ltd. 85-87 Bayham Street Camden Town, London, NW1 0AG, United Kingdom
March Hare Software LLC. 200 Broadhollow Road, Suite 207, Melville, NY 11747, United States
March Hare Software UG. Europadamm 4, 41460 Neuss, Germany
March Hare Pty Ltd. PO Box 139 Narrabeen, NSW 2101, Australia
email [email protected]
It will populate the metadata on your exported H4V clips and will also add a watermark. It will output your 3D pics... as one image with side-by-side.
This is beta software...and runs under MacOS. For now it is command line driven... and it is beta. I don't know if this software will ever come out of beta or not. It would be nice if the author is able to do it. He says he will sell this software to others when it is done.
The magic behind the H4V format is hooked to the RHO screen by Leia. Without the physics of the display... you cannot directly output the file to a projector. If you can convert it to a SBS image then you can process it to the red/blue 3-D glasses and you could probably have some type of 3D presentation. Those types of glasses are available in plastic... and you don't have to have a cheap cardboard pair from a cheesy 1950's movie.
I am not an expert on this subject matter but I still have a first generation Lytro Lightfield camera.... and I still use it. I just wish that there was a way to convert those lotto images to the RHO format. Ah well, the Lytro software will export I think into 3D -Glasses type output...and that Leia software... seems to be able to take the SBS format and put it into the RHO format. Oh, that Leia software... they are developing it for Windows AND MacOS.
Hopefully I have been helpful. If you learn anything about this... hit me up... or for that matter ... IF ANY OF YOU OUT THERE READ THIS... hit me up ;-)
Click to expand...
Click to collapse
You don't need to be a developer to use the lightfield studio Software. It is Beta software though, but the folks over at H4Vuser.net the Hydrogen (H4V) Content - Free Platform ... that has technical folks who worked on the hardware... as well as people like you and me.... indicate that this software was the software that was used to convert 2D content into 3D content for RHO consumption. If you have questions about the RHO, I suggest you go to this link and see what answers are there for you. Better yet, you could join the site.
we have the best online destination for converting your 2D and 3D images. also, 3d movie conversion and 3d movies are all gets high demand. but don't good application for converting 2d to 3d movies perfectly. The creation of stereoscopic images from monocular photographs do it difficult. my friend all are doing manually 3d movie conversion. i asked to many people about the 3d movie conversion app. but did not get useful answers.so I ask you all who know the best 3d movie conversion app? suggest here

Categories

Resources