yashsingh1/xdaforums huggingface dataset:
[Touch CDMA General] tatnai:
OP posted a critique of the current android camera, with a hint of sarcasm, and ended with a question that was neither constructive or helpful or focused on future development. The state of the camera in android is nothing new, we have all used it and seen it. Framing his observations about the camera the way he did,

and

in a flippant manner, like it is a bug that needs fixing, is quite disrespectful of the hours of work that dzo put into building the camera driver FROM SCRATCH. A little reading of the forums about android would have brought this to light, and would have produced a post more along the lines of "hey dzo, I see the camera has not been updated in a while, I would love to help take it to the next level with my skills - who wants to pitch in?" rather than "this sucks, who knows a fix?"

We have had developers leave the project due to posts like the OP. Some might say, well that is just childish for people to get their feelings hurt by a simple post. Maybe it is, maybe it isn't. But post after post of thoughtless criticism by people who have not taken the time to see WHY there is an android on the vogue in the first place, wear on the people who pour countless hours of there time into this project. You'll note that the two posts who acknowledge value in my original post are also from people (jamezelle, TheKartus) who have been around to see this happen before.

I love noobs as much as the next guy (we are all noobs in one area or another), and that's why you see me troubleshooting for people in threads all the time. We always need more people giving feedback, but please, give it in a way that is respectful of the time and energy and love put into the project by its creators, and in a way that shows you've taken the time to know the background of the subject you are addressing.
[Touch CDMA General] zenulator:
well lets get on track and fix it. the code is open source so anyone can have a look and fix it.
[Touch CDMA General] polyrhythmic:
Here is the photo the G1 dev took, using his reverse-engineered Eclair driver. It comes out with very low noise.

Does the G1 have hardware noise-reduction that we don't? Or is there something in their driver? It's been a while since I've written C so I'm still digesting what all the code actually does. I've asked the devs of the G1 driver if they have a guess... hopefully they are not too busy to provide insight.
[Non-Touchscreen Windows Mobile Other] nomecone:
Solution was a hard reset once i found out how to do it. it was in the the menus. setting>system>clear storage

Okay so I cannot track down when the problem actually started to occur but I know that the phone worked with the advanced networking and now it doesn't. I know that the usbtopc options in the setting>connections menu is gone. I searched the phone for the file usbtopc.exe and it was not present in \windows\ so I thought I had somehow deleted usbtopc.exe so I installed some updated version i found here trying to get it to work. they were

irus USB to PC.cab

Touch-IT Mass Storage.cab

HTCUSBToPCPopUp_2_0_18172128_1.WWE.cab

none of those fixed the problem but one of those added usbtopc.exe back to the \windows directory. I then tried to use a registry backup I have from before the problem started thinking the links to the \windows\usbtopc.exe would be restored but that didnt restore the options under settings>connections.

So I sit now searching and after a few hours I thought its time to ask for help. I would so I a hard reset. I would be my first so it scares me to do that but I dont know how for this phone. I am assuming that a hard reset go completely back to factory and I dont need the rom of any files to do that job just find the right button combo and what and the phone will go back to factory is my assumption. hard reset is kind of overkill though, the phone functions on its own with no problems I just cant use activesync

so by now your wondering what the phone is... its embarrassing.

Its a chinese phone with WM6.1 called a C900 It is an iphone lookalike

processor: arm926

ram: 57mb

internal storage: 48mb

storage card max i think 8gb thats what i currently have in it

thanks

-nomecone

sorry for the low quality all i have for pictures is my lg rumor2 right now
[HD2 General] Vampire2800:
I've searched the internet, wiki & this forum but I can't seem to find what comes in the box. My old blackstone came with an 8 gig card, little crappy sued pouch, USB cable, stylus.... I think that's about it. Thinking about waiting on the Telstra version for the US 3G capability. Thanks in advance.

P.S. - Is it SIM free or can it take a SIM card?
[HD2 General] gdayhtc:
search ebay...they tell you what is in the box...generally speaking the extra items that the seller offer are reffered to bonus items.

it does take sim card
[HD2 General] Vampire2800:
I appreciate your help, but it was unsuccessful. I'm not interested in the "extra crap" that people give you when you buy one. Most of the specs listed on ebay are copied from HTC's website, which doesn't list what's included in the box. I guess my question is if I went to a retailer, saw the box for the Leo & bought it, what's inside the cellophane (other than the slide cover for the box & the box itself)? What size is the memory card, belt clip/pouch, screen protector, little black sticker that nobody knows what it's for, both UK & US wall adapters, screen-cleaning cloth, little black pouch, etc.........

Thanks
[HD2 General] Tanmay®:
The India version of HD2 comes with :

8Gb MicroSD Card

Pouch

USB Cable

Headset

Charging Adapter
[HD2 General] Yunabeco:
The UK version I got contained:

-The phone (duh)

-A USB-microUSB cable

-A charging USB adapter (Came with the UK plug)

-Headset

-A 2GB microSD card

-A (very) small user manual and the guarantee

-The battery

-A leather pouch

The HD2 has a SIM slot and a MicroSD/HC card slot; removing the battery is required to change the SIM card, but not the MicroSD card.
[Nexus One General] metallicant:
I'm so loving my rooted N1 but I'm wondering if we will be able to receive any over the air updates since they will be coming from Google, or are we blocked from any updates over the air??????
[Nexus One General] miketaylor00:
How is this a development question?
[HD2 Windows Mobile 6.5 Themes and Apps] Metroid Prime:
Hi

Any idea guys? this project would be very interesting for many people, is to daedalus64 port to psp achieved a pretty good actually, then it would be possible a port HD2?

snapdragon hungry
[HD2 Windows Mobile 6.5 Themes and Apps] NSider:
It should be very possible.. but we need skilled and dedicated people to do it.

Love your screen name. ;)
[HD2 Windows Mobile 6.5 Themes and Apps] loomx:
If we could get an N64 emulator on the HD2 that worked with controller :D I would actually cry with happieness! and donate monies ;)
[HD2 Windows Mobile 6.5 Themes and Apps] impreZzA:
eventhough with onscreen control, multitouch, this would be awesome!!!!!!
[HD2 Windows Mobile 6.5 Themes and Apps] loomx:
Yup! the only problem with an N64 emulator is it because of its use of anolouge sticks it would be better if you could link it to a PS3 controller, although it would still work i guess with a dpad?
[HD2 Windows Mobile 6.5 Themes and Apps] scarn:
Does it work yet`?
[G1 Android Development] NCommander:
I've been doing a lot of work recently on getting the camera working on eclair by building the source code to libcamera.so from the parts of the source that were released with the donut drop, then forward-porting the code to eclair.

The result is: http://img37.imageshack.us/img37/6428/20100108232729.jpg (that's the eclair camera app running on my G1 photographing my ugly mug :-)).

Right now, preview, auto-focus, and taking pics works. Recording video currently crashes the phone. Since this can't easily be dropped into most existing ROMs since the default eclair configuration loads a hard-coded camera stub, and will not load a camera driver. I should hopefully have the last remaining bugs worked out soon and be able to release an alpha version to ROM devs to incorporate into their ROMs.

The source is now available at: http://gitorious.org/eclair-camera-drivers and ready for integration into various ROMs. Please report any bugs encountered.
[G1 Android Development] JAguirre1231:
I'm excited to see this, if you can get the bugs worked out I will bow before you
[G1 Android Development] Ace42:
Well..hmm..what else can i say but fantatic?

And thanks-a-million
[G1 Android Development] diddyb:
nice work!
[G1 Android Development] djluis48:
omg...this is huge...thxxx!! cant wait to have camera working on eclair :D
[G1 Android Development] xtenpeben:
great job :)

many tnx to what you've done

and many more tnx to come during ur time on debugging things.

:)
[G1 Android Development] N3xt2N0N3:
Good work. I can't wait until you perfect it.
[G1 Android Development] eklipz3:
Good job now lets keep the focus and i think its all just a matter of time. I can feel it.
[G1 Android Development] halfsight:
:eek:

So happeeee!!
[G1 Android Development] HydrantHunter:
Wow, NCommander, that's a hell of a thing. Thanks for making the time to tackle this!
[G1 Android Development] wjsbaq:
You can't be too excited seeing this! THX a lot! Please just keep on!
[G1 Android Development] shadowmike:
HA.... thats awesome.. great job. cant wait till some devs get in contact withyou and start putting some eclair camera roms out there.

im just fine with no video right now. my mt3g is a pitty with no cam.
[G1 Android Development] digitallysick:
Best news yet! I'm personally happy!
[G1 Android Development] gophergun:
:o That's brilliant! Do you think it might work on Android 2.1 as well?
[G1 Android Development] whample:
Let the good times roll!
[G1 Android Development] SarDroid:
Show me the drivers!!!Show me the drivers!!!:)we waiting NCommander:)thank you for your hard work...
[G1 Android Development] oreoOozZz:
Awesomeness, you tha bomb diggity yo.
[G1 Android Development] Bzerk1:
THANK YOU! once its on, im upgrading from cyanogen to xROM or whatever 2.x that has the cam.
[G1 Android Development] linuxluver:
Awesome!

The lack of a camera is the only thing keeping me from running an eclair ROM full time.

I'm hoping this gets sorted before everyone abandons ship for the Nexus One and Droid and the-next-cool-phone.

I have an HTC Magic 32B. Hope it will work on the Magics.
[G1 Android Development] xabierd:
Will this work on sapphire 32b?

BTW great job!
[G1 Android Development] Burag:
Freak you HTC, we are going to have drivers without you :D
[G1 Android Development] senab:
Wow, great work (and certainly not an easy task). :D

The thing thats stopping me from switching to Eclair isn't the lack of camera, but the lack of any GPU acceleration. Watching videos, general 2D graphics (e.g. launcher swiping) and especially 3D OpenGL stuff (e.g. Flan gallery) really are slow on Eclair due to the lack of a driver and makes the phone unusable imo.
[G1 Android Development] Hiretto:
Indeed

I am more interested on the gpu acceleration than the camera
[G1 Android Development] dweller88:
Great work on the camera, much respect and thanks
[G1 Android Development] Brajin:
wow!

Wow, keep this work up!
[G1 Android Development] axlastro:
Great work!

Great work . Thank you!

I remember some years ago there was the same situation with HTC and opengl drivers - people were trying to port touch flo 3d to the htc TYTNII and there was the same crap - htc didn't want to release drivers for some time. It's all marketing tricks - they want you to buy their newer phones. They might as well make some of us buy an iPhone and get it over with...
[G1 Android Development] paranoidpenguin:
You're f*** great, man!!!

Thank you so much for breaking with this weird marketing strategy of HTC.

Can't wait for the alpha, I swear I will try it real hard, cause the camera is the only thing holding me back from an update

Don't know what to say: unbelievable...:D
[G1 Android Development] NCommander:
No one had told me that there were 3-D issues on eclair/G1, although looking at the source

TARGET_HARDWARE_3D := false

eclair does disable 3D on the G1, although I can't find an instance in AOSP that has ever been set to true.

Does anyone know if the MT3G uses the same camera driver as the G1? If so, then it should just be a drop-in replacement, if not, then it will be more difficult ot work with but not 100% impossible to get it going.
[G1 Android Development] Dyonas:
I looked at this thinking it was someone asking about progress but this is fantastic indeed! Things like this are the reason why I'm glad that the G1 and other Android devices are around. With no help from HTC this must've been a really difficult task and yet here we have someone with it almost done :D
[G1 Android Development] matt_stang:
Nice work. Rogers officially announced that their magic is getting eclair soon. Can we not take the drivers they use? Or does their magic have different hardware? As far as I understand, magic and dream have the same hardware.
[G1 Android Development] ivanmmj:
Agreed. Although I want BOTH working.
[G1 Android Development] NCommander:
Indeed. If anyone has a HTC Sapphire in the Rochester, NY area who is willing to let me toy around with it, I'd be willing to look into it more in depth in it. The being said, I don't believe Rogers will release a 2.1 ROM until I actually see it; as far as carriers go, they're one of the worst, and I loath roaming off them when I have to go to Canada :-/.

In other news, I've at least figured out what is causing the initial crash when you try and switch into recording mode on my libcamera.
[G1 Android Development] ivanmmj:
There are two different Magic versions. The 32A and the 32B. Unfortunately, Rogers has the 32A which has a different chipset and therefore different drivers. (T-Mobile's MyTouch3G is a 32B which has the same chipset as the G1.)
[G1 Android Development] NCommander:
I thought the sole difference between the two were kernel drivers and SPL versions; the userlands were intercompatible.
[G1 Android Development] ivanmmj:
Between the 32A and 32B? Or between the Dream and the Sapphire 32B?
[G1 Android Development] NCommander:
All of the above (I've only once seen a 32A in person which I helped install cyanogenmod on, and never had time to pick its userland apart)
[G1 Android Development] ivanmmj:
Well, between 32A and 32B, you're right about the Kernel Drivers and the SPL. I don't know about the userland, though.

The G1 and the 32B's, use the same Kernel Drivers, I believe. The SPL from the 32B's was ported over to the G1 but the 32B's do have more ROM space than the G1's.
[G1 Android Development] Daneshm90:
Sweet, awesome work OP. Yea im interested to see my magic 32A handle flan's gallery and launcher which was ported. I tried on Jac's eclair but due to the lack of gpu drivers, it was slow as _____ (Fill it with w/e u like :)).

Quick question, does the android os use gpu acceleration at all ? i mean the os, i know some of the games do but wht about the os ?

thnx
[G1 Android Development] jubeh:
do you have a repo we can checkout?
[G1 Android Development] NCommander:
No, not at this time. I've had issues with repo before, and while I've used git, I have yet to figure out how to make repo do anything useful :-/.
[G1 Android Development] M..N:
just wondering if there has been any progress on getting the camcorder working.
[G1 Android Development] xghostyxjokerx:
nice

looking forward to it!!! please keep us posted thanks:):):):)
[G1 Android Development] toastcfh:
wow this is great news man. i have a cdma hero and all i have left for a complete rom is camera and some minor things. we acually used dream source to fix or sensors issue with very little mod. we lookeed into camera but our kernel doesnt support msm-camera. so we were kinda doomed in that aspect. seeings we couldnt get the libcamera to build. i hope to see the source for this soon. because the dream and the cdma hero use the same camera. this would be a great help to us. i do have a question as i dont know much about dream dev. is ur source going to use msm-camera or no? our kernel doesnt support it is why i ask. but i know u guys have some highly modded kernels floating around. anyhow thank u for ur works
[G1 Android Development] matt_stang:
So since the only difference between 32A and 32B is the kernel drivers... we CAN use the rogers magic drivers?
[G1 Android Development] rsfaze:
maybe one of the devs like Drizzy or Eguene will share the working driver they have so this can be completed a little easier :)
[G1 Android Development] kaotikking:
They cannot share the drivers just yet it would compromise their sources... and we dont need that EVER! lol
[G1 Android Development] nolimit78:
Yeah i'd rather wait.
[G1 Android Development] NCommander:
The camera subsystem is freaking weird on the Dream/Sapphire. I haven't looked at the Hero in detail, but I think it uses a similar wrapper design. Essentially, there are four parts that compose the camera driver layer on the Dream/Sapphire

* Android Driver API - This is what loads the camera driver, and executes it, it directly conencts to libcamear.so; this changed from 1.6 -> 2.0 which is what broke the existing drivers. We have the complete sources to this.

* libcamera.so - This is what connects to Android camera subsystem. Its a wrapper around libqcamera.so, and handles driving the actual camera, such as sending signals to change camera modes, start/end focus, etc. It also sets up the physical memory (pmem) layout required for the DSP to drive the camera. The source for this is open, but incomplete- most of the headers required to build it were missed; Using some creative debugging in the msm_camera layer, I was able to work out the missing data structures and necessary magic numbers to drive the camera process although its lead to structs looking like this:

typedef struct
{
unsigned short picture_width;
unsigned short picture_height;
unsigned short display_width;
unsigned short display_height;
unsigned short filler;
unsigned short filler2;
unsigned short ui_thumbnail_height;
unsigned short ui_thumbnail_width;
unsigned short filler3;
unsigned short filler4;
unsigned short filler5;
unsigned short filler6;
unsigned short filler7;
unsigned short filler8;
} cam_ctrl_dimension_t;

Messy, no? :-/

* libqcamera.so - This connects userland to the kernel through libcamera.so as a bridge, and contains most of the camera logic in userspace. It includes JPEG encoder, the camframe magic, and parts of the shutter callbacks. This module is completely closed, and non-redistributable. Its referred to a libmmcamera.so in the libcamera.so source.

* msm_camera in the kernel - this allows userland processes to drive the actual camera hardware. Its manifested as various nodes under /dev. This code is very confusing, and feels VERY incomplete, and I've gotten the distinct impression that this is intentional, making it so that the actual camera drivers themselves are driven from userland in a series of ioctl() commands. For instance, on Dream, to start the camera, a control command of 15 must be sent on the control channel, but there's no indication that this is accepted or even valid in kernel space, leaving the vast majority of this code very confusing and difficult to walk through. There are individual sensor drivers in this part of the codebase, and the full code is available.

As for getting video recording working, it looks like the CAMERA_MSG_VIDEO_FRAME flag is set earlier than I expected it, causing recordingEnabled() to return true when it should return false. This causes startRecording() NOT to be called. I need to reload donut on my phone and see if the same behavior happens there.

Its a pity theres no working eclair-driver I can use as a reference implementation; eclair's camera API is virtually undocumented except for some source code comments, so I'm not even sure I'm working off the right signal.
[G1 Android Development] shafty023:
Are you stuck or having issues with the port? Let me know if you need a hand. I'll need a diff with your changes so I can pick up where you're at. What kind of road blocks have you hit.
[G1 Android Development] NCommander:
Please contact me via AIM/YIM or on Freenode (I idle in #cyanogenmod there, NCommander is my nick)
[G1 Android Development] ivanmmj:
No. BECAUSE their drivers are different, we CAN'T use the drivers.
[G1 Android Development] senab:
GPU acceleration isn't just 3D but 2D too. Without GPU acceleration, general usage of Android is slower due to all the 2D graphics being driven by the CPU instead, taking up valuable clock cycles.

For instance, have you noticed the lagginess in swiping in the standard Eclair launcher?
[G1 Android Development] Daneshm90:
Yea thts wht im saying, so is there no way to enable gpu acceleration ? I cant begin to imagine how much of a difference it would make to the os :rolleyes:
[G1 Android Development] NCommander:
Based on my understanding of the Android display system, the GPU acceleration is completely in kernel space, via accelerated writes to /dev/graphics/fb0; the issue with having 2D acceleration simply is using a kernel that properly supports it; using a 2.6.29 kernel like the one in the latest cyanogenmod should work (and does with eclair AOSP anyway)
[G1 Android Development] Daneshm90:
Ah k, cuz i had read this n i was confused :confused:
[G1 Android Development] jcarrz1:
actually, android scrolling is good. i have a new ipod touch, android scrolling is faster and just as smooth. except for wysie's contacts with the pictures, that is some laggy scrolling. really laggy.
[G1 Android Development] crunkcory:
Great progress, I could deal with no video recorder as long as ihave the camera working.
[G1 Android Development] gothicx:
Great Work!!!! :-D

Thx!
[G1 Android Development] blunden:
Great work. I always wondered how much work it would be to port it this way. Thanks for the informative post a few pages back too. Great read. :)
[G1 Android Development] :
How progress with camera works?
[G1 Android Development] th3k1d:
just a quick info if i didnt understand your post wrong.. but you managed to get the camera working.. i mean you can take pictures with it right? cant you release the current driver you made to us? i don't mind having only pictures.. it's a step forward at least!
[G1 Android Development] blueheeler:
I understand the official drivers can't be released yet. Fine.

But here's an idea ...

Why not send these hacked drivers to the devs that do have the official drivers. Let them take a look at the hacked ones, let them do a diff, and maybe they can at least tell you what changes need to be made to get your hacked drivers working?

At least they can send you back an output of diff and let you compare it. The output would be a total mess, but it should give you a clue as to what needs changing. And I don't believe that would violate anyone's trust whatsoever.
[G1 Android Development] th3k1d:
here's a great idea.. provided ofc the devs that have the drivers accept..!
[G1 Android Development] alapapa:
ya rly.

thx a ton for your work on this front & for your description of the subsys

cheers
[G1 Android Development] NCommander:
So looking at it some more, and fixing a few more bugs, it seems the problem ATM is that mediarecorder is crashing when it starts which may be related to the codec issue (I haven't looked at the codecs yet, but logcat isn't giving me anything beyond "start failed", and the code is kinda hard to follow where its failing).
[G1 Android Development] kingchris:
contact @cyanogen via Twitter. I think he can help u
[G1 Android Development] maxon25:
Hi, where can i fine this rom and does it need my card to be partitioned? i have 2gb card so what size partition would i need?.

Thanks
[G1 Android Development] :
Wrong thread:/
[G1 Android Development] maxon25:
Oh... sorry, my bad. can some one post a link to the latest 2.1 rom please, i have looked everywhere it seems.

thanks
[G1 Android Development] ivanmmj:
This isn't a ROM. Next time, please read the first post carefully.
[G1 Android Development] maxon25:
sorry.

cheers!