#369 closed enhancement (wontfix)
allow the use of libvc1 (WMV9 support)
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | if idle | Component: | vd |
Version: | HEAD | Severity: | minor |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
Request
here we are, the libvc1 that allows the native support of WMV9 (in)famous format
hits the road.
the instructions to do so for VideoLAN are out, MPlayer should of course also do
something about it, isn't it ? :)
$ cd ~/videolan ; wget http://nanocrew.net/software/libvc1-1.0.tar.gz ; tar
-zxvf libvc1-1.0.tar.gz
$ wget
http://USERNAME:PASSWORD@www.smpte-vc1.org/TrialPublication/Decoder/VC1_reference_decoder_release6.zip
$ unzip VC1_reference_decoder_release6.zip
$ cp VC1_reference_decoder_release6/decoder/*.[ch] libvc1-1.0/src/.
$ cp VC1_reference_decoder_release6/shared/*.[ch] libvc1-1.0/src/.
$ cd libvc1-1.0 ; ./bootstrap ; ./configure --prefix=/usr ; make
Change History (3)
comment:1 by , 19 years ago
Component: | demuxer → vd |
---|---|
Priority: | normal → if idle |
Resolution: | → fixed |
Severity: | normal → enhancement |
Status: | new → closed |
Version: | unspecified → CVS |
comment:2 by , 18 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
(In reply to comment #1)
Here is an entry in a blog mostly interesting
http://blog.linux.org.tw/~jserv/archives/001545.html
and more recently
http://blog.linux.org.tw/~jserv/archives/001726.html
I have tested it on my Opteron system (meaning a 64bit MPlayer binary) and I am
very happy with it.
Some files still have trouble but it reads mostly without trouble, this calls
for an integration and free us all of the
infamous-video-format-that-could-not-be-read
comment:3 by , 18 years ago
Resolution: | → wontfix |
---|---|
Status: | reopened → closed |
Thanks for informing, but integrating this is not possible for licensing
reasons. Also a VC-1 decoder is a "Google Summer of Code" project, so there will
be (actually already is) some progress anyway.
use mike melanson's howto to get libvc1 into ffmpeg/libavcodec
then build mplayer with libavcode+libvc1
http://multimedia.cx/eggs/?p=129#more-129
Some people have asked me for my code to make the SMPTE VC-1 reference decoder
work with FFmpeg, slow though it may be. I suppose I could make a patch. But the
official version of FFmpeg is whatever happens to be in CVS at the current
moment. So any patch I could produce would work for maybe a day. So get ready to
do a little editing on your local FFmpeg CVS tree. The steps:
procure the VC1_reference_decoder_release6.zip file from the main site and unzip
the tree somewhere
have a copy of FFmpeg’s CVS tree handy; the rest of these instructions will
assume that you are sitting in the root of the FFmpeg tree
create a directory called libavcodec/libvc1
copy all of the *.c and *.h files from VC1_reference_decoder_release6/decoder/
into libavcodec/libvc1/
copy all of the *.c and *.h files from VC1_reference_decoder_release6/shared/
into libavcodec/libvc1/
place the libvc1-makefile.txt into libavcodec/libvc1/Makefile
change directory into libavcodec/libvc1 and type ‘make’
change directory back to the FFmpeg root
place the smpte-vc1.c file into libavcodec/
edit libavcodec/vc9.c, go the very end of the file, and add #if 0/#endif around
the wmv3_decoder AVCodec structure; this will keep it from conflicting with the
new SMPTE WMV3 decoder
edit libavcodec/Makefile and add smpte-vc1.o to the end of the OBJS list
edit the top-level Makefile and add “-L./libavcodec/libvc1 -lvc1″ (without the
quotes) to FFLIBS
run ‘./configure’ at the top level if you have not already done so for this tree
run ‘make’ at the top level
That should be all there is to it. If FFmpeg declines to acknowledge the ability
to decode WMV3 data run ‘./ffmpeg -formats | grep wmv3′ and make sure you see
(after the versioning info): ” D V wmv3″.
Remember, the performance of the SMPTE VC-1 decoder is, as they say, “nothing to
write home about”. It’s dog slow. It’s not meant to be fast. And it will not be
optimized. Ever. Eventually, we will create our own decoder that leverages
optimized VLC decoding functions, transforms, filters, etc. But in the meantime,
if you want to experiment with the reference decoder, this should work for you.