[vdr] Single CoreAVC Patch

Igor goga777 at bk.ru
Sun May 4 21:04:21 CEST 2008


Dear Morfsta

would you update your coreavc-patch for current HG-version of xine-lib-1.2
(btw - there's coreavc 1.7.0)

I have the problem with patch

# cat xine-lib-1.2hg-coreavc.diff | patch -p1 --dry-run

patching file include/xine/buffer.h
Hunk #2 succeeded at 687 (offset 1 line).
patching file src/demuxers/bitstream.h
patching file src/demuxers/demux_mpeg.c
patching file src/demuxers/demux_mpeg_pes.c
patching file src/demuxers/demux_qt.c
Hunk #1 succeeded at 2760 (offset 34 lines).
Hunk #2 succeeded at 2779 (offset 34 lines).
patching file src/demuxers/demux_ts.c
patching file src/libw32dll/DirectShow/DS_AudioDecoder.c
patching file src/libw32dll/DirectShow/DS_Filter.c
patching file src/libw32dll/DirectShow/DS_Filter.h
patching file src/libw32dll/DirectShow/DS_VideoDecoder.c
patching file src/libw32dll/DirectShow/guids.c
patching file src/libw32dll/DirectShow/guids.h
patching file src/libw32dll/DirectShow/outputpin.c
patching file src/libw32dll/DirectShow/outputpin.h
patching file src/libw32dll/Makefile.am
The next patch would create the file src/libw32dll/nal_parser.c,
which already exists!  Assume -R? [n] n
Apply anyway? [n] n
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file src/libw32dll/nal_parser.c.rej
The next patch would create the file src/libw32dll/nal_parser.h,
which already exists!  Assume -R? [n] n
Apply anyway? [n] n
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file src/libw32dll/nal_parser.h.rej
patching file src/libw32dll/w32codec.c
patching file src/libw32dll/wine/ext.c
patching file src/libw32dll/wine/pe_image.c
patching file src/libw32dll/wine/vfw.h
patching file src/libw32dll/wine/win32.c
Hunk #36 FAILED at 5288.
Hunk #37 succeeded at 5327 (offset -2 lines).
Hunk #38 succeeded at 5440 (offset -2 lines).
Hunk #39 succeeded at 5460 (offset -2 lines).
Hunk #40 succeeded at 5468 (offset -2 lines).
Hunk #41 succeeded at 5481 (offset -2 lines).
1 out of 41 hunks FAILED -- saving rejects to file src/libw32dll/wine/win32.c.rej





-----Original Message-----
From: Morfsta <morfsta at gmail.com>
To: vdr at linuxtv.org
Date: Fri, 15 Feb 2008 15:40:10 +0000
Subject: [vdr] [ANNOUNCE] Single CoreAVC Patch that Works with Xine-lib andVdr-xine

> 
> Hi,
> 
> Attached is a patch to enable decoding of H264 video streams using the
> CoreAVC Win32 DLL, the latest HG clone of xine-lib and Reinhard's
> vdr-xine and of course VDR. CoreAVC is a commercial and fast
> software-based H264 decoder.
> 
> To make this work: -
> 
> 1) Download the latest mercurial xine-lib (hg clone
> http://hg.debian.org/hg/xine-lib/xine-lib-1.2)
> 2) Patch it (cd xine-lib-1.2 ; patch -p 1 < xine-lib-1.2hg-coreavc.diff)
> 3) Make and install it in your usual way (e.g. ./autogen.sh
> --disable-dxr3 ; make ; make install). You might want to remove old
> xine-lib first (rm /usr/local/lib/libxine* ; rm -rf
> /usr/local/lib/xine)
> 4) Make and install xine-ui (skip if already installed)
> 5) mkdir /usr/lib/win32
> 6) Put CoreAVCDecoder.ax (version 1.5.0 is the only version I can get
> working - the version I have is called coreavcdecoder_unpacked.ax) in
> /usr/lib/win32
> 7) Remove the old external ff decoder references (rm
> /usr/local/lib/xine/plugins/2.0/xineplug_decode_ff.so  ; rm
> /usr/local/lib/xine/plugins/2.0/xineplug_decode_qt.so)
> 8) Start VDR -Pxine
> 9) Run xine (xine  -f -pq -I -V xv -A alsa --post vdr_video --post
> vdr_audio -Dtvtime:method=Greedy2Frame,cheap_mode=0,pulldown=0,use_progressive_frame_flag=1
> vdr://tmp/vdr-xine/stream#demux:mpeg_pes)
> 
> You can also tweak some of the CoreAVC settings. See this page for
> more details: -
> 
> http://code.google.com/p/coreavc-for-linux/wiki/RegisterCoreAVC
> 
> but change ~/.mplayer/registry32 with ~/.xine/win32registry.
> 
> Note, to increase performance I have disabled the xine de-interlacer
> for H264 streams as by default the CoreAVC deinterlacer is enabled. I
> don't think it's as good as the xine de-interlacer, but if you want to
> try re-enable xine deint on your CPU (too slow on my 2.6Ghz dual core)
> then edit xine's src/libw32dll/w32codec.c and re-enable "int field =
> VO_BOTH_FIELDS | VO_INTERLACED_FLAG;" and comment out "int field =
> VO_BOTH_FIELDS;"
> 
> Then you can disable CoreAVC's deinterlacer using the instructions on
> code.google.com (registercodec -r ~/.xine/win32registry -k
> "HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\Deinterlace" -v
> 3 -t dword)
> 
> Note, I haven't written the majority of this patch, it has been
> pulled together from about 4 other patches (budice's work on DVBN and
> the google code site itself). I have added code to automatically
> detect the size of the H264 stream and to set the aspect ratio of the
> resultant picture as well as making it apply cleanly (hopefully!)  to
> today's HG of xine.
> 
> Therefore, the code is nothing more than a total hack and will not
> likely see inclusion in xine in it's current form. There is currently
> H264 parsing occurring in the demuxer which is probably a "bad thing",
> it should be moved out of there. Additionally, I have added a new
> variable to the BITMAPINFOHEADER to pass the ratio from the demuxer to
> the codec source which is also not ideal, but hey, it works!
> 
> It has been pretty stable for me over the last few days and is a vast
> improvement over FFMPEG.
> 
> Finally, I urge you to go and BUY CoreAVC (http://www.coreavc.com) if
> you are using this patch - it's only 15USD.
> 
> Let me know if there are any problems and good luck!
> 
> Cheers,
> 
> Morfsta
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: attachment2
Url: http://www.linuxtv.org/pipermail/vdr/attachments/20080504/352e9014/attachment-0001.txt 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xine-lib-1.2hg-coreavc.diff.bz2
Type: application/x-bzip2
Size: 26512 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20080504/352e9014/attachment-0001.bin 


More information about the vdr mailing list