2014-03-30, 21:07
Updated Gotham build, XBMC master from Mar 30 + newclock3 commits.
Some info:
• Master: Several fixes and updates
• NC3: Only need a confirmation dialogue when resolution has actually changed
• NC3: [paplayer] Use position based seeks for ffmpeg demuxer
• NC3: Fix leaks in the failure handling of jpeg decode to texture
• NC3: [omxplayer] Add ability to choose different scaling kernels through OSD, see below
Firmware from March 30 included:
• Fix for video stutter after seek on streams without b frames
• Add gencmd for setting the current scaling kernel, see below
Additional info and testing (DVDPlayer etc.), see post #1
To install XBMC build, SSH to Pi:
Some words from popcornmix:
Some info:
• Master: Several fixes and updates
• NC3: Only need a confirmation dialogue when resolution has actually changed
• NC3: [paplayer] Use position based seeks for ffmpeg demuxer
• NC3: Fix leaks in the failure handling of jpeg decode to texture
• NC3: [omxplayer] Add ability to choose different scaling kernels through OSD, see below
Firmware from March 30 included:
• Fix for video stutter after seek on streams without b frames
• Add gencmd for setting the current scaling kernel, see below
Additional info and testing (DVDPlayer etc.), see post #1
To install XBMC build, SSH to Pi:
Code:
wget -O xbmc-13-20140330-nc3.tar.gz http://goo.gl/5CINQa --no-check-certificate
pv xbmc-13-20140330-nc3.tar.gz | tar xzf - -C /home/pi/.upgrade
sudo cp /home/pi/.upgrade/xbmc-13-20140330-nc3/{fixup_x.dat,start_x.elf} /boot
ln -sfn /home/pi/.upgrade/xbmc-13-20140330-nc3/xbmc-bcm /home/pi/.xbmc-current
sudo reboot
Some words from popcornmix:
Quote:The Pi has some quite advanced scaling hardware which is able to do higher quality scaling than other ARM (and probably most PC) boxes.
I've added an API to the firmware where the scaling kernel (a 32 tap filter) can be controlled.
I've hooked that into the sharpness control on the video OSD.
I've used the sharpness control for now as that gives an unobtrusive slider at the top of screen, rather than the scaling method drop down which obscures most of the screen.
Basically sharpness=0 uses the default scaling kernel (Sinc over the range +-3*PI with Hamming window applied).
Each click to the right of that uses a different kernel. I've implemented 9 kernels. Try them and report what you prefer.
Some suggestions:
It's probably best to pause the video when there is some detail visible (like text) to see the effect.
Don't try it when video is 1080p and display is 1080p or you won't see anything. It's more interesting when playing SD content on a HD display
It's not magic. The kernels are a compromise between sharpening (producing more detail, but increasing noise) and blurring (hides the noise and the detail).
The best option for SD video may be different to the best option for 720p.
If anyone is curious and especially if they know about image scaling, then you can see the current kernel with:
Code:vcgencmd scaling_kernel
scaling_kernel=-2 -3 -4 -4 -3 1 9 22 40 64 90 118 145 169 186 196 196 186 169 145 118 90 64 40 22 9 1 -3 -4 -4 -3 -2 0
and set it with a similar command. The first 32 numbers are the filter coefficients. The last is whether coefficients interpolation is disabled.
(it should be 0 unless doing a nearest-neighbour type kernel).