PDA

View Full Version : how to get the 264 decoder from ffmpeg?


litianyu2k3
21st June 2004, 11:17
I wanna have a try,use ffmpeg's 264 decoder to decode x264 result.but seems some bug existed.BTW,the compressed bit stream will be good decoded by JM81a. Is the problem could be confirmed by any one else?
Another,could i get a clean 264 decoder from ffmpeg? It seem quite a hard work. Is there any intro documents of the 264 decoder of ffmpeg? Any good advices is appreciated.Thanks a lot!

Nic
21st June 2004, 13:03
Please be more specific.
"but seems some bug existed" -> What does that mean? What type of bug? How are you using the decoder? (i.e. in ffmpeg, ffdshow, etc)

Getting the decoder clean from outside of ffmpeg is a bit tricky, but is possible.

Are you hoping to develop a decoder? If so this should perhaps be moved to the development forum.

-Nic

ps
There are certain bugs in the decoder, I haven't narrowed them down exactly, but try without B-Frames or CABAC and then decoding always seems fine using the ffmpeg libraries.

Tommy Carrot
21st June 2004, 14:24
If you're talking about strange artifacts, it's because libavcodec cannot decode streams properly when inter Psub8x8 flag and CABAC are used together at encoding. It's been mentioned several times on this forum.

litianyu2k3
22nd June 2004, 03:13
Sorry,I should have to discribe the problem more clearly.
I have got a newest x264_2004_05_26,then i complier it using MSYS, simply i do the following command to get a compressed bitstream:
---x264 -o foreman_cif.264 foreman_cif.yuv 352x288
then i also get a newest ffmpeg from cvs and complier it too,then i do the following command:
---ffmpeg -f h264 -i foreman_cif.264 foreman_cif_dec.yuv
after all,i use the yuvviewer to check the decoded file,but unfortunately,from the 192nd frame there disappear a black shape,almost fill all the picture,that what i found.BTW,i also think there have some other small problems.I have checked the x264 encoder param,cabac is disable at default,so this problem should not the one which have been reported as "inter Psub8x8 flag and CABAC are used together".I wanna confirm this problem.And i really wanna a cleaned 264 decoder which could run fast.I am interestinig by the H264 decoder's speed in ffmpeg,but i am disappointed that it will take me quite some time to get a cleaned h264 decoder code from it,and at first,i have to get the conclusion that it could decode the x264 compressed bitstream correctly.
I am not sure whether fenrir know the above,i have heard of that he used the ffmpeg decoder to deal with the x264's encoder result.Any one could give me a confirm the problem above and give me some advice? Thanks in advance.

hellfred
22nd June 2004, 12:27
Try to compile without support of SSE and see if the problem disappears. I have lots of crashes in mencoder when compiling mplayer/mencoder under MinGW that disappear when SSE is disabled in cofigure. It is worth a try before you hunt phantoms in the code. (Or try with cygwin)

Hellfred

litianyu2k3
23rd June 2004, 03:38
hi,all ,foreman_cif.264 is the h264 encoded file compressed by newest x264,it could be decoded correctly by JM81a,but when i use ffmpeg to decode it, there have many little flecks here and there,and begin from the No192 frame,there will appear a black shape. I also have try to complier the ffmpeg without mmx,so the fellowing is what i have done:
1.start MSYS,enter ffmpeg
2. ./configure --enable-shared --disable-mmx --disable-ffserver --disable-ffplay
3.make
4.make install
5.ffmpeg -f h264 -i foreman_cif.264 foreman_cif_dec.yuv
Is there anything wrong? Is there anyone could help me finding out how to decode the x264 compressed file using ffmpeg correctly? If u would like send me your mail address ,i will send the oreman_cif.264 file to u.Thanks a lot!
:confused:

hworldjj
15th September 2004, 07:11
I have used ffmpeg to decode the 264 bitstream encoded by x264 as you said, but it's ok. I didn't see what's you said. Maybe you should get the newest version of x264 since the previous version has bugs.

bond
15th September 2004, 19:09
the bug with cabac has been fixed in ffmpeg since then