diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-04-09 16:27:11 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-04-09 16:27:11 +0300 |
commit | 7e39d151d850590fbabc9870bc5134d9421c5c2c (patch) | |
tree | 3f9a81d25bb2638c62bd4d308cc51a06015a7511 /source/blender/makesdna | |
parent | 39116a434038cadafbfb7e63106ff45fefdd56d8 (diff) |
Added support for the WEBM/VP9 video codec
WEBM is the codec name, and VP9 is the encoder (the older encoder "VP8"
is less efficient than VP9).
WEBM/VP9 and h.264 both have options to control the file size versus
compression time (e.g. fast but big, or slow and small, for the same
output quality). Since WEBM/VP9 only has three choices, I've chosen to
map those to 3 of the 9 possible choices of h.264:
- BEST → SLOWER
- GOOD → MEDIUM
- REALTIME → SUPERFAST
The VERYSLOW and ULTRAFAST options give very little extra benefit.
Reviewed by: @Severin
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 9a14f2eacbb..d2b71c727c5 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -101,17 +101,28 @@ typedef struct AviCodecData { typedef enum eFFMpegPreset { FFM_PRESET_NONE, - FFM_PRESET_ULTRAFAST, - FFM_PRESET_SUPERFAST, - FFM_PRESET_VERYFAST, - FFM_PRESET_FASTER, - FFM_PRESET_FAST, - FFM_PRESET_MEDIUM, - FFM_PRESET_SLOW, - FFM_PRESET_SLOWER, - FFM_PRESET_VERYSLOW, -} eFFMpegPreset; +#ifdef DNA_DEPRECATED + /* Previously used by h.264 to control encoding speed vs. file size. */ + FFM_PRESET_ULTRAFAST, /* DEPRECATED */ + FFM_PRESET_SUPERFAST, /* DEPRECATED */ + FFM_PRESET_VERYFAST, /* DEPRECATED */ + FFM_PRESET_FASTER, /* DEPRECATED */ + FFM_PRESET_FAST, /* DEPRECATED */ + FFM_PRESET_MEDIUM, /* DEPRECATED */ + FFM_PRESET_SLOW, /* DEPRECATED */ + FFM_PRESET_SLOWER, /* DEPRECATED */ + FFM_PRESET_VERYSLOW, /* DEPRECATED */ +#endif + + /* Used by WEBM/VP9 and h.264 to control encoding speed vs. file size. + * WEBM/VP9 use these values directly, whereas h.264 map those to + * respectively the MEDIUM, SLOWER, and SUPERFAST presets. + */ + FFM_PRESET_GOOD = 10, /* the default and recommended for most applications */ + FFM_PRESET_BEST, /* recommended if you have lots of time and want the best compression efficiency */ + FFM_PRESET_REALTIME, /* recommended for live / fast encoding */ +} eFFMpegPreset; /* Mapping from easily-understandable descriptions to CRF values. * Assumes we output 8-bit video. Needs to be remapped if 10-bit |