Ticket #1405 (closed defect: invalid)

Opened 13 months ago

Last modified 12 months ago

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

Description

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

Symptoms:

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

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

Change History

Changed 13 months ago by klaussfreire

Session log

Changed 13 months ago by klaussfreire

Preset file used

comment:1 Changed 13 months ago by cehoyos

  • Keywords libx264 added

comment:2 Changed 13 months 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 13 months 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 13 months ago by llogan

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

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 libx264 AVOptions) or use the -x264opts option.

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

Last edited 13 months ago by llogan (previous) (diff)

comment:5 Changed 13 months ago by llogan

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

comment:6 Changed 12 months 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.