How to watch a 3D video in regular 2D

How to watch a 3D video in regular 2D

The problem

Let’s say you want to rip a 3D movie, but you want to be able to play it on every device (2D or 3D), don’t rip it twice, but keep the 3D version (SBS) and play it on PC with vlc.

My situation

Ubuntu Linux 13.04 with vlc player installed:

max@yoda:~$ vlc --version
VLC media player 2.0.8 Twoflower (revision 2.0.8a-0-g68cf50b)
VLC version 2.0.8 Twoflower (2.0.8a-0-g68cf50b)
Compiled by buildd on panlong.buildd (Aug  2 2013 01:37:47)
Compiler: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.

My solution

Keep only the “left eye” playing it at a resolution of 32:9 and cropping it at 1920/2 = 960px, all from command line:

max@yoda:~$ vlc my-movie-3d-SBS-1080p.mkv --aspect-ratio 32:9 --crop 960x1080+0+0

Postphone v1.1.0

There’s a new version of Postphone. Huge list of things, here’s the full changelog:

    Improvements:
      New feat Google Android Backup Service (settings and database)
      Issue-001 now app keeps alarms upon reboot
      Hotfix-002 now when you receive a call with unknown Caller ID, 
           no popup is shown
    
    Application workflow:
      You must check or dismiss notification to remove alarm
    
    Code:
      Min SDK change from 7 to 8 (drop support for Eclair)
      DatabaseHelper class replaces DBAdapter
      Allow to upgrade from db v0 to db v1 and allow future upgrades
      Remove old code doTheVibration() and playSound()
      File rename popupcallback => popupcallback.xml
      Fix some typos
      Lower the number of events logged
    
    Developer side:
      New utility emulate-reboot
      New utility insert-fake-passed-calls with support for TZ
      New utilities for backup
      Change tmp path in sqlite-postphone-db utility
      Publish notes
      Backup notes
    
    Debug menu:
      Is disabled by default
      Can now be enabled via multiple taps on version name
      New menu entry "clear alarms table"
      New menu entry "test PopUpAfterCall"
    
    Design and blog:
      Blog featured banner
      Official logo.png

Debugging IO on Android

Android is Linux based, so there are some interesting way to monitor and debug IO activity especially on storage.

The one I found more useful is this:

  1. enable dumping of IO info
    echo 1 > /proc/sys/vm/block_dump
  2. observe kernel log
    cat /proc/kmsg
  3. make your analysis
  4. disable dumping of IO info
    echo 0 > /proc/sys/vm/block_dump

The output you will get is similar to this:
<7>[71477.927886] kswapd0(24): WRITE block 21240712 on mmcblk0p12 (8 sectors)
<7>[71477.928436] kswapd0(24): WRITE block 21410792 on mmcblk0p12 (8 sectors)
<7>[71477.928710] kswapd0(24): WRITE block 21240704 on mmcblk0p12 (8 sectors)
<7>[71477.929016] kswapd0(24): WRITE block 21240656 on mmcblk0p12 (8 sectors)
<7>[71477.929443] kswapd0(24): WRITE block 25427968 on mmcblk0p12 (8 sectors)
<7>[71477.929687] kswapd0(24): WRITE block 8 on mmcblk0p12 (8 sectors)
<7>[71477.930084] kswapd0(24): WRITE block 0 on mmcblk0p12 (8 sectors)
<7>[71478.086639] sdcard(159): READ block 23431168 on mmcblk0p12 (256 sectors)
<7>[71478.087036] sdcard(159): READ block 23430912 on mmcblk0p12 (8 sectors)
<7>[71478.258148] sdcard(159): READ block 23430920 on mmcblk0p12 (200 sectors)
<7>[71478.258514] sdcard(159): READ block 23431424 on mmcblk0p12 (8 sectors)
<7>[71478.266967] sdcard(138): READ block 23430656 on mmcblk0p12 (32 sectors)
<7>[71478.268798] sdcard(159): READ block 23430688 on mmcblk0p12 (64 sectors)
<7>[71478.269409] sdcard(159): READ block 23430752 on mmcblk0p12 (128 sectors)
<7>[71478.271484] sdcard(159): READ block 23430880 on mmcblk0p12 (32 sectors)
<7>[71478.600646] sdcard(138): READ block 23431432 on mmcblk0p12 (512 sectors)
<7>[71478.765136] sdcard(159): READ block 23431944 on mmcblk0p12 (256 sectors)
<7>[71478.958129] Compiler(412): READ block 327320 on mmcblk0p11 (8 sectors)
<7>[71478.958557] Compiler(412): READ block 327400 on mmcblk0p11 (48 sectors)

Tried on my rooted Galaxy Nexus with CyanogenMod 10.1.0-RC1.