Not logged in. · Lost password · Register
Forum: Discussion RSS
Status of included ffmpeg and deinterlacing??
andersos #1
Member since Mar 2008 · 2 posts · Location: Södra Vallgrund
Group memberships: Members
Show profile · Link to this post
Subject: Status of included ffmpeg and deinterlacing??
Hi all :)

I found Mythtv Player today and don't know very much about it yet. But from what I've seen it's a very interesting application that would be useful for me.

So I wanted to ask some questions :

1. From quickly browsing the site and svn I learn that ffmpeg is used. But it seems not be very recent version.
There is now h.264 multithreading and various other improvements regarding h.264 decoding in ffmpeg. Will it be very long before these features are included in Mythtv Player?

2. Mythtv recently got greedy high motion and yadiff deinterlacers (from dscaler project). Greedy h is very nice for deinterlacing (sd) digital tv. Will it be very long before dscaler deinterlacers are available in Mythtv Player?


I don't mean to put stress on someone by asking those questions, but it would be nice to have some idea of approximate timeframe for availability of those features.
Peanutious #2
Member since Jan 2007 · 19 posts
Group memberships: Members
Show profile · Link to this post
Hi Anderos,

You are correct that the libraries that MythTV Player uses have not been updated very recently, and the player would benefit from updated libraries.  Mikkel has been quite busy these last few months so development has been moving slowly.  If you have some time and would like to experiment with getting updated/additional libraries working with MythTV Player I'd be happy to help you get started. 

As an aside, the latest beta versions of MythTV player support simple deinterlacing using ffmpeg -- quite a few folks have stated that they'd like to have more deinterlacing options.
Peanutious #3
Member since Jan 2007 · 19 posts
Group memberships: Members
Show profile · Link to this post
Incidentally, I tried to compile the latest ffmpeg svn build today using MSys and MinGW following the steps shown at http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php and http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index…?page=S…

FFMPEG compiled just fine but created files such as libavcodec.a vs libavcodec.dll.a.  The libavcodec.a is 19.4MB instead of the 440K libavcodec.dll.a found in the libs that Mikkel used for the latest development version.

I've tried compiling with MSys using the following commands with no luck in achieving .dll.a and only slight progress in reducing the file size:
Attempt #1 Building FFmpeg SVN Statically
./configure --enable-memalign-hack
make
make install

Attempt #2 Building FFmpeg SVN dlls
make distclean
./configure --enable-shared --disable-static --enable-memalign-hack
make
make install

Attempt #3 Modification from example shown at http://www.salyens.com/mingw/
./configure --extra-cflags="-mno-cygwin  -mms-bitfields" --extra-ldflags="-W1
,--add-stdcall-alias"  --enable-shared --disable-ffserver --disable-ffplay --en
able-memalign-hack
cd libavcodec
make

Attempt#4 Disable muxers/encoders libavcodec.a filesize=14MB
./configure --enable-memalign-hack --disable-muxers --disable-encoders
make


Mikkel, when you things calm down for you any help on compiling the latest ffmpeg libraries for MythTV Player usage would be most appreciated.  Perhaps I need a bunch more disable statements to make the filesize smaller.

Here's a list of all the options when I run ./configure
$ ./configure --enable-memalign-hack
install prefix            /usr/local
source path               /C/Users/Nellie/documents/justin/mythtvtempsource/ffmpeg
C compiler                gcc
make                      make
.align is power-of-two    no
ARCH                      x86_32 (generic)
big-endian                no
MMX enabled               yes
CMOV enabled              no
CMOV is fast              no
EBX available             yes
EBP available             no
gprof enabled             no
debug symbols             yes
strip symbols             yes
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
software scaler enabled   no
new filter support        no
filters using lavformat   no
video hooking             no
network support           yes
IPv6 support              no
threading support         no
SDL support               no
Sun medialib support      no
AVISynth enabled          no
liba52 support            no
liba52 dlopened           no
libamr-nb support         no
libamr-wb support         no
libdc1394 support         no
libfaac enabled           no
libfaad enabled           no
libfaad dlopened          no
libgsm enabled            no
libmp3lame enabled        no
libnut enabled            no
libtheora enabled         no
libvorbis enabled         no
x264 enabled              no
XviD enabled              no
zlib enabled              no

Enabled decoders:
aasc                    h263                    qpeg
adpcm_4xm               h263i                   qtrle
adpcm_adx               h264                    ra_144
adpcm_ct                huffyuv                 ra_288
adpcm_ea                idcin                   rawvideo
adpcm_ea_r1             imc                     roq
adpcm_ea_r2             indeo2                  roq_dpcm
adpcm_ea_r3             indeo3                  rpza
adpcm_ea_xas            interplay_dpcm          rv10
adpcm_g726              interplay_video         rv20
adpcm_ima_amv           jpegls                  sgi
adpcm_ima_dk3           kmvc                    shorten
adpcm_ima_dk4           loco                    smackaud
adpcm_ima_ea_eacs       mace3                   smacker
adpcm_ima_ea_sead       mace6                   smc
adpcm_ima_qt            mdec                    snow
adpcm_ima_smjpeg        mjpeg                   sol_dpcm
adpcm_ima_wav           mjpegb                  sonic
adpcm_ima_ws            mmvideo                 sp5x
adpcm_ms                mp2                     sunrast
adpcm_sbpro_2           mp3                     svq1
adpcm_sbpro_3           mp3adu                  svq3
adpcm_sbpro_4           mp3on4                  targa
adpcm_swf               mpc7                    theora
adpcm_thp               mpc8                    thp
adpcm_xa                mpeg1video              tiertexseqvideo
adpcm_yamaha            mpeg2video              tiff
alac                    mpeg4                   truemotion1
amv                     mpegvideo               truemotion2
ape                     msmpeg4v1               truespeech
asv1                    msmpeg4v2               tscc
asv2                    msmpeg4v3               tta
atrac3                  msrle                   txd
avs                     msvideo1                ulti
bethsoftvid             mszh                    vb
bmp                     nellymoser              vc1
c93                     nuv                     vcr1
cavs                    pcm_alaw                vmdaudio
cinepak                 pcm_mulaw               vmdvideo
cljr                    pcm_s16be               vmnc
cook                    pcm_s16le               vorbis
cscd                    pcm_s16le_planar        vp3
cyuv                    pcm_s24be               vp5
dca                     pcm_s24daud             vp6
dnxhd                   pcm_s24le               vp6a
dsicinaudio             pcm_s32be               vp6f
dsicinvideo             pcm_s32le               vqa
dvbsub                  pcm_s8                  wavpack
dvdsub                  pcm_u16be               wmav1
dvvideo                 pcm_u16le               wmav2
eightbps                pcm_u24be               wmv1
ffv1                    pcm_u24le               wmv2
ffvhuff                 pcm_u32be               wmv3
flac                    pcm_u32le               wnv1
flic                    pcm_u8                  ws_snd1
flv                     pcm_zork                xan_dpcm
fourxm                  pcx                     xan_wc3
fraps                   ptx                     xl
gif                     qdm2                    xsub
h261                    qdraw                   zlib

Enabled encoders:
(A lot)

Enabled parsers:
aac                     h261                    mpeg4video
ac3                     h263                    mpegaudio
cavsvideo               h264                    mpegvideo
dca                     mjpeg                   pnm
dvbsub                  mlp                     vc1
dvdsub

Enabled demuxers:
aac                     image2                  pcm_u16le
ac3                     image2pipe              pcm_u8
aiff                    ingenient               pva
amr                     ipmovie                 rawvideo
apc                     lmlm4                   redir
ape                     m4v                     rm
asf                     matroska                roq
au                      mjpeg                   rtsp
avi                     mm                      sdp
avs                     mmf                     segafilm
bethsoftvid             mov                     shorten
c93                     mp3                     siff
daud                    mpc                     smacker
dsicin                  mpc8                    sol
dts                     mpegps                  str
dv                      mpegts                  swf
dxa                     mpegtsraw               thp
ea                      mpegvideo               tiertexseq
ea_cdata                mtv                     tta
ffm                     mxf                     txd
flac                    nsv                     vc1
flic                    nut                     vc1t
flv                     nuv                     vmd
fourxm                  ogg                     voc
gif                     pcm_alaw                wav
gxf                     pcm_mulaw               wc3
h261                    pcm_s16be               wsaud
h263                    pcm_s16le               wsvqa
h264                    pcm_s8                  wv
idcin                   pcm_u16be               yuv4mpegpipe

Enabled muxers:
(A lot)

Enabled protocols:
file                    pipe                    tcp
http                    rtp                     udp

Enabled filters:
crop

Enabled bsfs:
dump_extradata          mov2textsub             noise
h264_mp4toannexb        mp3_header_compress     remove_extradata
imx_dump_header         mp3_header_decompress   text2movsub
mjpega_dump_header

Enabled indevs:
vfwcap

Enabled outdevs:
Mikkel (Administrator) #4
User title: Developer
Member since Oct 2006 · 222 posts · Location: Copenhagen, Denmark
Group memberships: Administrators, Members
Show profile · Link to this post
I think I compiled it using the following options (but I am not 100% sure) Also, some of the options might have changed as its been quite a while as you hint;)
./configure --enable-memalign-hack --enable-mingw32 --disable-debug --disable-encoders --enable-shared --disable-static --enable-a52 --disable-muxers --enable-gpl --disable-ffserver
It is probably the --disable-debug that does the trick about the size.

I actually tried to update the version of ffmpeg used about a year ago, but it seemed like some things were broken. If I remember correctly, it complained that I used a deprecated function to decode the audio. So I guess some testing would be needed.
If you compile the player against a newer ffmpeg I would like to know if it works as expected. Then we should update the ffmpeg version and maybe even check in the used ffmpeg version in the trunk?

Btw, I am not sure if the NUV patch works with the latest ffmpeg. The nuv patch adds support for searching in .nuv files. The patch is included in the source tree under 'libffmpeg'. (I guess it should actually be commited to the ffmpeg cvs if nobody else has added this feature)
This post was edited on 2008-03-21, 17:48 by Mikkel.
andersos #5
Member since Mar 2008 · 2 posts · Location: Södra Vallgrund
Group memberships: Members
Show profile · Link to this post
Thanks for the answers!! I would be willing to put some time into trying to get newer ffmpeg libraries into MythTV Player. But I don't have a working MythTV setup currently. I will build a HD capable system soon - latest in summer. (I have a Vista system though.)

So I'll see a bit later how things are here then.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
This board is powered by the Unclassified NewsBoard software, 20090606-dev, © 2003-8 by Yves Goergen
Page created in 712.8 ms (497.2 ms) · 58 database queries in 448.1 ms
Current time: 2010-08-01, 01:17:53 (UTC +01:00)