mltframework / mltframework/mlt
bogus warning about "baseline" mis-parsed creating H.264
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 387
- Avg merge
- 17h 28m
- Merged PRs (30d)
- 8
Description
Related Debian bug: http://bugs.debian.org/764165
Part of the problem is that both AVCodecContext and the libx264 private data context respond to the "profile" property, but the AVCodecContext does not understand the "baseline" value for profile. The explanation on the Libav FAQ does not exactly apply because our avformat consumer uses 'v' prefix to attempt to do the same thing. However, "vprofile=baseline" still causes the problem in MLT because both video contexts still respond to "profile" (v prefix stripped) but only one understands "baseline." Somehow, avconv avoids this problem based upon some kind of difficult to follow logic.
I think part of the problem also stems from the fact that that MLT chooses to be compatible with many versions of Libav and FFmpeg, and the way I implemented mlt_property->AVOption makes it difficult to do something like "do not apply this property to the AVCodecContext if the codec private context accepted it." Not to mention, I have to fully confirm that is even the correct logic. Otherwise, there could be a situation where a redundant AVOption is not set when it should have been.
So, you see, this is something rather specific and a bit complicated for something that is only classified as a nuisance at this point.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how mlt_property->AVOption applies vprofile=baseline across AVCodecContext and the libx264 private data context, including the avformat consumer behavior described in the issue. No file, test, or entry point is named, so completion would require confirming the correct handling across the supported Libav and FFmpeg versions and reproducing the bogus warning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100