Jump to content

Petition for Samsung NX1 hack


kidzrevil
 Share

Recommended Posts

EOSHD Pro Color 5 for Sony cameras EOSHD Z LOG for Nikon CamerasEOSHD C-LOG and Film Profiles for All Canon DSLRs

for those interested there is a nx500 + kit lens + 30mm f2 used for $456 (don't bid too high if you are not in a hurry because nx500+ kit lens new is sometime as low as $499 and the 30m f2 can be found new at $160) http://www.ebay.com/itm/Samsung-NX500-28-2-MP-Digital-Camera-Black-w-16-50mm-PZ-and-30mm-F-2-Lenses-/191838552932

On 3/18/2016 at 3:45 PM, vaga said:

@amanieux brings up an interesting question: If the 2560*1440 is downsampled from the entire sensor, shouldn't it take less work for the proessor do downsample to 4k instead? In which case, full sensor 4k may be possible. Otherwise, if 2560*1440 is lineskipping, is there any moire? Is there a way to lineskip 4k on the entire sensor?

no it takes more computations and more memory bandwidth to down-sample to 4k (down-sampling to 1440p only takes 2560*1440 pixel mix operations (something like a 3x3 matrix convolution) + 2560*1440 pixel writes ) - and my guess is that the bottleneck is memory bandwidth and not the cpu.

Link to comment
Share on other sites

Some things related to hacking and video modes. Based on examining /sys/devices/platform/drime5-pmu.1/ during operation. This is a power management unit (it shuts down blocks that are not currently used - a very definite source for what's being used when):

During MJPEG block called mp is used (also in video preview)

During HEVC block called hevc is used, but mp as well (also in video preview)

Block called srp is used only during SAS mode, not during video :(

Block called pp is always used and I have a hunch (just a hunch) that noise removal is included in it (same name in various places during any image processing, memory allocatin, etc, even just for displaying)

This strongly suggests that both hevc and jpeg are done in dedicated hardware, not something that can be easily changed (but migh accept various parameters, etc).

Link to comment
Share on other sites

1 hour ago, Otto K said:

Some things related to hacking and video modes. Based on examining /sys/devices/platform/drime5-pmu.1/ during operation. This is a power management unit (it shuts down blocks that are not currently used - a very definite source for what's being used when):

During MJPEG block called mp is used (also in video preview)

During HEVC block called hevc is used, but mp as well (also in video preview)

Block called srp is used only during SAS mode, not during video :(

Block called pp is always used and I have a hunch (just a hunch) that noise removal is included in it (same name in various places during any image processing, memory allocatin, etc, even just for displaying)

This strongly suggests that both hevc and jpeg are done in dedicated hardware, not something that can be easily changed (but migh accept various parameters, etc).

Nice! That's some of the first hard evidence we have about what's going on under the hood.

Sounds like my pessimistic guess about the SRP was probably right. It makes the most sense for it to be used for what Samsung doesn't already have a more efficient IP block for (like SAS).

I kind of wish that I, too, had a Samsung camera to play with. I spent most of spring break investigating my NEX 5t, but Sony goes to great lengths to keep people out of their products (at least compared to Samsung), which makes them no fun to work with.

Link to comment
Share on other sites

28 minutes ago, hirsti said:

Found a way to commit changes made with the st commands and prefman, just do a prefman save, see this link to see how I switch between 4K with DIS on to 1080p @ 120fps with DIS off via shortcut keys.

http://***URL removed***/forums/post/57551639

This is excellent. Thank you so much this is what we were talking about. any luck with changing the shutter speed as well? From what I understand the st command can do this.

Link to comment
Share on other sites

33 minutes ago, MountneerMan said:

This is excellent. Thank you so much this is what we were talking about. any luck with changing the shutter speed as well? From what I understand the st command can do this.

Yes you can use the same method.

For shutter speed the offset is 0x00000310 on the NX1 which is "0x00000310    0004    APPPREF_SHUTTER_SPEED_INDEX"
so to set the shutter speed to 1/100th you type the following:

prefman set 0 0x00000310 l 107
prefman save

the 107 value was obtained by manually setting the shutter speed and then doing a

prefman get 0 0x00000310 l

I have tested it and it works.

 

 

Link to comment
Share on other sites

What would happen if we set a value, that is not supported? Like for movie mode, where you have set it to 0 (4k) or 4 (120p), but instead set it to for example 8, which just doesn't mean anything? If it is ok, we could find some hidden options.

Link to comment
Share on other sites

Just now, ReinisK said:

What would happen if we set a value, that is not supported? Like for movie mode, where you have set it to 0 (4k) or 4 (120p), but instead set it to for example 8, which just doesn't mean anything? If it is ok, we could find some hidden options.

If you set an invalid option it does not change and stays its current value. Some settings can be set this way whilst not in the menu, like e-shutter on non nx lenses

Link to comment
Share on other sites

Ok, someone asked if you could change between NTSC and PAL and also change vid mode and shutter speed.

They requested an option to switch between NTSC/4K@25fps/1/50 shutter and PAL/1080@120fps/1/250 shutter speed with DIS disabled.

So for NTSC/4K@25fps/1/50 shutter enter the following into a corresponding key .sh file:

------------------------------------------------------------------------------------------------

prefman set 0 0x00000260 l 1
prefman set 0 0x00000330 l 1
prefman set 0 0x00000310 l 91
prefman save
-----------------------------------------------------------------------------------------------

and for PAL/1080@120fps/1/250 shutter speed with DIS disabled enter the following into a corresponding .sh file

------------------------------------------------------------------------------------------------
prefman set 0 0x00000260 l 0
prefman set 0 0x000006a4 l 0
prefman set 0 0x00000330 l 4
prefman set 0 0x00000310 l 128
prefman save
------------------------------------------------------------------------------------------------

0x00000260 is APPPREF_VIDEO_OUT and sets the TV Output, 0 is PAL and 1 is NTSC
0x00000330 is APPPREF_MOV_SIZE and sets the Movie Size dependent on the TV output, so in PAL mode 1 is UHD@25fps and in NTSC mode 4 is 1080@120fps
0x000006a4 is APPPREF_MOV_DIS and sest DIS on or off, 0 is off and 1 is on
0x00000310 is APPPREF_SHUTTER_SPEED_INDEX and sets the shutter speed 91 is 1/50th and 128 is 1/250th

I have tested this on the NX1 and it works ok.  This doesn't currently work on the NX500, it looks like one of the options is missing on the NX500 when it does a prefman save and as such it does not refresh the menu's

Link to comment
Share on other sites

5 hours ago, hirsti said:

Yes you can use the same method.

For shutter speed the offset is 0x00000310 on the NX1 which is "0x00000310    0004    APPPREF_SHUTTER_SPEED_INDEX"
so to set the shutter speed to 1/100th you type the following:

prefman set 0 0x00000310 l 107
prefman save

the 107 value was obtained by manually setting the shutter speed and then doing a

prefman get 0 0x00000310 l

I have tested it and it works.

Could you please help me out? If you can't help me that is ok, I will just play around with it later this week when I have time but if you could it would be great as I am sure what you could do in 5 mins would take me 3 hours to figure out lol. Does the last three lines make sense and will it work? I am just piecing things together from what I have seen and really have no idea what I am doing.

 

EV_RIGHT.sh

prefman set 0 0x00000330 l 2
prefman set 0 0x00000310 l 91
prefman save
dfmstool -s 'osd string 7 UHD 24p'
sleep 3
killall dfmsd

 

EV_LEFT.sh

prefman set 0 0x00000330 l 4
prefman set 0 0x00000310 l 128
prefman save
dfmstool -s 'osd string 7 FHD 120p'
sleep 3
killall dfmsd

 

Also is there a command to put the camera into video stand-by?

Link to comment
Share on other sites

7 hours ago, MountneerMan said:

Could you please help me out? If you can't help me that is ok, I will just play around with it later this week when I have time but if you could it would be great as I am sure what you could do in 5 mins would take me 3 hours to figure out lol. Does the last three lines make sense and will it work? I am just piecing things together from what I have seen and really have no idea what I am doing.

 

EV_RIGHT.sh

prefman set 0 0x00000330 l 2
prefman set 0 0x00000310 l 91
prefman save
dfmstool -s 'osd string 7 UHD 24p'
sleep 3
killall dfmsd

 

EV_LEFT.sh

prefman set 0 0x00000330 l 4
prefman set 0 0x00000310 l 128
prefman save
dfmstool -s 'osd string 7 FHD 120p'
sleep 3
killall dfmsd

 

Also is there a command to put the camera into video stand-by?

I don't know if anything after the Prefman save would work as it does a reboot but I will try later today.

Yes you should be able to put it into video standby, one of the St commands works, I can't remember off the top of my head, will look it up.

Link to comment
Share on other sites

2 hours ago, hirsti said:

I don't know if anything after the Prefman save would work as it does a reboot but I will try later today.

Yes you should be able to put it into video standby, one of the St commands works, I can't remember off the top of my head, will look it up.

Tested this and it doesn't work, anything after the prefman save doesn't get executed.

I think what happens is that the prefman save on the NX1 causes the camera to crash/reboot which causes an update of the menu system.
This means that once you have done the prefman save then that is the end of the effected changes you can make.
You could however set the on screen text and put a sleep in then do the changes ending in a prefman save.  The only problem is the text will only stay on the screen until the reboot happens.

Link to comment
Share on other sites

13 hours ago, hirsti said:

Ok, someone asked if you could change between NTSC and PAL and also change vid mode and shutter speed.

They requested an option to switch between NTSC/4K@25fps/1/50 shutter and PAL/1080@120fps/1/250 shutter speed with DIS disabled.

So for NTSC/4K@25fps/1/50 shutter enter the following into a corresponding key .sh file:

------------------------------------------------------------------------------------------------

prefman set 0 0x00000260 l 1
prefman set 0 0x00000330 l 1
prefman set 0 0x00000310 l 91
prefman save
-----------------------------------------------------------------------------------------------

and for PAL/1080@120fps/1/250 shutter speed with DIS disabled enter the following into a corresponding .sh file

------------------------------------------------------------------------------------------------
prefman set 0 0x00000260 l 0
prefman set 0 0x000006a4 l 0
prefman set 0 0x00000330 l 4
prefman set 0 0x00000310 l 128
prefman save
------------------------------------------------------------------------------------------------

0x00000260 is APPPREF_VIDEO_OUT and sets the TV Output, 0 is PAL and 1 is NTSC
0x00000330 is APPPREF_MOV_SIZE and sets the Movie Size dependent on the TV output, so in PAL mode 1 is UHD@25fps and in NTSC mode 4 is 1080@120fps
0x000006a4 is APPPREF_MOV_DIS and sest DIS on or off, 0 is off and 1 is on
0x00000310 is APPPREF_SHUTTER_SPEED_INDEX and sets the shutter speed 91 is 1/50th and 128 is 1/250th

I have tested this on the NX1 and it works ok.  This doesn't currently work on the NX500, it looks like one of the options is missing on the NX500 when it does a prefman save and as such it does not refresh the menu's

There is now a workaround for NX500 users, by simulating going to preview and back it updates the menu.

This can also be used on the NX1 which will allow for further instructions to be done after the menu refresh, like text on the screen.

Here is the link to the details - http://***URL removed***/forums/post/57556055

Link to comment
Share on other sites

Collection of small utilities for bash scripting added to github repo:

popup_timeout ["text message"] [timeout_in_seconds] - displays a popup message for a given number of seconds

popup_ok [message] [ok label] [cancel label] - displays a OK / Cancel dialog, returns 0 if OK, 255 if Cancel

popup_entry [message] [OK label] [cancel label] [sample entry] - displays an entry box with OK/Cancel buttons and prefilled sample text, returns entered text and 0 code for OK or just 255 for cancel.

Link to comment
Share on other sites

Has anyone tried to plug an external USB drive directly into the camera and mount it using telnet? I cannot find anywhere if the USB 3.0 on the NX1 is an OTG port.

I was planning on going to pick up a micro USB 3.0 to female type A and play around with it but if someone already has the required cables and knows more about Linux than me this would be alot faster. I would just be googling commands from the internet https://www.google.ca/search?q=how+to+mount+a+usb+hard+drive+in+linux&oq=how+to+mount+a+usb+hard+drive+in+linux&aqs=chrome.0.69i59l2.1280j0j7&sourceid=chrome&ie=UTF-8

 

The intended purpose would be for a program that would back-up all the contents of the SD card to an external drive. This would allow us to back-up our videos(a must with only 1 SD slot) without bringing a laptop to every outing.

Link to comment
Share on other sites

2 hours ago, MountneerMan said:

Has anyone tried to plug an external USB drive directly into the camera and mount it using telnet? I cannot find anywhere if the USB 3.0 on the NX1 is an OTG port.

I was planning on going to pick up a micro USB 3.0 to female type A and play around with it but if someone already has the required cables and knows more about Linux than me this would be alot faster. I would just be googling commands from the internet https://www.google.ca/search?q=how+to+mount+a+usb+hard+drive+in+linux&oq=how+to+mount+a+usb+hard+drive+in+linux&aqs=chrome.0.69i59l2.1280j0j7&sourceid=chrome&ie=UTF-8

 

The intended purpose would be for a program that would back-up all the contents of the SD card to an external drive. This would allow us to back-up our videos(a must with only 1 SD slot) without bringing a laptop to every outing.

The NX1 mounts itself as mass storage via USB at the moment, I think without some serious reworking of the internal Firmware it wouldnt be able to support a storage drive. It would have to be programmed to mount the drive, recognise it as a storage device and then be given the ability to transfer the footage from the SD to the USB, without any external software or hardware. The NX1 may not have the hardware capabilities to achieve this, even with the software, as a mass storage device, its the computer thats doing all the transferring legwork. Even then, it can charge via the USB port, but I doubt it could power a device from the port.

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

  • EOSHD Pro Color 5 for All Sony cameras
    EOSHD C-LOG and Film Profiles for All Canon DSLRs
    EOSHD Dynamic Range Enhancer for H.264/H.265
×
×
  • Create New...