Personal View site logo
Make sure to join PV on Telegram or Facebook! Perfect to keep up with community on your smartphone.
Please, support PV!
It allows to keep PV going, with more focus towards AI, but keeping be one of the few truly independent places.
Samsung camcoders source code
  • Links:
    http://www.samsung.com/global/cam_opensource/
    https://opensource.samsung.com/

    Source includes:
    image (folder with firmware, ready to flash)
    busybox-1.2.1.tar.gz
    glib-2.12.9.tar.gz
    glibc-2.3.3.tgz
    gstreamer_plugin.zip
    gstreamer-0.10.11.tar.gz
    linux-2.6.17.tar.gz
    mp4parser.tar.gz
    ramdisk_mp4.tar.gz

    Most all samsung written stuff is here linux-2.6.17\kernel_source\nike_test\drivers\s5c73xx

    All parts could flash separately (from manual):
    3.2 Kernel Update
    1. Prepare SD or SDHC card for firmware updating. (Available capacity of SD or SDHC card : 1G ~ 32G)
    2. Copy arch/arm/boot/Image to root directory of SD-Card. (Be careful the name of kernel should be 'Image')
    3. Turn on the set with AC adaptor and insert SD card.
    4. If your set includes internal memory, you can see the message Ў°Change Storage to CardЎ±.
    Select Ў°YesЎ±
    5. You can seed the message "Update Kernel"
    6. Select Ў°YesЎ± to proceed updating.
    7. Updating is over, the set turns off automatically.

    Some code of jpeg photo mode:

    const unsigned char QuantizerTable0[3][64] =
    {
    { // Lossless
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1
    /*
    // super fine
    1, 1, 1, 1, 1, 1, 2, 2,
    1, 1, 1, 1, 1, 2, 2, 2,
    1, 1, 1, 1, 1, 2, 2, 2,
    1, 1, 1, 1, 2, 3, 3, 2,
    1, 1, 1, 2, 2, 4, 4, 3,
    1, 1, 2, 2, 3, 4, 4, 3,
    2, 2, 3, 3, 4, 5, 5, 4,
    3, 3, 3, 4, 4, 4, 4, 4
    */
    },
    { // fine
    1, 2, 2, 3, 5, 9, 11, 13,
    2, 2, 3, 4, 5, 13, 13, 12,
    3, 2, 3, 5, 9, 12, 15, 12,
    3, 3, 4, 6, 11, 19, 18, 14,
    4, 4, 8, 12, 15, 24, 23, 17,
    5, 7, 12, 14, 18, 23, 25, 20,
    11, 14, 17, 19, 23, 27, 27, 22,
    16, 20, 21, 22, 25, 22, 23, 22
    },
    { // normal
    1, 8, 7, 12, 18, 31, 40, 48,
    9, 9, 11, 14, 20, 45, 47, 43,
    11, 10, 12, 18, 31, 44, 54, 44,
    11, 13, 17, 22, 40, 68, 63, 48,
    14, 17, 29, 44, 53, 85, 81, 60,
    18, 27, 43, 50, 63, 81, 89, 72,
    38, 50, 61, 68, 81, 95, 94, 79,
    56, 72, 74, 77, 88, 78, 81, 78
    }
    };

    I have samsung smx f30, bought in 2009. Honestly, i don't know what can i do with them, I don't understand programming.
    I'll try to compille Linux kernel for now.
  • 4 Replies sorted by
  • Find some stuff

    pic_param->prog_frame = M2VE_INTERLACED;
    //pic_param->prog_frame = M2VE_PROGRESSIVE;

    Progressive is commented

    /*system option*/
    #define M2VE_NTSC 0
    #define M2VE_PAL 1

    Can be selected NTSC?

    There is many interesting things:
    This is all from linux-2.6.17\kernel_source\nike_test\drivers\s5c73xx\m2ve\m2velib\m2ve_defs.h

    /*target frame_rate*/
    #define _23_975 23.975
    #define TG_FRAME_RATE_24 24
    #define TG_FRAME_RATE_25 25
    #define TG_FRAME_RATE_29_97 29
    #define TG_FRAME_RATE_30 30
    #define TG_FRAME_RATE_50 50
    #define TG_FRAME_RATE_59_94 59
    #define TG_FRAME_RATE_60 60

    #define M2VE_CBR_MODE 0
    #define M2VE_VBR_MODE 1

    #define M2VE_MPEG_1 0
    #define M2VE_MPEG_2 1

    #define M2VE_INTERLACED 0
    #define M2VE_PROGRESSIVE 1
  • As i understand this camcorder it's like PC with Linux and webcam :)
  • It seems separate updating not able for my camcorder, wich is SMX F30, so i'm trying to change F30 firmware manually with hex editor.
    F30 firmware structure:
    Size 0x800000 bytes
    0x000000 - 0x001244 boot code?
    0x0001F0 - 0x001F1B offsets and sizes of firmware parts?
    0x010000 - 0x1BC43F linux kernel
    0x1E0000 - 0x7ADFFF Compressed ROMFS

    I uncompressed romfs with mkcramfs, and saw there this files
    image

    nikeapp disasembled wery well with ARM selected processor
    image

    I compiled linux kernel, exchanged old kernel, my compiled kernel is smaller for 0x2000 bytes, and i get checksum error while updating camera firmware. Any advice for this?
    Attached firmware for download.
    3.jpg
    578 x 261 - 37K
    2.jpg
    1435 x 555 - 284K
    nike.zip
    7M
  • >and i get checksum error while updating camera firmware.

    You must find this checksum. And how it is calculated :-)