Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#1405 closed defect (invalid)

General errors parsing presets (invalid option 'directpred' for instance)

Reported by: klaussfreire Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: libx264
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Bad Version:
On git master branch, last commit at Sun Jun 3 17:40:30 2012 +0200

Happiness release from the download page (so not so happy)

Good version:

Freedom release from the download page

What I'm doing:
Trying to concatenate


Every time I try to use a preset that contains the "directpred" option, I get an error: Invalid option or argument:'directpred=3', parsed as 'directpred' = '3'.

If I comment the directpred option, I get:

[NULL @ 0x638120] [Eval @ 0x7fff6bf47810] Undefined constant or missing '(' in 'obmc'
[NULL @ 0x638120] Unable to parse option value "obmc+gmc+part+aic+umv"
[NULL @ 0x638120] Error setting option flags to value +loop+obmc+gmc+part+aic+umv.

So it seems to be general preset parsing brokenness, at least regarding libx264

Attachments (2)

ffmpeg-preset-bug.log (31.4 KB) - added by klaussfreire 8 years ago.
Session log
libx264-hq.ffpreset (351 bytes) - added by klaussfreire 8 years ago.
Preset file used

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by klaussfreire

Session log

Changed 8 years ago by klaussfreire

Preset file used

comment:1 Changed 8 years ago by cehoyos

  • Keywords libx264 added

comment:2 Changed 8 years ago by michael

  • Version changed from unspecified to git-master

You are asking for OBMC and GMC encoding in libx264. libx264 does not support these and indeed, there are no such features in H.264 itself. The previous version of ffmpeg indeed accepted such invalid flags silently 0.11 accepts obmc when the encoder supports it, otherwise it fails with an error message.

comment:3 Changed 8 years ago by klaussfreire

Ok, that accounts for the second error then. I'll try when I get a chance.

But there's still the "directpred" issue.

comment:4 Changed 8 years ago by llogan

  • Resolution set to invalid
  • Status changed from new to closed

libx264-hq.ffpreset was the name of an old file based preset. It appears you maybe copied this old preset from somewhere and added some additional options or parameters. FFmpeg used to use these files to emulate x264 presets, but they have been depreciated and removed for the -preset and -vprofile options. See available presets and profiles with "x264 --help".

If, for some reason, you need to overwrite a particular option (but usually not a good idea for most use cases unless you know what you're doing) then see "ffmpeg -h" for available libx264 specific options (under libx264rgb AVOptions) or use the -x264opts option.

ffmpeg -i input -preset medium -direct-pred 3 output
ffmpeg -i input -preset medium -x264opts direct=auto output

Version 0, edited 8 years ago by llogan (next)

comment:5 Changed 8 years ago by llogan

...and of course I meant "libx264 AVOptions", not "libx264rgb AVOptions" although the listed options are identical.

comment:6 Changed 8 years ago by klaussfreire

You're right, it works fine like you said.

For further reference, I couldn't make any flags2 work (so I just commented them out, I don't think they had an effect anyway), and I could fix the directpred thing in the preset by using "direct-pred=3" (with the "-")

Thanks a lot.

Note: See TracTickets for help on using tickets.