Log in

View Full Version : 3ivx filters insist on decoding video stream


SimonSez07
20th September 2004, 05:13
i installed the 3ivx ds filter pack to experiment with mp4 streams.

the filters it installs correctly mux/demux mp4 streams and handle mpeg4 video and aac audio in media player.

however i cant get any OTHER mpeg4 ds filters to playback the video stream that comes out of the 3ivx splitter.

for instance, in graphedit when i connect the output of the 3ivx mp4 splitter to ffdshow mpeg4 decoder it wont accept it. and if i unregister the 3ivx mpeg4 video decoder (regsvr32 /u 3ivxDSDecoder.ax) the audio plays fine but the video wont play. even with ffdshow or divx5 or nero filters installed.

this is a standard mpeg4 stream (encoded with divx 5.2) so why will it not play with these filters after being packaged in an mp4 container? is it an issue with the 3ivx splitter filter?

ive tried muxing with mpeg4ip tools and it still requires the 3ivx video decoder. the ffdshow and divx decoder filters seem to work with any container (avi, ogm, mkv, ...) except mp4.

edit:
ditched the 3ivx filter pack and tried the mpegable (crap) filter pack. same issue. standard mpeg4 video decoder filters will not accept output from mp4 stream splitter. could be an issue with the way video stream is written in an mp4 container.

celtic_druid
20th September 2004, 08:22
With 3ivX you did enable allow unsupported decoders didn't you?

yaz
20th September 2004, 08:29
when wrapped into mp4 the video stream 'loose' its 4cc ('divx' in your case) & get a general 'mp4v' 4cc on playback. when u install 3ivx this 4cc is 'connected' to it. so u should
- install a codec capable of playing back such stream (say, xvid)
- set 'mp4v' by hand in the registry and relate it to your favourite codec

or ...
the 'mp4v' 4cc is registered in ffdshow, iirc, to divx4 (why???), so try to enable it. this way libavcodec will be your decoder. (fine for divx, afaik)

these all worx for me

the bests
y

as i see, uninstalling 3ivx does not clean the registry properly. u should do it also by hand

stephanV
20th September 2004, 09:16
like celtic druid said, its just a setting in the splitter. open the 3ivx configuration screen and set it so other codecs are allowed to connect too.

no need to make a mess out of your registry.

SimonSez07
21st September 2004, 01:24
great. thx for your help guys. this did work. i enabled 'allow unsupported decoders' and then i did 'regsvr32 /u' on the 3ivx decoder. now it works as i like. the 3ivx splitter handles the mp4 container and the ffdshow filters do the mpeg4 video and aac audio.

if i can figure out what that setting changes in the registry, im gonna make a nsis installer for just the splitter and mux filters that enables unsupported decoders too. cause i dont even need any of the other filters/encoders in the 3ivx package.

am i correct to assume that the ffdshow aac filter is better than 3ivx. and on another note: which is better, the divx5 decoder or ffdshow decoder for video?

celtic_druid
21st September 2004, 04:07
Both 3ivX and ffdshow I think use faad, however ffdshow is presumably compiled against a newer lib, also it keeps working longer than 30 days. You also have coreaac, once again based on faad.

ffdshow is definatly faster. Also don't forget XviD.

SimonSez07
21st September 2004, 06:22
with 3ivx audio decoder or ffdshow i cant play adts aac files in media player, only when packaged in mp4 or m4a. is there a filter i can use to play these files?

[EDIT]
so after a little research i found this aac_parser directshow filter. this will work to play adts aac files encoded with nero but not aac files extracted from itunes downloads. it does say in the readme "Won't work with ADTS headers with an emphasis field from earlier versions of the MPEG-4 standard." this could be why, but im not sure what this means or how to get around the problem.

celtic_druid
21st September 2004, 07:07
You need an aac splitter filter. There is one on rarewares.

bond
22nd September 2004, 01:00
Originally posted by celtic_druid
Both 3ivX and ffdshow I think use faad, however ffdshow is presumably compiled against a newer lib, also it keeps working longer than 30 days.afaik 3ivx only uses faac and not faad