Chairshot215
Android Expert
OK as to not junk up Bsidz JB thread I just decided to start a new one. Basically the point behind the thread is that a little bit ago I decided to go on a get rid of the Portrait Mode Flicker mission, I admittedly did not know jack about it and for the most part just started throwing anything at it I could find. Surprisingly I did end up with a multitude of flicker free Roms. I also ended up with a multitude of Roms with poor camcorder video. At the time I wasn't expecting much and understood so little I figured if anything I may learn something if anything. I still have enough notes sloppy as they are to still for the most part reproduce the different things I had done so with this thread I am just going to compile each attempt and post the ROMs along with a logcat in hopes that either someone with more knowledge and experience can pick out something I'm missing or not understanding or that as I revisit each attempt with a little more knowledge gained and a fresh perspective may actually figure out what is going on. I will start posting the ROMs as they are compiled and have also decided to go with my earlier attempts first. Just in case I understand something this time around that could have helped in the later attempts. Have a bunch of other projects going on so will probably be slow moving.
Sorry but I always throw in my Starship theme when I compile my own Roms so for the most part its what you will see with most of them. Probably spent about 100 hours over 3 month on the theme so is kind of hard to let go.
Attempt A&B
What was done in this Rom was pretty simple. Had just started using Hex-ray and it seemed like what was going on is all the different files in the Vendor OMX list starting on line 103,
https://github.com/MTDEV-CM7/vendor/blob/cm7/motorola/triumph/triumph-vendor-blobs.mk
talk with "libOmxVdec.so" & "libOmxVenc.so" who talks with "libOmxCore.so". If this is the case the "libOmxVdec.so" & "libOmxVenc.so" we build from source probably wouldn't know about all the other Froyo libs added in making them all useless. What I did with this attempt is added in all the Omx libs from Sharp 2.3.5 including "libOmxVdec.so" & "libOmxVenc.so" we usually build from Source and built "libOmxCore.so" from source instead of copying in the Froyo Stock lib like has always been done. This alone did noticeably improve video playback quality, specifically color but not the flicker. I then changed "OMX.qcom.7x30.video.decoder." to "OMX.qcom.video.decoder." in hardware/qcom/media/libstagefright/stagefright_surface_output_msm7x30.cpp[FONT="]. [/FONT]After this WOW, video is amazing and the flicker is gone. Camcorder video on the other hand is extremely choppy. Rom B is the same as A but instead uses TJ Styles Camera Hardware code. Effect is the same but the log is a little different.
Video Test Rom A
Starship_Triumph_MTDEV_Class_Video_Test_A.zip
Video Test Rom A Log
http://www.mediafire.com/?s7b7w32rja9mj59
Video Test Rom B
http://www.mediafire.com/?2m368666fqy7axz
Video Test Rom B Log
http://www.mediafire.com/?2m368666fqy7axz
Ended the logs after recording and playing it back.
Attempt C&D
I stumbled upon this mostly by making a mistake. Originally when I jumped on board with G60 we had been using msm7k but reverted back eventually because the Camera was totally shot, if I remember correctly. Decided at some point to give msm7k another shot because besides the flicker, battery, gps and just about everything else seemed much improved. The screw up was is I just edited msm7k in place of msm7x30 in the board.config but did not make any other changes like in the Triumph.mk. After I flashed the Rom I only had a blank screen. I pulled up qtADB just so I could look over the files like in a file explorer and noticed “/system/lib/hw” had been practically empty. I then pushed the below files from Bsidz Sharp 2.3.5 backup and gave the reboot command. This time the Rom booted up like normal and the Camera appeared to have worked perfectly, that is until I took a video with the Camcorder and noticed the same effect with choppy video as in Attempts A&B. Not surprising as msm7k uses"OMX.qcom.video.decoder." by default. This still uses the files from Sharp 2.3.5 but checked with the files from other variants and they had all worked just the same. Would love to be able to make the msm7k change and had a bunch of additional ideas especially after identifying what files had been messing with the Camera originally because if the below files are compiled using the current source the camera does not work at all with msm7k and is what brought me to Code Aurora. The issue is probably coming from just one of the files but if one of the files from the list is used it wont boot unless the other files on the list are added in from the same Rom and had not done much research into trying to figure it out. If only we had an MTDEV Delorean and [FONT="]1.21 gigawatts to spare.[/FONT]
overlay.default.so
gralloc.default.so
gralloc.msm7k.so
liboverlay.so
Like A&B the difference is Rom C uses the current Camera hardware & Rom D uses TJ Styles code.
Video Test Rom C
http://www.mediafire.com/?ro7vjjj0zj22juc
Video Test Rom C Log
http://www.mediafire.com/?e5b9lkbccpdsvcp
Video Test Rom D
http://www.mediafire.com/?0qcw3ym89vpo0ww
Video Test Rom D Log
http://www.mediafire.com/?pa70agib3jfjioc
Ended the logs after recording and playing it back.
Sorry but I always throw in my Starship theme when I compile my own Roms so for the most part its what you will see with most of them. Probably spent about 100 hours over 3 month on the theme so is kind of hard to let go.
Attempt A&B
What was done in this Rom was pretty simple. Had just started using Hex-ray and it seemed like what was going on is all the different files in the Vendor OMX list starting on line 103,
https://github.com/MTDEV-CM7/vendor/blob/cm7/motorola/triumph/triumph-vendor-blobs.mk
talk with "libOmxVdec.so" & "libOmxVenc.so" who talks with "libOmxCore.so". If this is the case the "libOmxVdec.so" & "libOmxVenc.so" we build from source probably wouldn't know about all the other Froyo libs added in making them all useless. What I did with this attempt is added in all the Omx libs from Sharp 2.3.5 including "libOmxVdec.so" & "libOmxVenc.so" we usually build from Source and built "libOmxCore.so" from source instead of copying in the Froyo Stock lib like has always been done. This alone did noticeably improve video playback quality, specifically color but not the flicker. I then changed "OMX.qcom.7x30.video.decoder." to "OMX.qcom.video.decoder." in hardware/qcom/media/libstagefright/stagefright_surface_output_msm7x30.cpp[FONT="]. [/FONT]After this WOW, video is amazing and the flicker is gone. Camcorder video on the other hand is extremely choppy. Rom B is the same as A but instead uses TJ Styles Camera Hardware code. Effect is the same but the log is a little different.
Video Test Rom A
Starship_Triumph_MTDEV_Class_Video_Test_A.zip
Video Test Rom A Log
http://www.mediafire.com/?s7b7w32rja9mj59
Video Test Rom B
http://www.mediafire.com/?2m368666fqy7axz
Video Test Rom B Log
http://www.mediafire.com/?2m368666fqy7axz
Ended the logs after recording and playing it back.
Attempt C&D
I stumbled upon this mostly by making a mistake. Originally when I jumped on board with G60 we had been using msm7k but reverted back eventually because the Camera was totally shot, if I remember correctly. Decided at some point to give msm7k another shot because besides the flicker, battery, gps and just about everything else seemed much improved. The screw up was is I just edited msm7k in place of msm7x30 in the board.config but did not make any other changes like in the Triumph.mk. After I flashed the Rom I only had a blank screen. I pulled up qtADB just so I could look over the files like in a file explorer and noticed “/system/lib/hw” had been practically empty. I then pushed the below files from Bsidz Sharp 2.3.5 backup and gave the reboot command. This time the Rom booted up like normal and the Camera appeared to have worked perfectly, that is until I took a video with the Camcorder and noticed the same effect with choppy video as in Attempts A&B. Not surprising as msm7k uses"OMX.qcom.video.decoder." by default. This still uses the files from Sharp 2.3.5 but checked with the files from other variants and they had all worked just the same. Would love to be able to make the msm7k change and had a bunch of additional ideas especially after identifying what files had been messing with the Camera originally because if the below files are compiled using the current source the camera does not work at all with msm7k and is what brought me to Code Aurora. The issue is probably coming from just one of the files but if one of the files from the list is used it wont boot unless the other files on the list are added in from the same Rom and had not done much research into trying to figure it out. If only we had an MTDEV Delorean and [FONT="]1.21 gigawatts to spare.[/FONT]
overlay.default.so
gralloc.default.so
gralloc.msm7k.so
liboverlay.so
Like A&B the difference is Rom C uses the current Camera hardware & Rom D uses TJ Styles code.
Video Test Rom C
http://www.mediafire.com/?ro7vjjj0zj22juc
Video Test Rom C Log
http://www.mediafire.com/?e5b9lkbccpdsvcp
Video Test Rom D
http://www.mediafire.com/?0qcw3ym89vpo0ww
Video Test Rom D Log
http://www.mediafire.com/?pa70agib3jfjioc
Ended the logs after recording and playing it back.