''(Nov. 11, 2010 : Note) x264_L-SMASH is now under massive reconstruction. Therefore it is highly unrecommended to use this repository. After that reconstruction, x264_L-SMASH will be based on plain x264, not x264-audio. Thus, it will have L-SMASH's importer's copying feature only if at most, and x264-audio's audio encoding feature will be removed anyway.'' !!!x264_L-SMASH unofficial repository Surely [[L-SMASH]] has its [official repository|https://code.google.com/p/l-smash/] already, but we made [Unofficial repository|http://github.com/silverfilain/x264_L-SMASH] too. Because L-SMASH is preparing for audio muxing as well as sane mp4 muxing and it's very relating to [x264-audio|http://wiki.videolan.org/SoC_x264_2010]([repository|http://github.com/Kovensky/x264-audio/]), so that we have to manage files required for integration with it, especially "mp4.c". They call this x264_L-SMASH. !!For users try to use this Although this is also useful for users who want to easily get L-SMASH integrated x264, I don't recommend to use this repository. Because it's mainly for developers and possibly always unstable. L-SMASH's developers and contributors / collaborators are trying to keep this repository up to date everyday with official x264's repository and x264-audio's repository. Feedbacks / bug reports are welcomed as they improve our development. !!Additional features x264_L-SMASH has some features which is not unlikely to be gotten in x264's mainstream, even when x264-audio and L-SMASH's main features get merged with x264's mainstream. Such as, *L-SMASH's importer as an audio input filter. *Some a bit problematic audio encoder(s). *Command line options for mp4 muxer, which is: **For chapters and language flags for tracks. **To keep compatibility with some stupid un-compliant devices. !!Warnings Please note, that: *This is mainly ''for developers'' and not for users to begin with. *Not all commits are fully reviewed. *There's basically no testing for updates (possibly broken even for build). *People other than L-SMASH's official committer can push into this repository. *Histories of commits are not maintained. Any official commits may be merged as one, bunch commit. You have to look into official repositories to know what was changed. *Along with development status, it may be removed suddenly. **Especially, if [Kovensky's x264-audio repository|http://github.com/Kovensky/x264-audio/] gets into x264's mainstream, or is determined to be dispose, it's very likely to be removed. Because main purpose of this repository is to maintain the mp4.c which is very mashed up with audio stuff. !!Retrieving This unofficial repository is much or less complicated. We recommend you to create (clone) your local repository by using following script. {{ref_size x264_L-SMASH_clone.sh,L-SMASH}} If you clone by simply using the address shown on github, unexpected behaviors may occur with your x264 built, such as printing bad revision etc. NOTE: If you would like to re-use your local repository for updates, do not forget to do "git pull" in two branches. First you have to wait that the remote repo of x264_L-SMASH gets updated by developers or collaborators, and then type like this. {{pre git checkout plain git pull git checkout lsmash git pull }} There are other branches such as "kaudio" and "laudio". Of course you can pull them too. It should be preferable, but not mandatory for simple building of x264_L-SMASH. !!Building Nothing special for normal building. {{pre ./configure make }} Note that if you don't include lavf / lavc in appropriate way, the features of audio muxing will be very limited. !Non-free codecs x264_L-SMASH supports non-free codecs. If you build with these codecs, you can't redistribute the binary. These features are actually originated in x264-audio, and what x264_L-SMASH does is just inherit them. If you want qtaac support with AAC encoding on win32, first you have to have [QuickTime SDK|http://developer.apple.com/quicktime/download/] for building, and running environment have to be QuickTime installed. Command line for configure script will be like this. {{pre ./configure --enable-nonfree --qtsdk=QTSDKROOT }} Where QTSDKROOT is path to QuickTime SDK's root directory. Note that QuickTime SDK is unavailable on platforms other than win32. If you want libfaac support with AAC encoding, you have to give an additional option to configure script. {{pre ./configure --enable-nonfree }} Of cource, you have to have libfaac in your include path and library path. Using 3gpp's reference encoder for AMR-WB encoding is completely unsupported. You have to do everything with it by yourself. We'd never mention to it. !Instructions on other site Some supporters made detailed building instructions there in Japanese. *[Ch's barn: x264_L-SMASHΥӥ|http://csbarn.blogspot.com/2010/09/x264l-smash.html] *[wipple's room : (Unofficial) How to build x264_L-SMASH (Windows & MacOSX)|http://blog.livedoor.jp/wipple/archives/765605.html] !!Using x264_L-SMASH Here are some sample command lines. !mp4 output with pre-encoded mp3 muxing {{pre x264 src.mp4 --audiofile x264_audio_test.mp3 --acodec copy -o out.mp4 }} !3gp output with AMR-NB encoding {{pre x264 src.mp4 --audiofile 8khz.wav --acodec libopencore_amrnb --abitrate 12.2 -o out.3gp }} !mp4 output with pre-encoded AMR-NB muxing using L-SMASH's importer {{pre x264 src.mp4 --audiofile x264_audio_test.amrwb --ademuxer lsmash --acodec copy -o out.mp4 }} !3g2 output with AAC encoding using qtaac {{pre x264 src.mp4 --audiofile 48khz.wav --acodec qtaac --abitrate 128 -o out.3g2 }} !3gp output without audio avoiding unplayable videos on some devices {{pre x264 src.mp4 --no-container-sar -o out.3gp }} !Complex sample {{pre avs2yuv input.avs -o lossless.y4m -o -|x264_x64 - --demuxer y4m --pass 1 --bitrate 10000 --preset placebo --tune film --level 4 --vbv-maxrate 40000 --vbv-bufsize 30000 --nal-hrd vbr --acodec none -o nul wavi input.avs -|x264_x64 lossless.y4m --pass 2 --bitrate 10000 --preset placebo --tune film --level 4 --vbv-maxrate 40000 --vbv-bufsize 30000 --nal-hrd vbr --audiofile - --acodec faac --aquality 500 -o output.mp4 }}