On 11/24/17, 5:17 AM, "Carl Eugen Hoyos" <ceffm...@gmail.com> wrote:
>2017-11-23 22:58 GMT+01:00 Michael Niedermayer <mich...@niedermayer.cc>: >> On Thu, Nov 23, 2017 at 04:01:06PM +0100, Carl Eugen Hoyos wrote: >>> Hi! >>> >>> The (external) encoders may overwrite level and profile because of >>> requested encoding properties, allowing libavcodec to (also) overwrite >>> them in the context makes sense (and is already done in some cases >>> afaict). >>> >>> Please comment, Carl Eugen >> >> If a user needs to generate a file with a specific profile/level >> for example because its for broadcast, some specification or a hw >> decoder. >> How could he after this patch ensure that exactly the needed profile >> is used? There is no way of ensuring the same even without this patch. >Afair, x264 does change profile and / or level depending on properties >set by the user. Currently there is no way for the libavcodec user to >know that libx264 changed something. >With this change the user can know that he does not get the >requested values. > >Or am I wrong and libx264 never overwrites requested values >for level and / or profile? > I just tested x264 by giving contradicting profiles and levels. Following are the results: Case 1: Input : 1080p30, 420p Config : Set level wrongly to 1.1 Output : Throws some warnings, but level is still written wrongly as 1.1 is the SPS header. Impact of overwrite : None. Both the user set value and header’s value are same. Case 2:1080p30, 422p Config : Set profile wrongly to baseline Output : Throws errors, doesn’t encode Impact of overwrite : None. Case 3:1080p30, 420p Config : Set profile wrongly to high422 Output : No warnings or errors. Automatically switches to high profile. SPS header also has high profile. Impact of overwrite : User will get to know the correct profile being encoded. Regards, Karthick _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel