Jump to content

Petition for Samsung NX1 hack


kidzrevil
 Share

Recommended Posts

On February 28, 2016 at 5:12 PM, kadajawi said:

The NX1 is already a very advanced camera, and, sadly enough, there won't be successor the hacks can be ported to.

IMHO Pentax is a more worthwhile target. They have a FF sensor for the price of a NX1. They use the same processors Nikon uses, so raw video seems to be a possibility. Add the fact that their higher end cameras feature 2 SD slots, dramatically increasing write speed...? And that they have a very efficient SR system that just needs to be enabled during video? And lets not forget the headphone jack. There's plenty of potential for massive improvements that could turn their cameras into serious tools. Plus they will continue to release cameras based on these processors, so it isn't a dead end. And there are many beautiful primes for the system.

Though I must admit the NX1 looks like it is pretty easy to hack. wow. Now THAT is user friendly :D

I respect your forward thinking but please lets keep this strictly about the nx1. THANK YOU! :-D

On February 26, 2016 at 8:20 AM, Otto K said:

Hi,

A nice breakthrough in hacking NX500 (and possibly NX1 - could someone try and report back?).

So, TLDR version first: I'm able to run a shell script off the SD card without hacking the firmware (and some other stuff). This is just a very modest start, now we need to do everything else. That said, this is a useful start as we can now play around without bricking cameras.

That was the moderately good news, the moderately bad news is that I'm absolutely swamped by work related stuff next few weeks.

Now for longer version:

First a small "hack": If you want to take a screenshot of your camera screen put a file named save_screen_enable.txt in the SD card root and every time you press EV+OK a file named OSD####.jpg will be saved to SD card root. save_screen_enable.txt will contain the integer of next image id (as bytes, not text).

Another small "hack": If you want to see how all the popups and notices look in all the languages (for any reson) put a file named qa.txt in the root of the SD card. When you power the camera on you will see a popup menu that enables you to access all the popups, etc, in camera (press up and down to change them, left and right to change the language). It's meant for quality assurance staff, but here it is.

If you like scrolling through the popups - that's fine. Even better is that the camera app crashes on popup 188 (of 189, go figure) and produces a lot of detailed logs on the SD card. These logs are named timestamp_{log,a7_log,a9_crash,a9_dlog,a9_dmesg}.info

If you take your sweet time analyzing these logs you will find that NX500 does not boot all that often - it hibernates and then wakes up when you power the camera on - cute - that's how it starts up in one second :)

Also, some RAM information: Total RAM is 512MB, reserved (buffer?) is 380MB. It fits nicely with known buffer limitations. It also means it's very very difficult to extend it to anything larger (maybe by eliminating allshare app or similar but that would give us a frame or two in RAW at best - hardly worth it).

How to run a shell script file:
1. Put file named "info.tg" on the SD card root with contents "nx_cs.adj" and a newline
2. Put file named "nx_cs.adj" (can use something else really) on the SD card root and put "shell script /mnt/mmc/test.sh" and a newline in it
3. Put file named "test.sh" (or whatever you put up there) on SD card root and put whatever bash shell commands you want to in it. Word of caution - it's easy to make a mistake - start small and work carefully
4. Put SD card in camera
5. Camera to AUTO mode (IIRC it works in any mode but whatever, it's in AUTO in the Service Manual)
6. Power on the camera and wait a bit (or a lot, it seems it's quite lazy with closing files and syncing, might do it for it by calling "sync" at the end)
7. Power the camera off (and wait for blinking light to stop blinking if it's blinking)

For example, if you put following in test.sh

st > /mnt/mmc/test

This is what you get on the output:

usage: st [command] [param]
Supported bult-in commands
    help        readl        writel        dump    
    gpio        hdmi        log        lcd    
    cap        pmu        clk        thread    
    key        firmware    util        app    
    leak        devman        stlcd        bat    
    rtc        tbm        micom        misc    
    oic        dvfs        adc    

I put a "ls -laR / > /mnt/mmc/test" and it did list the whole filesystem including /proc /sys /dev etc. And /etc ;) tar also works.

I can see for example that every time process id 247 is given to /usr/apps/com.samsung.di-camera-app/bin/di-camera-app and it runs under root (almost everything does), dfmsd (that's the deamon that interprets commands in nx_cs.adj file that are read and sent by dfmstool - I will have to see what else I can do with it), /usr/apps/com.samsung.ap-setting-app/bin/ap-setting-app running with some access keys or hashed caller PIDs, etc, the works.

Only two modules are loaded (exfat_fs and exfat_core) but I guess we could compile anything we need and enable it in the future (usb audio anybody?).

That's it for now (and some time).

Oh, yeah, the touch screen does not work with info.tg or info.tgw present on the SD card.

Cheers,
Otto

Good start ! Sounds promising 

Link to comment
Share on other sites

A simple script/hack (if possible) would be a script that runs when you boot the NX1/500 that would check to see if there is an external USB storage device(e.g. portable hard drive) and if there is one plugged in it would back-up all the files from the SD card onto the hard drive. I travel and climb alot and would like the ability to back-up my videos for redundancy on the go without needing to bring a laptop.

The stumbling block with this is from what I have read you need a USB OTG port witch I cannot find anywhere saying that the USB port on the NX1/500 is an OTG port.

But you got to admit if it were possible this would be an easy script to write(relatively) and would be quite useful.

 

P.S. I have been following this progress quite closely and applaud everyone's hard work. It is only a matter of time before more people get wind of how great these cameras are and how easy they are to hack and the fact you can get an NX500 kit for $799 USD new without any discounts.... oh man

Link to comment
Share on other sites

We need to disable the noise reduction in video, its killing me inside literally. You know its sad when the Panasonic FZ-1000 has better noise grain in 4k video than the NX1 which is just muffled mosquito noise, I had a look but could not find anything. Does anyone have any idea? 

I know the HEVC codec deals with fine grain texture poorly specially in my personal tests from converting Blu-Ray films to HEVC. 

But the NX1 has a nasty noise reduction in video which you cannot turn off and quite frankly its destroying details very badly. 

Link to comment
Share on other sites

34 minutes ago, SMGJohn said:

We need to disable the noise reduction in video, its killing me inside literally. You know its sad when the Panasonic FZ-1000 has better noise grain in 4k video than the NX1 which is just muffled mosquito noise, I had a look but could not find anything. Does anyone have any idea? 

I know the HEVC codec deals with fine grain texture poorly specially in my personal tests from converting Blu-Ray films to HEVC. 

But the NX1 has a nasty noise reduction in video which you cannot turn off and quite frankly its destroying details very badly. 

I am not sure if it is really noise reduction what we see in 4K (I wish it would be and we could turn it OFF). Just take a look on the 1080p 60fps and especially 120fps - anything above ISO 400/200 looks bad with very high noise reduction applied... and these are really low ISOs without actually any noise. So maybe it is same for 4K just with higher ISO... Also maybe 80mbit/s H265 is not enough to render noise grain,... so (at least 2x) higher bitrate could help.

Link to comment
Share on other sites

1 minute ago, Pavel Mašek said:

I am not sure if it is really noise reduction what we see in 4K (I wish it would be and we could turn it OFF). Just take a look on the 1080p 60fps and especially 120fps - anything above ISO 400/200 looks very bad with very high noise reduction applied... and these are really low ISO without actually any noise. So maybe it is same for 4K just with higher ISO... Also maybe 80mbit/s H265 is not enough to render noise grain,... so (at least 2x) higher bitrate could help.

Yes, I am not sure what it is but its not the codec because I have tested the HEVC codec multiple times it only washes out some of the fine grain in flat areas with no details to begin with in order to save bitrate, there is definitely some form of noise reduction in the video mode being applied, the noise reduction you you can turn on and off is generally just for photography but even then its not turned off completely. 

It really annoys me when I see a super cheap "(/#%#/# one inch sensor bridge camera have better noise grains than my NX1 and I actually just noticed it now that I shot on a FZ-1000 and compared it to the NX1 for fun, I noticed way more details in the darker areas on the FZ-1000 thanks to the 100mbps H264 codec Panasonic uses.

Panasonic has way more experience in video of course but it should not be an excuse for Samsung to force noise reduction in video on us like this. I like the video image so much, the APS sensor is perfect but if I loose details in dark areas on ISO of 400 in 4k, its not good enough and both cameras were underexposed by one or two stops. 

Link to comment
Share on other sites

2 hours ago, SMGJohn said:

We need to disable the noise reduction in video, its killing me inside literally. You know its sad when the Panasonic FZ-1000 has better noise grain in 4k video than the NX1 which is just muffled mosquito noise, I had a look but could not find anything. Does anyone have any idea? 

I know the HEVC codec deals with fine grain texture poorly specially in my personal tests from converting Blu-Ray films to HEVC. 

But the NX1 has a nasty noise reduction in video which you cannot turn off and quite frankly its destroying details very badly. 

Its either h.265 or in camera noise reduction at work and you are right it is terrible. Its a catch 22 working with this camera : shoot with a sharp lens like a zeiss and you can retain more true detail and the noise reduction doesnt look AS bad but risk macroblocking due to the low bitrate, shoot with a soft lens and the camera jacks up in camera sharpening and you still have to deal with the noise reduction. I've been adding grain in post and the image looks much better but....how it looks on the web is a whole other story...

Link to comment
Share on other sites

15 hours ago, kidzrevil said:

Could be. It IS downscaling from a 6.5k sensor instead of doing a 1:1 crop of the sensor. Could be how it downscales

I think the GH3 used to have this banding issue...and I guess it was the just sensor.

Link to comment
Share on other sites

2 hours ago, sandro said:

I think the GH3 used to have this banding issue...and I guess it was the just sensor.

If I remember correctly from working with GH3 footage the banding was nowhere near as bad as on the Samsung NX1 of course Samsung fixed a lot of the shitty colour bleeding and terrible banding issues with the newest firmwares but the banding still persists, its there if you pay attention and you definitely will see it when you work with the files.

I can apply the LOG profile from EOSHD to the NX1 footage with the proper settings in place, if I push colours too much I see banding, I have some GH4 footage I shot before I sold it duo to the low light performance being unsatisfying, I can push the colours quite extreme without seeing any form of banding, even in the 1080p footage. Obviously the NX1 has way better colour range than the GH4 with Cine-D and I sadly its almost a year and half since I sold the GH4 and back then we had no idea there was an actual LOG profile coming for it at all, not even the news about the beta LOG being worked at. 

Its pretty clear its the HEVC codec doing it, I have reproduced some of the nastiness of the HEVC by using clean high bit depth images with gradients applied and noise in sections to see what the codec does to it, indeed the codec does cause banding at 8bit output, it also smoothens out noise in low detailed areas, I further checked with a still picture shot at 1600 ISO with some fine grains, again I see the same the codec smoothens out the flat areas, in high detailed areas it leaves but every area that has no details the codec smooths out, the earlier versions of HEVC were terrible at detecting detailed areas its gotten better. I will just assume here the NX1 uses the earlier version of the HEVC codec because its clearly destroying details in out of focus dark areas were the codec is struggling to detect details. It gets worse when you lower the video bitrate as well of course the in-camera noise reduction in video does not help at all just makes the issue far worse than it should be. 
Its managable but if we can turn off noise reduction in video, that would be a life saver for all of us because many of us does not have the luxury of light to shoot one or two stops over. Some of us are forced to shot stops under, its either that or very high ISO and we all know what happens then... 

Link to comment
Share on other sites

34 minutes ago, SMGJohn said:

If I remember correctly from working with GH3 footage the banding was nowhere near as bad as on the Samsung NX1 of course Samsung fixed a lot of the shitty colour bleeding and terrible banding issues with the newest firmwares but the banding still persists, its there if you pay attention and you definitely will see it when you work with the files.

I can apply the LOG profile from EOSHD to the NX1 footage with the proper settings in place, if I push colours too much I see banding, I have some GH4 footage I shot before I sold it duo to the low light performance being unsatisfying, I can push the colours quite extreme without seeing any form of banding, even in the 1080p footage. Obviously the NX1 has way better colour range than the GH4 with Cine-D and I sadly its almost a year and half since I sold the GH4 and back then we had no idea there was an actual LOG profile coming for it at all, not even the news about the beta LOG being worked at. 

Its pretty clear its the HEVC codec doing it, I have reproduced some of the nastiness of the HEVC by using clean high bit depth images with gradients applied and noise in sections to see what the codec does to it, indeed the codec does cause banding at 8bit output, it also smoothens out noise in low detailed areas, I further checked with a still picture shot at 1600 ISO with some fine grains, again I see the same the codec smoothens out the flat areas, in high detailed areas it leaves but every area that has no details the codec smooths out, the earlier versions of HEVC were terrible at detecting detailed areas its gotten better. I will just assume here the NX1 uses the earlier version of the HEVC codec because its clearly destroying details in out of focus dark areas were the codec is struggling to detect details. It gets worse when you lower the video bitrate as well of course the in-camera noise reduction in video does not help at all just makes the issue far worse than it should be. 
Its managable but if we can turn off noise reduction in video, that would be a life saver for all of us because many of us does not have the luxury of light to shoot one or two stops over. Some of us are forced to shot stops under, its either that or very high ISO and we all know what happens then... 

I agree with pretty much all of this especially turning off the NR. But then I just think... I got this camera for $2,200 CAD with the 16-50S lens almost a year ago. Sure when compared to a $3,000 USD body only FF camera doesn't win but it still competes quite well.

I think my point is we should not nit pick the IQ of the NX1 too much but I am definitely all for turning off that annoying NR.

 

With regards to bit rate does it make sense for samsung to handicap the bit rate in the NX1? I mean the NR makes sense because they want to give us the best picture straight from the card witch doesn't necessarily give you the best picture possible but if the bit rate is adjustable i would think samsung  did some testing to determine the optimal bit rate.

For that reason I am trying to focus on encouraging the addition of "new" features that samsung never developed and/or implemented or removing features like NR or time limit that were implemented for various reasons none of witch include any of our semi professional needs.

Link to comment
Share on other sites

1 hour ago, SMGJohn said:

If I remember correctly from working with GH3 footage the banding was nowhere near as bad as on the Samsung NX1 of course Samsung fixed a lot of the shitty colour bleeding and terrible banding issues with the newest firmwares but the banding still persists, its there if you pay attention and you definitely will see it when you work with the files.

I can apply the LOG profile from EOSHD to the NX1 footage with the proper settings in place, if I push colours too much I see banding, I have some GH4 footage I shot before I sold it duo to the low light performance being unsatisfying, I can push the colours quite extreme without seeing any form of banding, even in the 1080p footage. Obviously the NX1 has way better colour range than the GH4 with Cine-D and I sadly its almost a year and half since I sold the GH4 and back then we had no idea there was an actual LOG profile coming for it at all, not even the news about the beta LOG being worked at. 

Its pretty clear its the HEVC codec doing it, I have reproduced some of the nastiness of the HEVC by using clean high bit depth images with gradients applied and noise in sections to see what the codec does to it, indeed the codec does cause banding at 8bit output, it also smoothens out noise in low detailed areas, I further checked with a still picture shot at 1600 ISO with some fine grains, again I see the same the codec smoothens out the flat areas, in high detailed areas it leaves but every area that has no details the codec smooths out, the earlier versions of HEVC were terrible at detecting detailed areas its gotten better. I will just assume here the NX1 uses the earlier version of the HEVC codec because its clearly destroying details in out of focus dark areas were the codec is struggling to detect details. It gets worse when you lower the video bitrate as well of course the in-camera noise reduction in video does not help at all just makes the issue far worse than it should be. 
Its managable but if we can turn off noise reduction in video, that would be a life saver for all of us because many of us does not have the luxury of light to shoot one or two stops over. Some of us are forced to shot stops under, its either that or very high ISO and we all know what happens then... 

I'm not sure we're talking about the same thing. You may be referring to the banding in colors due to compression? I'm talking about the blue bands you get at high ISO, from 3200.

Link to comment
Share on other sites

58 minutes ago, MountneerMan said:

I agree with pretty much all of this especially turning off the NR. But then I just think... I got this camera for $2,200 CAD with the 16-50S lens almost a year ago. Sure when compared to a $3,000 USD body only FF camera doesn't win but it still competes quite well.

I think my point is we should not nit pick the IQ of the NX1 too much but I am definitely all for turning off that annoying NR.

 

With regards to bit rate does it make sense for samsung to handicap the bit rate in the NX1? I mean the NR makes sense because they want to give us the best picture straight from the card witch doesn't necessarily give you the best picture possible but if the bit rate is adjustable i would think samsung  did some testing to determine the optimal bit rate.

For that reason I am trying to focus on encouraging the addition of "new" features that samsung never developed and/or implemented or removing features like NR or time limit that were implemented for various reasons none of witch include any of our semi professional needs.

Samsung capped the bit rate so you can pop the sd card into their tv's and watch it. They capped it to the max their tv's can handle. The nx1 is pretty much optimized for their displays

1 hour ago, SMGJohn said:

If I remember correctly from working with GH3 footage the banding was nowhere near as bad as on the Samsung NX1 of course Samsung fixed a lot of the shitty colour bleeding and terrible banding issues with the newest firmwares but the banding still persists, its there if you pay attention and you definitely will see it when you work with the files.

I can apply the LOG profile from EOSHD to the NX1 footage with the proper settings in place, if I push colours too much I see banding, I have some GH4 footage I shot before I sold it duo to the low light performance being unsatisfying, I can push the colours quite extreme without seeing any form of banding, even in the 1080p footage. Obviously the NX1 has way better colour range than the GH4 with Cine-D and I sadly its almost a year and half since I sold the GH4 and back then we had no idea there was an actual LOG profile coming for it at all, not even the news about the beta LOG being worked at. 

Its pretty clear its the HEVC codec doing it, I have reproduced some of the nastiness of the HEVC by using clean high bit depth images with gradients applied and noise in sections to see what the codec does to it, indeed the codec does cause banding at 8bit output, it also smoothens out noise in low detailed areas, I further checked with a still picture shot at 1600 ISO with some fine grains, again I see the same the codec smoothens out the flat areas, in high detailed areas it leaves but every area that has no details the codec smooths out, the earlier versions of HEVC were terrible at detecting detailed areas its gotten better. I will just assume here the NX1 uses the earlier version of the HEVC codec because its clearly destroying details in out of focus dark areas were the codec is struggling to detect details. It gets worse when you lower the video bitrate as well of course the in-camera noise reduction in video does not help at all just makes the issue far worse than it should be. 
Its managable but if we can turn off noise reduction in video, that would be a life saver for all of us because many of us does not have the luxury of light to shoot one or two stops over. Some of us are forced to shot stops under, its either that or very high ISO and we all know what happens then... 

You are on the money ! Again all we can do is add grain in post to compensate for h.265 agressive compression (of fine details). An increase in bit rate will probably benefit the image a lot more than then noise reduction is concerned but any of the two is more than welcome in my book. The NR and h.265 has made the rendering characteristics of my older lenses look plain ugly in out of focus areas when shooting video. Had to give em up for lenses designed for digital which the camera is obviously optimized for. Real love hate relationship with the nx1, alot of what i hate can be fixed with a hack

Link to comment
Share on other sites

2 hours ago, kidzrevil said:

Samsung capped the bit rate so you can pop the sd card into their tv's and watch it. They capped it to the max their tv's can handle. The nx1 is pretty much optimized for their displays

 

This is interesting I didn't know this and never thought about it. Has this been confirm by either Samsung or by trying to run higher bit rate HEVC video through a samsung TV? I mean it would make sense not to allow a bitrate that their TV's cant run because that would make both products look bad.

This makes me excited for possible higher bit rate. 

Link to comment
Share on other sites

Not sure banding will be fixed by a higher bit rate, and I'm not entirely sure it's the codec. Having shot 90% of my footage out to a shogun using proresHQ or dnxhr banding is still terrible when the image starts too flat. Conversely on the a7s with slog2 to the Shogun I could push and pull all I wanted and that little 8bit codec did just fine.

My guess is that we are seeing the limits of 420, and that hdmi out is unfortunately not 422

Higher bit rate certainly doesn't hurt the image though, it's a good bit more detailed.

Link to comment
Share on other sites

For anyone who has not seen the effect for themselves - doubling the bit-rate will blow you away. 

The Panasonic GH2 had even more issues with the image quality than the NX1 does, and with the 150mbps hack the difference is HUGE.
EVERYTHING is better and all the problems of mush in the image and macro-blocking and colors breaking up all just vanished.

Really the only reason I don't use my GH2's as 'A' cameras is because their older design has less dynamic range...maybe 9-stops. 9.5 if your exposure is absolutely perfect.

If we were to double the bit-rate on the NX1 even the Noise Reduction and Sharpening would be FAR less of a problem because they would both be working with so much more image data.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...