HandBrake takes videos you already have and makes new ones that work on your mobile phone, tablet, TV media player, game console, computer, or web browser—nearly anything that supports modern video formats.
-HandBrake works with most common video files and formats, including ones created by consumer and professional video cameras, mobile devices such as phones and tablets, game and computer screen recordings, and DVD and Blu-ray discs. HandBrake leverages tools such as Libav, x264, and x265 to create new MP4 or MKV video files from these *Sources*.
+HandBrake works with most common video files and formats, including ones created by consumer and professional video cameras, mobile devices such as phones and tablets, game and computer screen recordings, and DVD and Blu-ray discs. HandBrake leverages tools such as FFmpeg, x264, and x265 to create new MP4 or MKV video files from these *Sources*.
For information on downloading, building/installing, and using HandBrake, see the official [HandBrake Documentation](https://handbrake.fr/docs).
return 1;
#endif
-#ifdef USE_LIBAV_AAC
+#ifdef USE_FFMPEG_AAC
case HB_ACODEC_FFAAC:
return avcodec_find_encoder_by_name("aac") != NULL;
#endif
/*
* FIXME: knowingly leaked.
*
- * If we're using our Libav QSV wrapper, qsv_decode_end() will call
+ * If we're using our FFmpeg QSV wrapper, qsv_decode_end() will call
* MFXClose() on the QSV session. Even if decoding is complete, we
* still need that session for QSV filtering and/or encoding, so we
* we can't close the context here until we implement a proper fix.
}
/* Subtitles are "usable" if:
- * 1. Libav returned a subtitle (has_subtitle) AND
+ * 1. FFmpeg returned a subtitle (has_subtitle) AND
* 2. we're not doing Foreign Audio Search (!pv->job->indepth_scan) AND
* 3. the sub is non-empty or we've seen one such sub before (!pv->discard_subtitle)
* For forced-only extraction, usable subtitles also need to:
profile = FF_PROFILE_AAC_LOW;
break;
}
- // Libav's libfdk-aac wrapper expects back channels for 5.1
+ // FFmpeg's libfdk-aac wrapper expects back channels for 5.1
// audio, and will error out unless we translate the layout
if (channel_layout == AV_CH_LAYOUT_5POINT1)
channel_layout = AV_CH_LAYOUT_5POINT1_BACK;
case HB_ACODEC_OPUS:
codec_name = "libopus";
- // Libav's libopus wrapper expects back channels for 5.1
+ // FFmpeg's libopus wrapper expects back channels for 5.1
// audio, and will error out unless we translate the layout
if (channel_layout == AV_CH_LAYOUT_5POINT1)
channel_layout = AV_CH_LAYOUT_5POINT1_BACK;
case HB_COLR_MAT_BT709:
color_space = SWS_CS_ITU709;
break;
- /* enable this when implemented in Libav
+ /* enable this when implemented in FFmpeg
case HB_COLR_MAT_BT2020:
color_space = SWS_CS_BT2020;
break;
###############################################################################
-ifeq (1,$(FEATURE.libav_aac))
-LIBHB.GCC.D += USE_LIBAV_AAC
+ifeq (1,$(FEATURE.ffmpeg_aac))
+LIBHB.GCC.D += USE_FFMPEG_AAC
endif
LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
/*
* In theory, input width/height and decode CropW/CropH should be the
- * same; however, due to some versions of Libav not applying the H.264
+ * same; however, due to some versions of FFmpeg not applying the H.264
* "crop rect" properly, there can be a mismatch.
*
* Since we want the same bahevior regardless of whether we're using
- * software or hardware-accelerated decoding, prefer the Libav values.
+ * software or hardware-accelerated decoding, prefer the FFmpeg values.
*
* Note that since CropW/CropH may be higher than the decode values, we
* need to adjust CropX/CropY to make sure we don't exceed the input's
continue;
}
// 0xa2 is DTS-HD LBR used in HD-DVD and bluray for
- // secondary audio streams. Libav can not decode yet.
+ // secondary audio streams. FFmpeg can not decode yet.
// Having it in the audio list causes delays during scan
// while we try to get stream parameters. So skip
// this type for now.
switch ( codecpar->codec_id )
{
case AV_CODEC_ID_TTF:
- // Libav sets codec ID based on mime type of the attachment
+ // FFmpeg sets codec ID based on mime type of the attachment
type = FONT_TTF_ATTACH;
break;
default:
grp.add_option( '--enable-fdk-aac', dest="enable_fdk_aac", default=False, action='store_true', help=h )
grp.add_option( '--disable-fdk-aac', dest="enable_fdk_aac", action='store_false' )
- h = IfHost( 'enable Libav AAC audio encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
- grp.add_option( '--enable-libav-aac', dest="enable_libav_aac", default=not host.match( '*-*-darwin*' ), action='store_true', help=h )
- grp.add_option( '--disable-libav-aac', dest="enable_libav_aac", action='store_false' )
+ h = IfHost( 'enable FFmpeg AAC audio encoder', '*-*-*', none=optparse.SUPPRESS_HELP ).value
+ grp.add_option( '--enable-ffmpeg-aac', dest="enable_ffmpeg_aac", default=not host.match( '*-*-darwin*' ), action='store_true', help=h )
+ grp.add_option( '--disable-ffmpeg-aac', dest="enable_ffmpeg_aac", action='store_false' )
cli.add_option_group( grp )
doc.add( 'FEATURE.gtk.mingw', int( options.enable_gtk_mingw ))
doc.add( 'FEATURE.gst', int( not options.disable_gst ))
doc.add( 'FEATURE.fdk_aac', int( options.enable_fdk_aac ))
- doc.add( 'FEATURE.libav_aac', int( options.enable_libav_aac or build.system == 'mingw' ))
+ doc.add( 'FEATURE.ffmpeg_aac', int( options.enable_ffmpeg_aac or build.system == 'mingw' ))
doc.add( 'FEATURE.qsv', int( options.enable_qsv ))
doc.add( 'FEATURE.xcode', int( not (Tools.xcodebuild.fail or options.disable_xcode or options.cross) ))
doc.add( 'FEATURE.x265', int( options.enable_x265 ))