Opened 11 years ago

Last modified 10 years ago

#2901 new enhancement

mpeg4 encoder does not have any of the profile/level standard

Reported by: iuqbgq9h-1@yahoo.com Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: asp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the request:
When encoding mpeg4 video (-c:v mpeg4) with ffmpeg, it does not have any limits of the various profile/levels for mpeg4 as found in MPEG-4 Part 2 and listed on this page
http://en.wikipedia.org/wiki/MPEG-4
(see MPEG-4 Levels section)
So for instance, the max bitrate and max buffer size are not programmed, and the generated video can violate these limits. They have to be set manually (with -maxrate, -bufsize). Moreover, to get "Advanced Simple Profile", need to use '-profile 15', which is an odd number unfound in the documentation and has to be looked up in the source code.
How to reproduce:

% ffmpeg -i input -c:v mpeg4 ... output
ffmpeg version N-55721-gc443689
built on Aug 22 2013 19:06:24 with gcc 4.7.3 (GCC)

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (2)

comment:1 by Carl Eugen Hoyos, 11 years ago

Keywords: asp added; mpeg4 profile level removed
Priority: minorwish

comment:2 by wim_arbor, 10 years ago

Just for reference for anyone getting here with google and needs to find the "odd numbers" refering to profile/level, it is defined in "ISO/IEC 14496-2", but gpac contains a nice list of the combinations;
https://svn.code.sf.net/p/gpac/code/trunk/gpac/src/media_tools/av_parsers.c

For example use -profile:v 15 -level 7 in FFmpeg for AdvancedSimple@L3b:

case 0xF7:
    return "Advanced Simple Profile @ Level 3b";

(0xF is the hexadecimal value of 15)

Note: See TracTickets for help on using tickets.