tag:blogger.com,1999:blog-21248318507934354112024-03-05T23:59:08.694+00:00Linux Tipps, Fixes & MoreYour Linux Self-Help Desk. A selection of mostly Linux related tutorials, howtos, fixes, news and more.Unknownnoreply@blogger.comBlogger40125tag:blogger.com,1999:blog-2124831850793435411.post-73705233477534827812012-04-07T09:33:00.000+01:002012-04-07T09:33:38.931+01:00Linux and its Collaboration Explained (Video)I can recommend this video giving a quick intro to what Linux is and does today as well as how it's built, though there's probably not much new in there for regular readers.
<object style="height: 390px; width: 500px;"><param name="movie" value="https://www.youtube.com/v/yVpbFMhOAwE?version=3&feature=player_detailpage">
<param name="allowFullScreen" value="true">
<param name="allowScriptAccess" value="always">
<embed src="https://www.youtube.com/v/yVpbFMhOAwE?version=3&feature=player_detailpage" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="500" height="360"></object><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-20627993432831581172012-03-20T09:30:00.001+00:002012-03-20T09:41:51.292+00:00Transcoding with VAAPI decoding accelaration using VLC 2.0I saw that vlc gets the decoded image back from the graphics cards when using hardware acceleration, e.g. VAAPI. So I thought this should also work as encoding accelerator, so the CPU only has to encode, not decode the video and cause at least some speedup, especially for large video files encoded into small files. I'm using the GMA500 poulsbo chipset for this test with 1,6 Ghz Atom(TM) CPU Z530.<br>
<br>
<a href="http://linux-tipps.blogspot.com/2012/03/transcoding-with-vaapi-accelaration.html#more">Read more »</a><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-31806529299221907702012-03-20T09:17:00.002+00:002012-03-20T09:31:21.136+00:00Benchmarking VLC Encoding/Transcoding SpeedIf you need to benchmark how fast vlc transcodes a certain file with certain settings, it's a bit tough. It doesn't seem to have any way to display the frames per second (fps) during encoding and no benchmark option as mplayer. A good way to work around this is to check how long it takes vlc to encode a certain file for a few seconds, e.g.<br />
<br />
time vlc --stop-time 25 (...) vlc://quit.<br />
e.g. time vlc --stop-time 25 /D/MVI_6615.MOV --sout "#transcode{width=384,height=288,vcodec=h264,acodec=vorbis}:standard{access=file,mux=mkv,dst=test.mkv}}" --sout-x264-crf=24 --sout-transcode-threads=2 vlc://quit<br />
<br />
This encodes for 25 seconds and then quits and displays the time it took. Make sure to have vlc://quit at the very end of the command line and after your input file. The "user" value is what matters, this shows how long it kept the cpu occupied. Of course this only works on Unix systems. Also be aware that the second time the input file comes from cache, so only use the values from the second or later encodings for comparison.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-53962104582695244052011-06-14T08:06:00.004+01:002014-11-14T20:34:42.342+00:00Create Side by Side or Top-Bottom 3D Video With ffmpeg and Imagemagick or Mencoder by Converting Alternate-Frame Sequencing 3D VideoThese are some commands for top-bottom or side-by-side 3D video transcoding with mencoder or ffmpeg and imagemagick.<br>
<br>
<a href="http://linux-tipps.blogspot.com/2011/06/create-side-by-side-or-top-bottom-3d.html#more">Read more »</a><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-2124831850793435411.post-59983436319171400302011-06-12T09:22:00.001+01:002011-07-03T09:27:08.066+01:00Youtube complains of a lack of local storage? Try this...It seems youtube would really like you to (aka forces you to) enable <a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html">enable flash storage for third parties</a> <i>and</i> enable at least 10 kg storage for everybody by default. This is most certainly not a technical necessity, but to make advertizing work better. Otherwise you can't save your youtube 3d settings. But once you've saved your 3d settings, you can switch third party storage back off. ;)<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-50653275967826896242011-06-10T18:25:00.001+01:002017-07-09T08:05:29.290+01:00Fixing USB Playback Issues for Video Files on LG, Samsung and other TVs - e.g. "Invalid File" [updated 2017]If your file won't play and the TV reports "Invalid file", the thumbnail is not created instead a one with a warning arrow, then your TV won't eat the file. Since this post gets a lot of hits and is easily found, I've updated the information a bit.<br>
<br>
The problem is likely one of these issues:<br>
1. unsupported video format (check the supported list, e.g. <a href="http://openlgtv.org.ru/wiki/images/9/98/Filetypes.jpg">LG</a>)<br>
- especially note the restriction of 30 fps for FullHD<br>
- video codecs are usually divx and h264 (up to profile 4.1), no GMC<br>
- audio codecs are usually mp3, ac3, aac.<br>
2. Badly muxed file or unsupported file type<br>
3. Mkv with header compression<br>
<a href="http://linux-tipps.blogspot.com/2011/06/fixing-usb-playback-issues-for-video.html#more">Read more »</a><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-83674254674911705302011-01-20T11:34:00.001+00:002011-01-20T11:34:57.592+00:00Converting Vobsub (.sub/.idx) to .srt in LinuxMencoder rips the subtitles for you as I just posted. But what if you want a .srt file? The problem is that vobsub subtitles used in DVDs are made as images. This means you first need to convert the images back to text. That is usually done with the help of OCR. And not differently for subtitles. But there's already a special open source Linux program available for that purpose <a href="https://github.com/ruediger/VobSub2SRT">here</a>.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-8565035599466244032011-01-01T22:36:00.007+00:002011-01-01T22:49:03.438+00:00XBMC with VAAPI on Poulsbo (Intel GMA500) or other VAAPI SystemsIt's not possible directly right now due to limitations of the existing GMA 500 drivers (IEGD, PSB, ...) and probably other vaapi drivers. But if you have mplayer-vaapi running, it's really easy - because you <a href="http://wiki.xbmc.org/index.php?title=HOW-TO_use_an_External_Player_for_media_playback">can set up xbmc to use external players</a> with XBMC 10.<br>
<br>
<a href="http://linux-tipps.blogspot.com/2011/01/xbmc-with-vaapi-on-poulsbo-intel-gma500.html#more">Read more »</a><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2124831850793435411.post-54268083884488666472010-12-30T10:25:00.001+00:002010-12-30T10:25:23.616+00:00Encoding Videos for AndroidYeah, I know I'm being lazy again, but hey, if someone else already did all the work. Check it out <a href="https://help.ubuntu.com/community/AndroidVideoEncoding">at Ubuntu here</a>.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-31267554057074531592010-11-14T20:52:00.003+00:002010-11-18T15:57:13.139+00:00Which Software-Scaler Looks Best - Mencoder and FFmpeg settings-There is an old but good test showing you all of mplayers software scalers and how they look in the same image, <a href="http://www.wieser-web.de/MPlayer/sws1/">here</a>. The numbers mean this, see the mplayer man page:<br />
<blockquote>0 fast bilinear<br />
1 bilinear<br />
2 bicubic (gute Qualität) (Standard)<br />
3 experimentell<br />
4 nearest neighbour (schlechte Qualität)<br />
5 area<br />
6 luma bicubic / chroma bilinear<br />
7 gauss<br />
8 sincR<br />
9 lanczos<br />
10 natural bicubic spline</blockquote><br />
If you want to translate that into ffmpeg language, it looks like this:<br />
<blockquote>fast_bilinear<br />
bilinear<br />
bicubic<br />
experimental<br />
neighbor<br />
area<br />
bicubic_bilinear<br />
gauss<br />
sinc<br />
lanczos<br />
<br />
</blockquote>Just add on of the above to -sws_flags in ffmpeg. <br />
<br />
Happy transcoding!<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2124831850793435411.post-14595232219129606062010-10-21T16:12:00.004+01:002010-10-23T22:22:26.809+01:00Uploading Videos to Picasaweb from Linux with GoogleCLAll you need to know really is that it works via <a href="http://code.google.com/p/googlecl/downloads/list">googlecl</a>. Once you've installed that, it's as easy as google picasa post --title "Albumname" path/to/video.avi. And Google webspace is cheap with 20 G for 5 $ a year - with full control over your privacy. (Better than facebook anyway.)<br />
<br />
Ok, you may need to upgrade to a <a href="http://packages.ubuntu.com/hu/maverick/all/python-gdata/download">current python-gdata</a> and remove your old config files: rm -r ~/.googlecl/ for it to work. But it does work!<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-79512249886994455732010-07-08T16:49:00.003+01:002010-07-27T07:33:44.153+01:00Backlight Finally Works - Generic Poulsbo GMA 500 Fix via ACPI Video InterfaceThe trick is to go into <i>drivers/acpi/video.c<i></i></i> and remove the part that disables the acpi handling if there is an intel opregion present. The patch looks like this:<br />
<blockquote>diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c<br />
index 60ea984..ad8fc2d 100644<br />
--- a/drivers/acpi/video.c<br />
+++ b/drivers/acpi/video.c<br />
@@ -2394,9 +2394,6 @@ static int __init acpi_video_init(void)<br />
{<br />
dmi_check_system(video_dmi_table);<br />
<br />
- if (intel_opregion_present())<br />
- return 0;<br />
-<br />
return acpi_video_register();<br />
}</blockquote><br />
You can compile the module by getting the sources of your running kernel, cding into the acpi directory (drivers/acpi), applying the acpi patch and then executing <blockquote><b>make -C /lib/modules/$(uname -r)/build M=$PWD video.ko</b></blockquote><br />
Then just <b>sudo insmod ./video.ko</b>.<br />
<br />
Alright, here's the more elaborate version by Joey Lee hopefully entering the kernel soon:<br />
<blockquote>---<br />
drivers/acpi/video.c | 17 ++++++++++++++++-<br />
include/linux/pci_ids.h | 1 +<br />
2 files changed, 17 insertions(+), 1 deletions(-)<br />
<br />
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c<br />
index 9865d46..25a70e0 100644<br />
--- a/drivers/acpi/video.c<br />
+++ b/drivers/acpi/video.c<br />
@@ -88,6 +88,11 @@ static int acpi_video_bus_add(struct acpi_device *device);<br />
static int acpi_video_bus_remove(struct acpi_device *device, int type);<br />
static void acpi_video_bus_notify(struct acpi_device *device, u32 event);<br />
<br />
+static const struct pci_device_id intel_drm_blacklist[] = {<br />
+ { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SCH_VGA) },<br />
+ { } /* Terminating entry */<br />
+};<br />
+<br />
static const struct acpi_device_id video_device_ids[] = {<br />
{ACPI_VIDEO_HID, 0},<br />
{"", 0},<br />
@@ -2531,8 +2536,11 @@ static int __init intel_opregion_present(void)<br />
#if defined(CONFIG_DRM_I915) || defined(CONFIG_DRM_I915_MODULE)<br />
struct pci_dev *dev = NULL;<br />
u32 address;<br />
+ int i;<br />
+ bool in_blacklist;<br />
<br />
for_each_pci_dev(dev) {<br />
+ in_blacklist = 0;<br />
if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)<br />
continue;<br />
if (dev->vendor != PCI_VENDOR_ID_INTEL)<br />
@@ -2540,7 +2548,14 @@ static int __init intel_opregion_present(void)<br />
pci_read_config_dword(dev, 0xfc, &address);<br />
if (!address)<br />
continue;<br />
- return 1;<br />
+ for (i = 0; intel_drm_blacklist[i].device != 0; i++) {<br />
+ if (dev->device == intel_drm_blacklist[i].device) {<br />
+ in_blacklist = 1;<br />
+ break;<br />
+ }<br />
+ }<br />
+ if (!in_blacklist)<br />
+ return 1;<br />
}<br />
#endif<br />
return 0;<br />
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h<br />
index 3bedcc1..78858b1 100644<br />
--- a/include/linux/pci_ids.h<br />
+++ b/include/linux/pci_ids.h<br />
@@ -2669,6 +2669,7 @@<br />
#define PCI_DEVICE_ID_INTEL_82443GX_0 0x71a0<br />
#define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2<br />
#define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601<br />
+#define PCI_DEVICE_ID_INTEL_SCH_VGA 0x8108<br />
#define PCI_DEVICE_ID_INTEL_SCH_LPC 0x8119<br />
#define PCI_DEVICE_ID_INTEL_SCH_IDE 0x811a<br />
#define PCI_DEVICE_ID_INTEL_82454GX 0x84c4<br />
-- <br />
1.6.0.2</blockquote><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2124831850793435411.post-46111143782738472082010-06-27T11:43:00.003+01:002010-07-01T17:32:54.675+01:00Backlight Control on MSI U110 NetbookI've managed to get the backlight working roughly as well! All I needed to do was to load msi-laptop with the parameter force=1. The problem is that there is so far very little scaling, I can only set brightness to 0 (very dark) or 1-8 (all "very bright"). Check for updates to get it working well with KDE.<br />
<br />
I've contacted the driver developers and I hope we can make some progress on the drivers soon.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2124831850793435411.post-34138323488204085862010-06-26T16:46:00.006+01:002010-07-06T17:07:47.416+01:00Setting Up VAAPI Hardware Accelerated Video Decoding for Ubuntu 10.04 (example Intel Poulsbo GMA 500)<i>(For the more detailed </i><a href="http://linux-tipps.blogspot.com/2009/12/vaapi-accelerated-hd-video-on-msi-wind.html"><i>guide for Ubuntu 9.10</i></a><i>, which works much better for me, including suspend to ram, see </i><a href="http://linux-tipps.blogspot.com/2009/12/vaapi-accelerated-hd-video-on-msi-wind.html"><i>here.</i></a><i>)</i><br />
This is just a really, really short basic howto for setting up the poulsbo X driver and VAAPI video acceleration on Ubuntu 10.04. I will post more details later.<br />
<br />
1. Install the poulsbo driver:<br />
sudo add-apt-repository ppa:gma500/ppa<br />
sudo add-apt-repository ppa:gma500/fix<br />
sudo apt-get update<br />
sudo apt-get install poulsbo-driver-3d<br />
<br />
2. Set up the Xorg.conf:<br />
<blockquote>Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "GMA500"<br />
Option "AccelMethod" "EXA"<br />
Option "DRI" "on"<br />
Option "MigrationHeuristic" "greedy"<br />
Option "IgnoreACPI" "yes"<br />
Driver "psb"<br />
EndSection</blockquote><br />
3. Reboot, check it's all working.<br />
<br />
<b>VAAPI</b><br />
4. Download the right mplayer version:<br />
wget http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20100114.i686.tar.bz2<br />
unp mplayer-vaapi*<br />
<br />
5. Install the necessary libraries: (you can remove mplayer then, but it's the easiest method)<br />
sudo apt-get install mplayer libgtop2-7<br />
<br />
6. and play<br />
mplayer -vo vaapi -va vaapi testfile.avi<br />
<br />
If mplayer doesn't run because of missing libraries, this command will show which libraries are missing:<br />
ldd mplayer-vaapi*/mplayer<br />
<br />
Be quick, before the instructions change due to new repositories, libraries, etc... But don't everything to work flawlessly! My system doesn't even go into suspend, but crashes. Hence it can't come out of suspend, either. Backlight control still doesn't work for me. And I still have to do more testing on mplayer to see how smooth VAAPI actually is.<br />
<br />
Theoretically, installing VLC 1.1.0 with VAAPI should be as easy as this:<br />
<br />
sudo add-apt-repository ppa:c-korn/vlc && sudo apt-get update && sudo apt-get install vlc<br />
<br />
But it didn't work out of the box for me and I didn't care about why. If you have hints, questions or - yes- comments, please post in the comments.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2124831850793435411.post-23777382267593301912010-06-10T21:12:00.003+01:002010-06-11T00:08:40.040+01:00Fixing Mplayer's Terminal Abuse, esp. for KDE and WindowsMplayer updates the information about the amounts of frames it displayed, the played time, the remaining time, etc. every single time it displays a *frame*. This is not only completely unnecessary, it can unnecessarily hog several percent of your CPU in many terminal implementations, especially in current KDE 4 and Windows. The higher the frame rate, the more wasted CPU power. <br />
<br />
On my netbook, the difference is <b>10% CPU</b>and more with a 25 frames per second video - that's as much and more than mplayer uses for a simple Xvid video. And it could easily make the difference between a well playing file and one that's glitchy. (The CPU time is occupied by konsole 4.3.2 though, not by mplayer itself.)<br />
<br />
The only way out would be -quiet. But then you wouldn't know what's going on anymore at all. That's why I had written and submitted roughly the following patch to fix this behavior. Unfortunately even after I made all the requested corrections, it was never applied without any reasons provided, or <a href="http://lists-archives.org/mplayer-dev-eng/28212-quiet-time-bug-1459-was-output-console-status-only-every-n-frames-quietframes-bug-1459.html">were there</a>?. So I decided to publish it here so people at least know about it. But it also means unless I can convince someone here, you will have to compile mplayer and apply the patch yourself.<br />
<br />
There are many guides how to compile mplayer. Before you start the compilation process, just copy this following block into a file quiet.patch and then apply it inside the svn directory with "patch -p0 < quiet.patch", then compile mplayer normally. You can now use the parameter -quiet-time. A value of 1 means a status message no more often than every 100 milliseconds (0,1 seconds). I think a good value is 5. You will notice that e.g. konsole uses less CPU during playback now.
Enjoy the power of open source and let me know how it works for you!
<blockquote><br />
Index: DOCS/man/en/mplayer.1<br />
===================================================================<br />
--- DOCS/man/en/mplayer.1 (Revision 29324)<br />
+++ DOCS/man/en/mplayer.1 (Arbeitskopie)<br />
@@ -732,6 +732,12 @@<br />
handle carriage return (i.e.\& \\r).<br />
.<br />
.TP<br />
+.B "\-quiet-time <n>\ "<br />
+Reduce console output updates to n per tenth of a second.<br />
+Values of 5 or more work around slow terminals.<br />
+See \-quiet for more.<br />
+.<br />
+.TP<br />
.B \-priority <prio> (Windows and OS/2 only)<br />
Set process priority for MPlayer according to the predefined<br />
priorities available under Windows and OS/2.<br />
Index: mplayer.c<br />
===================================================================<br />
--- mplayer.c (Revision 29324)<br />
+++ mplayer.c (Arbeitskopie)<br />
@@ -81,6 +81,7 @@<br />
int slave_mode=0;<br />
int player_idle_mode=0;<br />
int quiet=0;<br />
+int quiet_time=0;<br />
int enable_mouse_movements=0;<br />
float start_volume = -1;<br />
<br />
@@ -1936,6 +1937,11 @@<br />
<br />
static void adjust_sync_and_print_status(int between_frames, float timing_error)<br />
{<br />
+ static unsigned last_status_update=0;<br />
+ unsigned now=GetTimerMS();<br />
+ if (quiet_time && now >= (last_status_update + quiet_time * 100)) <br />
+ last_status_update=now;<br />
+<br />
current_module="av_sync";<br />
<br />
if(mpctx->sh_audio){<br />
@@ -1987,6 +1993,7 @@<br />
c_total+=x;<br />
}<br />
if(!quiet)<br />
+ if (!quiet_time || (last_status_update == now))<br />
print_status(a_pts - audio_delay, AV_delay, c_total);<br />
}<br />
<br />
@@ -1994,6 +2001,7 @@<br />
// No audio:<br />
<br />
if (!quiet)<br />
+ if (!quiet_time || (last_status_update == now))<br />
print_status(0, 0, 0);<br />
}<br />
}<br />
Index: cfg-common-opts.h<br />
===================================================================<br />
--- cfg-common-opts.h (Revision 29324)<br />
+++ cfg-common-opts.h (Arbeitskopie)<br />
@@ -8,6 +8,7 @@<br />
// ------------------------- common options --------------------<br />
{"quiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},<br />
{"noquiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},<br />
+ {"quiet-time", &quiet_time, CONF_TYPE_INT, CONF_RANGE, 0, 65536, NULL},<br />
{"really-quiet", &verbose, CONF_TYPE_FLAG, CONF_GLOBAL|CONF_PRE_PARSE, 0, -10, NULL},<br />
{"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL|CONF_NOSAVE, 0, 0, NULL},<br />
{"msglevel", msgl_config, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},<br />
Index: mencoder.c<br />
===================================================================<br />
--- mencoder.c (Revision 29324)<br />
+++ mencoder.c (Arbeitskopie)<br />
@@ -131,6 +131,7 @@<br />
//void resync_audio_stream(sh_audio_t *sh_audio){}<br />
<br />
int quiet=0;<br />
+int quiet_time=0;<br />
double video_time_usage=0;<br />
double vout_time_usage=0;<br />
double max_video_time_usage=0;<br />
@@ -1420,8 +1421,14 @@<br />
(int)demuxer->filepos,<br />
(int)demuxer->movi_end);<br />
#else<br />
+ static unsigned last_status_update=0;<br />
+ unsigned now=GetTimerMS();<br />
+ if (quiet_time && now >= (last_status_update + quiet_time * 100)) <br />
+ last_status_update=now;<br />
+<br />
if(!quiet) {<br />
if( mp_msg_test(MSGT_STATUSLINE,MSGL_V) ) {<br />
+ if (!quiet_time || (last_status_update == now))<br />
mp_msg(MSGT_STATUSLINE,MSGL_STATUS,"Pos:%6.1fs %6df (%2d%%) %3dfps Trem:%4dmin %3dmb A-V:%5.3f [%d:%d] A/Vms %d/%d D/B/S %d/%d/%d \r",<br />
mux_v->timer, decoded_frameno, (int)(p*100),<br />
(t>1) ? (int)(decoded_frameno/t+0.5) : 0,<br />
@@ -1434,6 +1441,7 @@<br />
duplicatedframes, badframes, skippedframes<br />
);<br />
} else<br />
+ if (!quiet_time || (last_status_update == now))<br />
mp_msg(MSGT_STATUSLINE,MSGL_STATUS,"Pos:%6.1fs %6df (%2d%%) %5.2ffps Trem:%4dmin %3dmb A-V:%5.3f [%d:%d]\r",<br />
mux_v->timer, decoded_frameno, (int)(p*100),<br />
(t>1) ? (float)(decoded_frameno/t) : 0,</blockquote><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-88295058968496597702010-03-19T23:36:00.005+00:002010-03-20T01:55:06.972+00:00The Devil's in the Bitrate - A Crazy Detail about Recording FullHD Video with the Canon EOS 500DOkay. So the Canon EOS 500D does create FullHD video. Well, alright, it's just with 20 fps. But that's actually not as bad as I had feared. Yes, there are no options whatsoever. That's kind of weird. And then there's this tiny details related to the options...<br />
<br />
First I thought my computer was suddenly too slow for playing even 720p movies. Then I tried streaming them to my netbook with hardware accelerated video playback. And guess what: the excellent 18 Mbit/s I got on my wifi are not enough.<br />
<br />
The photo camera uses a bitrate of over 20 Mbit/s (720p) and over 30 Mbit/s (1080p) for video recordings in AVCHD. That's significantly (at least +100%) more than e.g. the Panasonic HDC-SX1 uses for recording 50 interlaced fps with FullHD in the high quality setting. Either the encoding chip is not too good with compressing. Or they just locked the birate on freaking high to make it bothersome to record with the photo camera and keep out competition from their own video cameras. <br />
<br />
Sometimes x264 gives spikes with e.g. 24 Mbit/s, so I think it's not just the bitrate being locked in. Maybe they could just not be bother to write a VBR video codec. And the sounds is uncompressed pcm. But of course with 30 Mbit/s, 0.7 Mbit/s sound doesn't matter much.<br />
<br />
I recoded a 720p video (also over 20Mbit/s) with x264 and a CRF (quality) value of 23 (rather high): <br />
<blockquote>ffmpeg -i "$IN" -acodec libmp3lame -vcodec libx264 -vpre normal -crf 23 "$IN small.mov"</blockquote>The result: roughly 4 Mbit/s. 1/6th of the original data rate for as far as I can see the same quality. The file size usually goes down to 10-30% (!) of the original file.<br />
<br />
It's kind of like the videos are recorded in a raw-like mode. The only thing is that you can't change it to normal compression. And yes, now I know why the camera records only 20 fps and not 25 or 30 in FullHD. Because otherwise it would probably use over 40 Mbit/s...<br />
<br />
It actually sounds worse than it is. It just means you should probably have a nice script to recode your videos to a less crazy quality after getting them from the camera chip. The good thing is actually that the original quality is so high that the losses of transcoding should not be too high. And you should make sure your SD card can handle at least a steady 5 MByte/s writing per second if you want to record videos with your Canon SLR photo camera.<br />
<br />
I'd love to hear about your experiences! Maybe it's only my camera that uses as much? But it definitely does.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2124831850793435411.post-54952520256066172292010-01-05T00:37:00.010+00:002010-01-05T02:11:19.668+00:00Transcoding 50 fps Interlaced AVCHD to 50 fps Progressive x264 with MEncoder - Getting Every Last Drop of Quality out of your Interlaced AVCHD RecordingsHave you ever wondered how much quality your HD camera can deliver? This script helps you to find it out if you have a camera that encodes interlaced video. It uses special filters to calculate 50 whole frames out of the half frames, which makes motions seem extremely fluent. You could play the file at half speed slow motion and still have a full 25 frames per second.<br />
<br />
You need a more or less recent version of mplayer. It should be a version of mplayer after the release of ffmpeg 0.5. Current repositories of current distributions should be able to deliver this. But be aware that not all of them provide an mencoder compiled to work properly with x264. If that's the case you may have to compile it yourself. <br />
<br />
After that it's as "easy" as this command, once you've put it all together. I'll explain further below and post a sample script for the entire conversion. The result is extremely smoothly playing video files that look great.<br />
<br />
This is the main part:<br />
<br />
<blockquote>mencoder -demuxer lavf -sws 9 -fps 100 -vf yadif=1,mcdeint,softskip -ofps 50<br />
</blockquote><br />
The demuxer parameter works around mplayer's transport stream implementation, which does not work well with AVCHD files. It tells mplayer to trust ffmpeg's libavformat instead. This makes a huge difference for me. With this command I can play AVCHD files and transcode them in sync without problems and serious glitches.<br />
<br />
The fps and yadif part was tricky. It creates 50 full progressive frames out of the 25 interlaced frames it gets from the camera. I had <a href="http://lists.mplayerhq.hu/pipermail/mplayer-users/2009-June/077048.html">sync problems</a> at first, but I found the solution <a href="http://lists.mplayerhq.hu/pipermail/mencoder-users/2009-May/010354.html">somewhere in the mplayer mailing list</a> I think. I'm not sure why you have to take twice the framerate of the AVCHD file, but only this way it works. Of course, if you camera is not PAL, you may have to change this to double your framerate. Otherwise I had the sound playing half as fast as the video with the consequence of constant frame skips and no sync at all.<br />
<br />
Now let's put it all together into a little please-do-it-all-for-me script:<br />
<br />
<br />
<blockquote>#!/bin/sh<br />
# High Quality Mencoder AVCHD Transcoding Script, (c) 2010 linux-tipps.blogspot.com, published under the GNU GPL v. 3.0<br />
<br />
# Settings<br />
CRF=26 # 18-26, the higher the smaller the resulting file, HD files can stand a higher than SD<br />
FPS=50 # input fps of your file, "mplayer -demuxer lavf -identify" helps you with finding this<br />
X264OPTS="" # add subq=6 frameref=6 for higher quality per bit but lower encoding rate.<br />
<br />
# Preparation<br />
INPUT="$1"; shift<br />
OUT=$(basename "$INPUT"|sed 's/.m2ts//')"-x264.avi"<br />
echo Mencoder Interlaced AVCHD to Progressive x264 Script, published under the GPL v. 3.0 \(http://www.gnu.org/licenses/gpl-3.0.txt\), check for the newest version of this script at http://linux-tipps.blogspot.com/2010/01/transcoding-50-fps-interlaced-avchd-to.html.<br />
echo $0 Encoding $INPUT to $OUT using the following command line:<br />
[ -f "$OUT" ] && echo File exists - aborting && exit 1;<br />
<br />
# Encoding<br />
mencoder="time nice mencoder -cache 8096 -demuxer lavf -sws 9 -fps $((FPS*2)) -vf yadif=1,mcdeint,softskip -ofps $FPS"<br />
enc="$mencoder -ovc x264 -oac copy -x264encopts crf=$CRF:trellis=1:threads=0:ratetol=inf:frameref=2:bframes=2:8x8dct:ssim:psnr:$X264OPTS"<br />
<br />
echo $enc -o "$OUT" "$INPUT" $*<br />
$enc -o "$OUT" "$INPUT" $*</blockquote><div><br />
</div><div>Just run the script and give a .m2ts file as parameter. E.g.</div><blockquote>sh avchd-mencode 000001.m2ts # or for all m2ts file in the current directory:<br />
for i in ./*.m2ts; do sh avchd-mencode "$i"; done;</blockquote><br />
Let me know how it worked for you! Or if you have an idea how to improve the script. Try skipping frame for frame with the "." button in mplayer. Be aware that the file size of the resulting video may easily be bigger than the input. That's because you're creating full frames out of half ones, and storing them takes more space.<br />
<br />
Check out a Squirrel in HD slow motion produced with this script and then "mencoder -speed 0.5 -af scaletempo -oac lavc -lavcopts acodec=ac3 -ovc copy" and uploaded in FullHD (but available only in 720p currently):<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/b_vJUIVFGLk&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/b_vJUIVFGLk&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com23tag:blogger.com,1999:blog-2124831850793435411.post-15311458637553272852009-12-29T23:20:00.007+00:002010-01-07T13:57:35.384+00:00Using SMPlayer with hardware video acceleration such as VAAPI - Fixing various crashes etc. with VAAPIIf you've also tried to use VAAPI with SMplayer, you may also have experienced the crash every single time you try to watch anything. These things might also apply to VDPAU and xvmc.<br />
<div><br />
</div><div>Here's the solution<br />
</div><div><b>1. Disable screenshots:</b><br />
</div><div>General -> General -> Enable Screenshots [ ] (uncheck)<br />
<br />
2. Set to <b>single thread decoding</b>:<br />
Performance -> Performance -> Threads ... [1]<br />
<br />
3. Disable subtitles and postprocessing.<br />
</div><div><br />
</div><div>Here's what doesn't help:<br />
</div><div>Upgrading to the current version 0.6.8.<br />
</div><div><br />
</div><div>If you want to know how to get VAAPI working SMPlayer in the first place: Select <br />
</div><div>General -> Video -> Output Driver -> Custom -> "vaapi,xv," and<br />
</div><div>Advanced -> Options for Mplayer -> Options -> "-va vaapi".<br />
</div><div><br />
</div><div>Let me know if it worked for you. Someone should probably inform the author of smplayer and/or mplayer. Excellent programs!<br />
</div><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2124831850793435411.post-59545795578437659622009-12-26T22:53:00.033+00:002010-06-26T23:24:08.808+01:00How to set up X and VAAPI Accelerated HD Video on the MSI Wind U110 (GMA500 - Poulsbo) and Ubuntu Karmic 9.10<i>The following guide is now slightly outdated as Ubuntu 10.04 is out and new drivers are necessary, also some of the repositories I originally used have disappeared. If you use Ubuntu 10.04, try following my much easier directions <a href="http://linux-tipps.blogspot.com/2010/06/setting-up-vaapi-hardware-accelerated.html">here</a></i><i> instead. (The largest detriment to the Ubuntu 9.10 driver is a complete lack of suspend to ram for me. I will leave my guide for 9.10 online as reference, though. It seems to have been the first good description and I'm happy about the major online media coverage. :)</i><br />
<br />
I've finally managed to get it running. Here is what I did. First you need to get Ubuntu 9.10 running with poulsbo. The first steps 1.-4. describe how to set up the driver for X. The second part (5.-10.) describes how to set up VAAPI and mplayer to get video acceleration. (<a class="vt-p" href="http://linux-tipps.blogspot.com/2010/05/poulsbo-is-already-working-on-ubuntu.html">There is already an early stage GMA500 driver for Ubuntu 10.04</a>.)<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a class="vt-p" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje0ohM3WT3Co-ruAkGnZRY38IituMStkiN2VvdnQtx8yA2ObHRm2ROiZ3zQd_NA8Vwb6qrQ51TDZoYvcpdI1TYTDzoUXR6jl3-0VvytYDoenPkXWglwUHtv8jRtlzBLTAZOhEQtKDijHA/s1600-h/mplayer+vaapi+phoronix.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje0ohM3WT3Co-ruAkGnZRY38IituMStkiN2VvdnQtx8yA2ObHRm2ROiZ3zQd_NA8Vwb6qrQ51TDZoYvcpdI1TYTDzoUXR6jl3-0VvytYDoenPkXWglwUHtv8jRtlzBLTAZOhEQtKDijHA/s400/mplayer+vaapi+phoronix.png" /></a></div>The image shows the phoronix test suite benchmarking when I play Grey.ts in a loop (-loop 0) with mplayer and vaapi but without sound (-nosound) on my netbook. During the entire time, the CPU frequency is also downscaled to 800 Mhz. Compare to <a class="vt-p" href="http://www.phoronix.com/scan.php?page=article&item=nvidia_vdpau&num=2">phoronix vdpau benchmark</a> on a core 2 duo system (which obviously shows even less cpu usage, because the CPU is much more powerful) or the <a class="vt-p" href="http://www.phoronix.com/scan.php?page=article&item=nvidia_vdpau_mobile&num=1">Atom and Nvidia ION benchmark</a> on Phoronix.<br />
<div class="separator" style="clear: both; text-align: center;"><a class="vt-p" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr1AzTddx5bmkBbPy-1VpbQb8SMfUC3SGqCY4RLr4r1irdF4muJoWC4S670qpnU0UunENncp95gf3mCTFPX5ABU5pgRnjx51m4431VvhZszv83SeJf-DIRXwBnbc866ikNCLCHxe9GKD0/s1600-h/mplayer+vaapi+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr1AzTddx5bmkBbPy-1VpbQb8SMfUC3SGqCY4RLr4r1irdF4muJoWC4S670qpnU0UunENncp95gf3mCTFPX5ABU5pgRnjx51m4431VvhZszv83SeJf-DIRXwBnbc866ikNCLCHxe9GKD0/s400/mplayer+vaapi+2.png" /></a></div><div style="text-align: center;"><span style="font-size: x-small;">CPU usage when playing a 10 minute fireworks recording in 1080p @ 50 fps without sound and then two FullHD movie trailers. The CPU is clocked at 800Mhz the entire time. The spike is caused by a bug in my test sequence: I didn't start a new mplayer process for new files but passed them all at once on the command line.</span></div><div style="text-align: center;"><span style="font-size: x-small;"><br />
</span></div><div>I can watch FullHD (1080p @ 50 fps + AC3) videos with about 30% or less CPU utilization (Atom@800 Mhz) on my netbook now. Looks really nice, too. Some videos produce artefacts, <s>especially self-recorded AVCHD m2ts files</s>. If you use the right demuxer, AVCHD videos play fine, but deinterlacing does not work. Sometimes the video seems not to run very smooth, etc. It's not perfect yet, don't expect too much! But most videos work perfectly, no matter what resolution.</div><div><br />
</div><div><s>The only real problem is with suspend to ram. You can't use suspend to ram or VAAPI at the same time: If you used VAAPI and try to suspend, the system doesn't suspend and/or crashes. If you suspend, then use VAAPI or even xv I think, the system crashes really hard. So suspend doesn't really work as expected yet. I think the sound also doesn't work properly after suspend.</s> Suspend works fine for me even after resume if I do a double console switch (Ctrl-Alt-F1 wait until you see the console, then Ctrl-Alt-F7).<br />
<br />
</div><div>Here's what you need to do</div><div>1. Basically you add the GMA500 Repositories for Ubuntu 9.10 (karmic) and 10.04 (Lucid) to /etc/apt/sources.list.d/mobile.list. (If the entry below doesn't work, check <a class="vt-p" href="https://wiki.ubuntu.com/HardwareSupportComponentsVideoCardsPoulsbo">this page</a>.)<br />
<div></div><blockquote><div>sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update</div></blockquote><div><br />
</div><div>2. Then you install the<b> poulsbo-driver-3d </b>including the firmware and everything. <br />
<br />
2.a. Check if you can load the psb module: sudo modprobe psb. If you see this in dmesg instead of a switch to the correct resolution,</div><blockquote>"kernel BUG: unable to handle kernel NULL pointer dereference at (null)" (2.6.31)</blockquote></div><div>you need a manual hack to get the driver working, as I just <a class="vt-p" href="http://linux-tipps.blogspot.com/2009/12/x-video-finally-works-linux-on-msi-wind.html">reported</a>.</div><div><br />
</div><div><br />
</div><div>3. Once that's done, for a more stable and speedy operation, you need to add an <b>/etc/X11/xorg.conf</b>:</div><div><br />
</div><div><div></div><blockquote><div>Section "Device"</div><div>Identifier "GMA500"</div><div>Option "AccelMethod" "EXA"</div><div># someone suggested UXA? but that's for the i965 drivers</div><div>Option "DRI" "on"</div><div>Option "MigrationHeuristic" "greedy"</div><div>Option "IgnoreACPI" "yes"</div><div>Driver "psb"</div><div>EndSection</div><div><br />
</div><div>Section "DRI"</div><div>Mode 0666</div><div>EndSection</div><div><br />
</div></blockquote><div></div><div>4. <b>Reboot and make sure that it works!</b> If X doesn't work properly yet, VAAPI won't, either. After a short black screen, you should be greeted in the correct resolution. Full screen xv video should already work fine. Suspend to RAM also worked perfectly at this point for me.<br />
<br />
If the system goes to DPMS standby and from there switches to other modes (DPMS suspend, etc.), then my screen actually turns on again (showing all black with backlight active). So make sure you chose only one setting for DPMS. A constantly running screen is not good at all.</div><div><br />
<b>VAAPI Video Acceleration setup</b></div><div>Now comes the part where we install the hardware decoding acceleration. If you just want X you can stop now. ;) This is written for Ubuntu 9.10 with old repositories, so 5+6 might not be necessary anymore or work for Ubuntu 10.04!</div><div><br />
</div><div>5. Install the Libva library from <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb">http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb</a>. This replaces your current libva1 with a newer version. also works for me. Don't forget to install the -dev version (<a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb">http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb</a>) as well if you want to compile mplayer later.</div><div><br />
</div><div><blockquote>wget <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb">http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb</a><br />
<a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb">http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb</a>&& sudo dpkg -i <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb">libva1_0.31.0*i386.deb</a></blockquote><a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva1_0.31.0-1+sds8_i386.deb"></a></div><div><br />
</div><div>6. Create a link of your video driver to the vaapi driver directory:</div><div><div><blockquote>sudo ln -s /usr/X11R6/lib/modules/dri/psb_drv_video.so /usr/lib/va/drivers/</blockquote></div><div><br />
</div><div><b>A. Precompiled setup.</b> (You can alternatively skip to part B: compiling the source code setup)</div><div><br />
</div></div><div>7. Download and unpack the precompiled mplayer:</div><div><a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20090914.i686.tar.bz2">http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20090914.i686.tar.bz2</a></div><div><br />
</div><div>8. Install a normal mplayer and libmad with apt-get.</div><div><blockquote>sudo apt-get install mplayer libmad0</blockquote></div><div><br />
</div><div>9. Unpack mplayer and create necessary links to the libraries it expects.</div><div>"<b>ldd mplayer</b>" tells you what library (names) mplayer expects.</div><div>Just to go /usr/lib and create links to them:</div><div>e.g </div><div><blockquote>ln -s libx264.so.67 libx264.so.65</blockquote></div><div>This should work as long as your libraries are newer than the expected ones. It may actually work out of the box in Ubuntu Jaunty.</div><div><br />
</div><div><div>10. Start mplayer from the package you downloaded:</div><div>e.g. ~/mplayer-vaapi-20090914.i686/mplayer -fs -vo vaapi -va vaapi HDtest.avi<somemovie.avi></somemovie.avi></div><div><br />
</div></div><div><b>B. Compiling the Source Code</b></div><div><br />
</div><div>I've also manged to get the source code to work. This is less bothersome, because you need not link the libaries. Hence less man hours, but more disk space and computer hours for compiling. Didn't take as long as I feared, though. And it's using a slightly newer version of mplayer-vaapi, which includes some rudimentary OSD in vaapi mode now.</div><div><br />
</div><div>7. Install the build environment:</div><div><br />
</div><div></div><blockquote><div>sudo apt-get build-dep mplayer</div><div>sudo apt-get install libdrm-dev</div><div>wget <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb">http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb</a> && sudo dpkg -i <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/libva/pkgs/i386/libva-dev_0.31.0-1+sds8_i386.deb">libva-dev_0.31.0-1+sds8_i386.deb</a></div><div>maybe: sudo apt-get -f install</div><div></div></blockquote><div><br />
</div><div><br />
</div><div>8. Download the source at <a class="vt-p" href="http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20091106-FULL.tar.bz2">http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/mplayer-vaapi-20091106-FULL.tar.bz2</a>. Unpack it and execute the <b>checkout-patch-build.sh</b>.</div><div><br />
</div><div>9. Check if it works, e.g. </div><div><blockquote>mplayer -fs -vo vaapi -va vaapi ~/HDtest.avi</blockquote></div><div><br />
</div><div>10. </div><div><blockquote>sudo make install.</blockquote></div><div><br />
</div><div>X. Done! Enjoy e.g. a nice <a class="vt-p" href="http://www.dvdloc8.com/clip.php?movieid=12954&clipid=1">HD trailer</a> for a start! Post your results! I can recommend using it in smplayer for more comfort(e.g. automatically continue where you left of last). If it crashed, check out by blog entry about <a class="vt-p" href="http://linux-tipps.blogspot.com/2009/12/fixing-smplayer-crash-with-vaapi.html">smplayer crashing in vaapi mode</a>.<br />
<br />
Update: It turns out deinterlacing not working is not due to VAAPI, but a limit in the psb driver. It works with the current iegd driver and other drivers from AMD and NVIDIA (press the D putton in mplayer I think). If I could just get one of those iegd drivers... Thanks Gwenole from <a class="vt-p" href="http://www.splitted-desktop.com/">splitted-desktop.com</a> for answering my email and of course for writing the mplayer-vaapi patches in the first place! He seems to be the absolute VAAPI expert.<br />
<br />
Also some experiments show that I can attach an external screen and watch videos with VAAPI on it. That means I should be able to actually use the netbook for decoding HD video and displaying it on an external screen. (But it does not work for me with except in mirror or single display mode.) Only thing missing now is a digital display port to connect a FullHD display... ;)<br />
<br />
<b>You might also be interested in Surround Sound and Battery Life</b><br />
And I did get a <a class="vt-p" href="http://linux-tipps.blogspot.com/2010/06/creative-x-fi-surround-usb-guide-for.html">USB surround sound card</a> working wonderfully now. Also here's some advice I wrote on <a class="vt-p" href="http://linux-tipps.blogspot.com/2010/06/saving-33-or-3-watts-of-power-with-my.html">decreasing your power consumption</a>.</div></div><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com26tag:blogger.com,1999:blog-2124831850793435411.post-64861780610326651142009-12-26T00:46:00.014+00:002010-06-09T09:43:05.942+01:00X Video finally works - Poulsbo and Linux on the MSI Wind U110 - Fix for BUG: kernel NULL pointer dereference at 00000000<div>If you tried to get poulsbo to run on your system and you get a message like this, you should try the fix posted below.</div><div><br />
<blockquote>"kernel BUG: unable to handle kernel NULL pointer dereference at 00000000" (2.6.28)<br />
<div>"kernel BUG: unable to handle kernel NULL pointer dereference at (null)" (2.6.31)</div><div><br />
</div></blockquote></div>Thanks to a <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-psb/+bug/406529/comments/6">post</a> on Ubuntu's <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-psb/+bug/406529">bugzilla</a>, the poulsbo video module now finally works on my <a href="http://linux-tipps.blogspot.com/2009/08/msi-wind-u110-linux-review.html">MSI Wind U110 (full review & installation guide</a>). Download the psb-kernel-source module You only have to <a href="https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-psb/+bug/406529/comments/6">comment out</a> the two lines in intel_lvds.c starting with<br />
<br />
<blockquote>if (edid)<br />
....<br />
<br />
e.g.<br />
/* if (edid)<br />
drm_add_edid_modes(output, edid); */</blockquote><blockquote><br />
</blockquote><div>Then reconfigure the package and it should be recompiled. The next time you start it, it should work instead of creating kernel BUG</div><br />
<div><div>Update:</div><div>Xvideo actually works better than in Directx video in Windows XP, where I often see blocky video scaling. The CPU usage is not too high, either. Currently it's only working under Ubuntu 9.04 for me. Though I had managed to compile the module with kernel 2.6.30 before, I don't remember how I did that... And I haven't gotten actual video acceleration to work yet. </div><div><br />
</div><div>Of course I'll keep you updated and I'll post a little howto once it's all working. But feel free to ask, anyway. And thanks so much to the person from the Ubuntu bugzilla who helped me to finally get it all working!!!</div><div><br />
</div><div>Update2: Keep checking the page. I will post a link to an archive with a script that will manage the compilation in Ubuntu 9.10. If someone could help me figure out how to, I'd love to create, upload and post a .deb for dkms so it all works automatically... Or ultimately, we could modify the driver to check for the MSI's signature and then skip the edid check.</div><div><br />
</div><div>I've created a <a href="http://www.megaupload.com/?d=BB23R7K2">package</a> for Karmic that you can use to manually install the <b>driver with the fix already applied</b>: <a href="http://www.megaupload.com/?d=BB23R7K2">http://www.megaupload.com/?d=BB23R7K2</a>. Extract it and execute the script make_psb.sh, then reboot and try to modprobe psb. Let me know when the 10 downloads run out and it it works for you.</div><div><br />
</div><div>Update3: Here is a <a href="http://linux-tipps.blogspot.com/2009/12/vaapi-accelerated-hd-video-on-msi-wind.html">step by step howto</a>. It explains setting up X and then VAAPI (hardware video decoding) in Kubuntu 9.10.<br />
<br />
My script for making the psb module out of the package:<br />
<br />
<blockquote>KERNEL=/lib/modules/`uname -r`/</blockquote><blockquote>make KERNELRELEASE="$(uname -r)" LINUXDIR="/lib/modules/$(uname -r)/build" DRM_MODULES=psb || exit 1;</blockquote><blockquote>sudo cp drm.ko $KERNEL/kernel/drivers/gpu/drm/drm.ko</blockquote><blockquote>sudo mkdir -p $KERNEL/updates/dkms</blockquote><blockquote>sudo cp psb.ko $KERNEL/updates/dkms/psb.ko</blockquote><blockquote>ls -l $KERNEL/kernel/drivers/gpu/drm/drm.ko $KERNEL/updates/dkms/psb.ko</blockquote><blockquote>sudo depmod -a</blockquote><div><br />
</div></div></div><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com9tag:blogger.com,1999:blog-2124831850793435411.post-19772138500249245872009-11-01T11:23:00.003+00:002009-11-01T11:29:39.758+00:00More News on Intel and its GMA 500 under LinuxThe LinuxJournal wrote two articles about the horrible Linux support for Intel's GMA 500 graphics chipset.<br /><a href="http://www.linuxjournal.com/content/how-kick-your-friends-face-gma500">How to kick your friends in the face - GMA500</a><br /><a href="http://www.linuxjournal.com/content/more-poulsbo-gma500-intel-and-community">More on Poulsbo GMA 500 - Intel and the Community</a><br /><br />Also see the Intel defending <a href="http://moblinzone.com/blog/743/64/Blaming_Intel_for_how_the_world_is">response</a>.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-20825371661715150592009-08-30T09:46:00.006+01:002009-08-30T09:53:16.988+01:00Convert 1080i AVCHD directly to 720p avi with ffmpeg 0.5With the realease off ffmpeg 0.5 there is much better AVCHD support in my experience, so you can use it for perfect conversions. You can download ffmpeg from ffmpeg.org and then use this script:<div><br /></div><blockquote>#!/bin/sh<br /># ffmpeg-avchd script by linux-tipps.blogspot.com<div># to encode a directory use this command:</div><div># for i in *.m2ts; do ffmpeg-avchd $i; done</div><div><div>IN="$1"; shift</div><div>OUT=$(echo $IN | sed 's/.m2ts//')-720p.avi</div><div>echo Encoding $IN to $OUT.</div><div>ff="ffmpeg -deinterlace -i "$IN" -acodec copy -vcodec libx264 -vpre normal -crf 25 -sws_flags lanczos -s hd720 -r 25"</div><div>echo $ff $OUT</div><div>nice $ff "$OUT"</blockquote></div></div><div></div><div><br /></div><div>The only thing I'm not really happy with yet is the deinterlacing and deshaking. I would like to use a sharper deinterlacer, but I guess I'd need mencoder for that. The Lanczos software scaler does make steady images pretty sharp already, though.</div><div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2124831850793435411.post-45744476053567065782009-07-08T00:05:00.003+01:002009-07-08T00:09:41.662+01:00A Netbook for LinuxWhile most netbooks use common intel chips, some use the GMA500, which is yet badly supported for linux. An open source driver "may" be there in Q4 2009. But as the <a href="http://gwenole.beauchesne.info/en/blog/2009/06/22/video_decode_acceleration_benchmarks">video decoding acceleration benchmarks</a> show, it might be worth waiting for it. It's not only good, but also energy-efficient at decoding even HD material. The bad thing is though - there's at the moment no yet any well working Linux driver available. And you can't even know for sure it will ever come. If you're still interested, check out the MSI Wind U110.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-16394123028233778902009-05-02T11:52:00.003+01:002009-05-02T12:05:49.058+01:00Mpeg ArtifactsI wonder why mpeg decoders always produce artifacts (bad blocks) when decoding a stream with errors. Shouldn't there be a much better way to handle stream errors? What about discarding the block, there should only be a little glitch then instead of a completely bad block.<br /><br />The other, more difficult option would seem to be to try to find a block that would match the crc and replace the bad block with it.<br /><br />At least the current situation seems to be less that optimal.<br /><br />It seems a similar idea has already<a href="http://www.wipo.int/pctdb/en/wo.jsp?wo=2004028160"></a><a href="http://www.freepatentsonline.com/7408992.html"> been</a> <a href="http://www.wipo.int/pctdb/en/wo.jsp?wo=2004028160">patented</a>: "(WO/2004/028160) DETECTION AND REPAIR OF MPEG-2 CHROMA UPCONVERSION ARTIFACTS"<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2124831850793435411.post-44313015856521266132009-03-22T13:17:00.023+00:002009-05-23T11:46:50.406+01:00"Never use the second pass encoding again" - Using 'Constant Ratefactor' Instead of Average Bitrate in x264Okay, I may not be able to completely fulfill that promise, but you will most likely be saved from the second pass and thus a lot of encoding time quite often with this tip. If you don't need the resulting file to e.g. fit on a CD, Constant Ratefactor aka Constant Quality is probably perfect for you. Let me supply you with a quick overview and my quick mencoder script that does the job.<br /><br />Did you know you can use a roughly vorbis-like quality selection, constant quality <a href="http://mewiki.project357.com/wiki/X264_Settings#crf">crf</a> even in x264? This will save you a lot of encoding time with <a href="http://forum.handbrake.fr/viewtopic.php?f=5&t=6567#p38179">more or less the same quality</a>. Or <a href="http://forum.handbrake.fr/viewtopic.php?f=5&t=6567#p41845">maybe not</a>? Well it will look different, but it <a href="http://forum.handbrake.fr/viewtopic.php?f=5&t=6567#p41854">should be fine</a>. For x264 a range of 18-26 is <a href="http://mewiki.project357.com/wiki/X264_Settings#crf">recommended</a>. The higher the number the lower the bitrate and thus the file size will be.<br /><br />Nice! Finally I don't need to adjust and calculate bitrates myself anymore! The algorithms really seem to work, because when I now change the codec settings to more efficient ones (e.g. increase the frameref, subq or enable mixed_refs) the quality (SSIM) remained pretty similar, while the bitrate sank.<br /><br />Some experience with the parameters: The mixed_refs parameter did regularly increase the SSIM for me, but also took a lot more time to encode. Frameref=2 increases the efficiency with little performance impact in my experience. I wonder why it's not the default. Bframes decrease the quality slightly but shave a lot off the bitrate and even increase performance a bit for me.<br /><br />Let me show you my "quick" example script for mencoder.<br /><blockquote>#!/bin/bash<br /><br />CRF=23.5 # 21-26 recommended, the higher the smaller the resulting file, see http://mewiki.project357.com/wiki/X264_Settings#crf<br /><br />INPUT="$1"; shift<br />X264OPTS="$1"; shift<br />OUT=`basename "$INPUT"`"-x264.avi"<br />echo Encoding $INPUT to $OUT<br /><br />mencoder="time nice /usr/bin/mencoder -quiet -cache 16384"<br />enc="$mencoder -ovc x264 -oac copy -x264encopts crf=$CRF:trellis=1:frameref=2:bframes=2:8x8dct:psnr:ssim:$X264OPTS"<br /># I suggest nr= of no more than 2 or 3 with current x264 from svn.<br /># something along the lines of -vf<br /># eq=contrast=20:brightness=2,hue=saturation=1.25 for bleak videos<br /># denoise3d for noisy and unsharp=l:3x3:1.045 for blurry videos.<br /># I recommend to try out the result with mplayer first.<br /># A combination of all may work well, too.<br /><br />echo $enc -o "$OUT" "$INPUT" $*<br /><br />[ -f "$OUT" ] && echo File exists && exit 1;<br /><br />$enc -o "$OUT" "$INPUT" $*<br /><br /># You can call the script like this:<br /># script.sh input [x264encopts] [mencoder parameters]<br /># $ sh menc.sh somefile.mpg "interlaced" "-vf crop=..." or<br /># $ sh menc.sh somefile.mpg "" "-vf crop=..." or simply<br /># $ sh menc.sh somefile.mpg<br /># to get the right crop settings try $ mplayer -vf cropdetect<br /></blockquote><br /><br />Feel free to get out the flame thrower - or just make some productive comments.<div class="blogger-post-footer">(...)
-- Click to read the entire post.</div>Unknownnoreply@blogger.com0