VideoHelp Forum

Our website is made possible by displaying online advertisements to our visitors. Consider supporting us by disable your adblocker or Try ConvertXtoDVD and convert all your movies to DVD. Free trial ! :)
+ Reply to Thread
Results 1 to 6 of 6
Thread
  1. Hello!

    On the way to make x264-encoded video as compatible as possible I'm stuck with x264 presets... I've googled it a lot and did not find any certain information

    So, I have 540p video... I'm encoding the video without "--preset" parameter with such string:

    Code:
    --profile baseline --level 3.0 --preset medium --bluray-compat --tune film --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1
    If I manually set "--preset veryslow" or "--preset placebo" I get a smaller file size and this is obvious and clear to me

    But the question is... does video encoded with "--preset veryslow" or "--preset placebo" remains as compatible to software/hardware decoder as with "--preset medium" ? Especially in cases when "profile" and "level" specified manually?

    And by the way:
    http://dev.beandog.org/x264_preset_reference.html
    here we have a nice table that tell us which exact parameters is changed by the "--preset" option

    And what is not clear to me at all... which of them have effect on decoder?

    Can someone point out such parameters from that link?
    Quote Quote  
  2. Are your decoder support only baseline and level 3? Then it is NOT BD compliant. BD is capable to do high profile and level at least 4.0.
    x264 should restrict all parameters to boundaries described by BD compatibility but if your decoder is not BD capable then you need to manually describe limitations.
    Quote Quote  
  3. Originally Posted by pandy View Post
    Are your decoder support only baseline and level 3? Then it is NOT BD compliant. BD is capable to do high profile and level at least 4.0.
    x264 should restrict all parameters to boundaries described by BD compatibility but if your decoder is not BD capable then you need to manually describe limitations.
    No, I'm not trying to make BD-compliant... I use "--bluray-compat" just because it turns on "--b-pyramid 1", "--min-keyint 1" and "--weightp 1" no matter what profile, level and preset I choose... but with other parameters it's truly hard to say whether it is decoder-capable or not.

    I've encoded some videos with "medium", "very slow" and "placebo" presets and after that looked at the MediaInfo produced output for that files and there difference in encoder settings:
    Code:
    --profile baseline --level 3.0 --preset medium   --bluray-compat --tune film --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1
    --profile baseline --level 3.0 --preset veryslow --bluray-compat --tune film --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1
    --profile baseline --level 3.0 --preset placebo  --bluray-compat --tune film --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1
    Code:
    -----------------------------------------------
    preset       medium      placebo     very slow
    -----------------------------------------------
    analyse     0x1:0x111   0x1:0x131   0x1:0x131
    -----------------------------------------------
    me          hex         tesa        umh
    -----------------------------------------------
    subme       7           11          10
    -----------------------------------------------
    me_range    16          24          24
    -----------------------------------------------
    trellis     1           2           2
    -----------------------------------------------
    fast_pskip  1           0           1
    -----------------------------------------------
    And now I'm trying to understand which of those parameters affect only encoder performance and do not affect decoder performance and feature-support
    Quote Quote  
  4. IMHO you should check tune 'fastdecode' to understand what really impact decoder. IMHO decoding should be not hit for above parameters - they are related to encoder analysis complexity.
    fastdecode: --no-cabac --no-deblock --no-weightb --weightp 0
    Quote Quote  
  5. Thank you so much... That was really helpful and exactly what I was looking for so long =)

    One more question please, I really messed up with "deblock" now after encoding with "fastdecode"
    If I understand correctly "fastdecode" is a "tune" option

    By the way I'm using MeGUI as frontend for x264 encoder and it gave me some weird stuff...
    After I found and checked "fastdecode" in x264-settings dialog encoding string changed from "--tune film" to "--tune film,fastdecode"... Is this legit? I mean combining film and fastdecode tunes?

    So I've done two more test encodings ( difference marked with red color ):
    Code:
    --profile baseline --level 3.0 --bluray-compat --preset veryslow --tune film            --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1 
    --profile baseline --level 3.0 --bluray-compat --preset veryslow --tune film,fastdecode --crf 23.5 --keyint 24 --ref 1 --vbv-bufsize 10000 --vbv-maxrate 10000 --colorprim bt709 --transfer bt709 --colormatrix bt709 --sar 1:1
    And after encoding video I've compared MediaInfo output and the only diffrence is:
    Code:
    -----------------------------------------
     tune        film        film,fastdecode
    -----------------------------------------
     deblock     1:-1:-1     0:-1:-1
    -----------------------------------------
    Is this normal or maybe I should remove "film" at all and turn "--tune" to "fastdecode" only?
    Quote Quote  
  6. AFAIR you can use only single tune as such you need to add to your command line tune settings separately. So instead "-tune fastdecode" you can use:
    Code:
    --no-cabac --no-deblock --no-weightb --weightp 0
    IMHO not using CABAC will impact coding gain by around 30% - CABAC is one of most important features of the H.264 .
    Quote Quote  



Similar Threads