Here is an update to HandBrake 1.6.0. I did a bit of cleaning up after upstreaming the local patches.
https://github.com/HandBrake/HandBrake/releases/tag/1.6.0 Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/handbrake/Makefile,v retrieving revision 1.17 diff -u -p -u -p -r1.17 Makefile --- Makefile 30 Dec 2022 00:13:29 -0000 1.17 +++ Makefile 1 Jan 2023 05:56:39 -0000 @@ -1,8 +1,8 @@ -V = 1.3.3 COMMENT = open source video transcoder + +V = 1.6.0 DISTNAME = HandBrake-${V}-source PKGNAME = handbrake-${V} -REVISION = 5 EXTRACT_SUFX = .tar.bz2 CATEGORIES = multimedia x11 @@ -12,20 +12,20 @@ MAINTAINER = Brian Callahan <bcallah@ope # GPLv2 only PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} X11 Xau Xcomposite Xcursor Xdamage -WANTLIB += Xdmcp Xext Xfixes Xi Xinerama Xrandr Xrender aom ass -WANTLIB += atk-1.0 atk-bridge-2.0 atspi avcodec avfilter avformat -WANTLIB += avutil bluray bz2 c cairo cairo-gobject -WANTLIB += crypto dav1d dbus-1 dvdnav dvdread epoxy execinfo expat -WANTLIB += ffi fontconfig freetype fribidi gdk-3 gdk_pixbuf-2.0 -WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 graphite2 -WANTLIB += gsm gstaudio-1.0 gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 -WANTLIB += gsttag-1.0 gstvideo-1.0 gthread-2.0 gtk-3 harfbuzz -WANTLIB += iconv intl jansson jpeg lzma m mp3lame ogg opus orc-0.4 -WANTLIB += pango-1.0 pangocairo-1.0 pangoft2-1.0 pcre2-8 pixman-1 -WANTLIB += png postproc speex ssl swresample swscale theoradec -WANTLIB += theoraenc udfread vidstab vorbis vorbisenc vpx x264 -WANTLIB += x265 xcb xcb-render xcb-shm xml2 xvidcore z zimg +WANTLIB += ${COMPILER_LIBCXX} SvtAv1Enc X11 Xau Xcomposite Xcursor +WANTLIB += Xdamage Xdmcp Xext Xfixes Xi Xinerama Xrandr Xrender +WANTLIB += aom ass atk-1.0 atk-bridge-2.0 atspi avcodec avfilter +WANTLIB += avformat avutil bluray bz2 c cairo cairo-gobject crypto +WANTLIB += dav1d dbus-1 dvdnav dvdread epoxy execinfo expat ffi +WANTLIB += fontconfig freetype fribidi gdk-3 gdk_pixbuf-2.0 gio-2.0 +WANTLIB += glib-2.0 gmodule-2.0 gobject-2.0 graphite2 gsm gstaudio-1.0 +WANTLIB += gstbase-1.0 gstpbutils-1.0 gstreamer-1.0 gsttag-1.0 +WANTLIB += gstvideo-1.0 gthread-2.0 gtk-3 harfbuzz iconv intl +WANTLIB += jansson jpeg lzma m mp3lame ogg opus orc-0.4 pango-1.0 +WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre2-8 pixman-1 png postproc +WANTLIB += speex ssl swresample swscale theoradec theoraenc turbojpeg +WANTLIB += udfread vidstab vorbis vorbisenc vpx x264 x265 xcb +WANTLIB += xcb-render xcb-shm xml2 xvidcore z zimg MASTER_SITES = https://github.com/HandBrake/HandBrake/releases/download/${V}/ @@ -40,17 +40,32 @@ BUILD_DEPENDS = devel/autoconf/${AUTOCON devel/libtool \ textproc/intltool -LIB_DEPENDS = devel/jansson \ - devel/orc \ +LIB_DEPENDS = archivers/bzip2 \ + archivers/xz \ + audio/lame \ + audio/libogg \ + audio/libvorbis \ + audio/opus \ + audio/speex \ + converters/libiconv \ + devel/fribidi \ + devel/harfbuzz \ + devel/jansson \ + devel/libdvdread \ graphics/ffmpeg \ + graphics/jpeg \ + graphics/zimg \ multimedia/aom \ + multimedia/libass \ multimedia/libbluray \ multimedia/gstreamer1/plugins-base \ multimedia/libdvdnav \ multimedia/libtheora \ multimedia/libvpx \ + multimedia/svt-av1 \ multimedia/x264 \ multimedia/x265 \ + textproc/libxml \ x11/gtk+3 RUN_DEPENDS = devel/desktop-file-utils \ @@ -60,8 +75,6 @@ SEPARATE_BUILD = Yes CONFIGURE_STYLE = simple CONFIGURE_SCRIPT = ${MODPY_BIN} ${WRKSRC}/make/configure.py -CONFIGURE_ARGS = --disable-gtk-update-checks \ - --enable-x265 # Yes, autoconf is called *during* the build but not at configure time... USE_GMAKE = Yes @@ -70,22 +83,20 @@ MAKE_ENV = AUTOCONF_VERSION="${AUTOCONF_ AUTOMAKE_VERSION="${AUTOMAKE_VERSION}" \ MKDIR_P='/bin/mkdir -p' MAKE_FILE = GNUmakefile -MAKE_FLAGS = CFLAGS="${CFLAGS} -I${LOCALBASE}/include/libxml2 -D_NO_UPDATE_CHECK" \ - LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib -L${X11BASE}/lib -lx265 -liconv" +MAKE_FLAGS = CFLAGS="${CFLAGS}" \ + LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib" .if ${MACHINE_ARCH:Mi386} CFLAGS += -msse2 CXXFLAGS += -msse2 .endif -AUTOCONF_VERSION = 2.69 +CFLAGS+= -D_NO_UPDATE_CHECK + +AUTOCONF_VERSION = 2.71 AUTOMAKE_VERSION = 1.16 WRKDIST = ${WRKDIR}/HandBrake-${V} - -post-extract: - ln -s ${WRKSRC}/make/variant/freebsd.defs \ - ${WRKSRC}/make/variant/openbsd.defs post-install: ln -s ${TRUEPREFIX}/bin/ghb ${PREFIX}/bin/HandBrake Index: distinfo =================================================================== RCS file: /cvs/ports/multimedia/handbrake/distinfo,v retrieving revision 1.5 diff -u -p -u -p -r1.5 distinfo --- distinfo 20 Jun 2020 21:12:38 -0000 1.5 +++ distinfo 1 Jan 2023 05:56:39 -0000 @@ -1,2 +1,2 @@ -SHA256 (HandBrake-1.3.3-source.tar.bz2) = IYo32V9ItefPKFNj06sWwxTZdienpxDKs3WJAq6Hf4U= -SIZE (HandBrake-1.3.3-source.tar.bz2) = 16804119 +SHA256 (HandBrake-1.6.0-source.tar.bz2) = fyPHYDi3vzKQidDrM8FImEAPzAQm4xDofcEeU4wQPNo= +SIZE (HandBrake-1.6.0-source.tar.bz2) = 15968851 Index: patches/patch-gtk_configure_ac =================================================================== RCS file: /cvs/ports/multimedia/handbrake/patches/patch-gtk_configure_ac,v retrieving revision 1.5 diff -u -p -u -p -r1.5 patch-gtk_configure_ac --- patches/patch-gtk_configure_ac 11 Mar 2022 19:39:19 -0000 1.5 +++ patches/patch-gtk_configure_ac 1 Jan 2023 05:56:39 -0000 @@ -1,25 +1,14 @@ Get the proper library directory for -lhandbrake. -No -ldl on OpenBSD. Index: gtk/configure.ac --- gtk/configure.ac.orig +++ gtk/configure.ac -@@ -199,7 +199,7 @@ AM_CONDITIONAL([GHB_GTK_3_16], [test "$HAVE_GTK_316" - +@@ -203,7 +203,7 @@ AM_CONDITIONAL([GHB_GTK_3_16], [test "$HAVE_GTK_316" - AM_CONDITIONAL([MINGW], [test "x$mingw_flag" = "xyes"]) --HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -llzma" -+HB_LIBS="-L../../libhb $HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -llzma" +-HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg -lSvtAv1Enc" ++HB_LIBS="-L../../libhb $HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg -lSvtAv1Enc" HB_CPPFLAGS="$HB_CPPFLAGS $HBINC" PKG_CHECK_MODULES([x264], [x264], sys_x264=yes, sys_x264=no) -@@ -236,6 +236,9 @@ case $host in - HB_LIBS="$HB_LIBS -lbcrypt -lregex -luuid -lole32" - ;; - *-*-freebsd*) -+ HB_LIBS="$HB_LIBS -lpthread" -+ ;; -+ *-*-openbsd*) - HB_LIBS="$HB_LIBS -lpthread" - ;; - *-*-netbsd*) Index: patches/patch-gtk_src_callbacks_c =================================================================== RCS file: patches/patch-gtk_src_callbacks_c diff -N patches/patch-gtk_src_callbacks_c --- patches/patch-gtk_src_callbacks_c 11 Mar 2022 19:39:19 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -We need this include too. - -Index: gtk/src/callbacks.c ---- gtk/src/callbacks.c.orig -+++ gtk/src/callbacks.c -@@ -43,7 +43,7 @@ - #include <gudev/gudev.h> - #endif - --#if defined( __FreeBSD__ ) -+#if defined( __FreeBSD__ ) || defined( __OpenBSD__ ) - #include <sys/socket.h> - #endif - #include <netinet/in.h> Index: patches/patch-libhb_audio_remap_c =================================================================== RCS file: patches/patch-libhb_audio_remap_c diff -N patches/patch-libhb_audio_remap_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_audio_remap_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,24 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/audio_remap.c +--- libhb/audio_remap.c.orig ++++ libhb/audio_remap.c +@@ -258,7 +258,7 @@ void hb_audio_remap_set_channel_layout(hb_audio_remap_ + { + channel_layout = AV_CH_LAYOUT_STEREO; + } +- remap->nchannels = hb_layout_get_discrete_channel_count(channel_layout); ++ remap->nchannels = av_get_channel_layout_nb_channels(channel_layout); + + // in some cases, remapping is not necessary and/or supported + if (remap->nchannels > HB_AUDIO_REMAP_MAX_CHANNELS) +@@ -317,7 +317,7 @@ void hb_audio_remap_build_table(hb_chan_map_t *channel + // Dolby Surround is Stereo when it comes to remapping + channel_layout = AV_CH_LAYOUT_STEREO; + } +- nchannels = hb_layout_get_discrete_channel_count(channel_layout); ++ nchannels = av_get_channel_layout_nb_channels(channel_layout); + + // clear remap table before (re-)building it + memset(remap_table, 0, nchannels * sizeof(int)); Index: patches/patch-libhb_audio_resample_c =================================================================== RCS file: patches/patch-libhb_audio_resample_c diff -N patches/patch-libhb_audio_resample_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_audio_resample_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,25 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/audio_resample.c +--- libhb/audio_resample.c.orig ++++ libhb/audio_resample.c +@@ -53,7 +53,7 @@ hb_audio_resample_t* hb_audio_resample_init(enum AVSam + } + + // requested output channel_layout, sample_fmt +- resample->out.channels = hb_layout_get_discrete_channel_count(channel_layout); ++ resample->out.channels = av_get_channel_layout_nb_channels(channel_layout); + resample->out.channel_layout = channel_layout; + resample->out.matrix_encoding = matrix_encoding; + resample->out.sample_fmt = sample_fmt; +@@ -232,7 +232,8 @@ int hb_audio_resample_update(hb_audio_resample_t *resa + resample->resample.sample_fmt = resample->in.sample_fmt; + resample->resample.sample_rate = resample->in.sample_rate; + resample->resample.channel_layout = resample->in.channel_layout; +- resample->resample.channels = hb_layout_get_discrete_channel_count(resample->in.channel_layout); ++ resample->resample.channels = ++ av_get_channel_layout_nb_channels(resample->in.channel_layout); + resample->resample.lfe_mix_level = resample->in.lfe_mix_level; + resample->resample.center_mix_level = resample->in.center_mix_level; + resample->resample.surround_mix_level = resample->in.surround_mix_level; Index: patches/patch-libhb_common_c =================================================================== RCS file: patches/patch-libhb_common_c diff -N patches/patch-libhb_common_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_common_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,41 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/common.c +--- libhb/common.c.orig ++++ libhb/common.c +@@ -2279,7 +2279,7 @@ int hb_mixdown_has_remix_support(int mixdown, uint64_t + + // more than 1 channel + case HB_AMIXDOWN_STEREO: +- return (hb_layout_get_discrete_channel_count(layout) > 1); ++ return (av_get_channel_layout_nb_channels(layout) > 1); + + // regular stereo (not Dolby) + case HB_AMIXDOWN_LEFT: +@@ -2479,22 +2479,14 @@ const hb_mixdown_t* hb_mixdown_get_next(const hb_mixdo + return ((hb_mixdown_internal_t*)last)->next; + } + +-void hb_layout_get_name(char *name, int size, int64_t layout) ++void hb_layout_get_name(char * name, int size, int64_t layout) + { +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, layout); +- av_channel_layout_describe(&ch_layout, name, size); +- av_channel_layout_uninit(&ch_layout); ++ av_get_channel_layout_string(name, size, 0, layout); + } + + int hb_layout_get_discrete_channel_count(int64_t layout) + { +- int nb_channels = 0; +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, layout); +- nb_channels = ch_layout.nb_channels; +- av_channel_layout_uninit(&ch_layout); +- return nb_channels; ++ return av_get_channel_layout_nb_channels(layout); + } + + int hb_layout_get_low_freq_channel_count(int64_t layout) Index: patches/patch-libhb_decavcodec_c =================================================================== RCS file: patches/patch-libhb_decavcodec_c diff -N patches/patch-libhb_decavcodec_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_decavcodec_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,167 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/decavcodec.c +--- libhb/decavcodec.c.orig ++++ libhb/decavcodec.c +@@ -207,9 +207,6 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j + } + hb_ff_set_sample_fmt(pv->context, codec, AV_SAMPLE_FMT_FLT); + +- // Set decoder opts... +- AVDictionary *av_opts = NULL; +- + /* Downmixing & sample_fmt conversion */ + if (!(w->audio->config.out.codec & HB_ACODEC_PASS_FLAG)) + { +@@ -239,7 +236,7 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j + { + case AV_CODEC_ID_AC3: + case AV_CODEC_ID_EAC3: +- avcodec_downmix = w->audio->config.out.normalize_mix_level == 0; ++ avcodec_downmix = w->audio->config.out.normalize_mix_level != 0; + break; + case AV_CODEC_ID_DTS: + avcodec_downmix = w->audio->config.out.normalize_mix_level == 0; +@@ -260,21 +257,13 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j + // request 5.1 before downmixing to dpl1/dpl2 + case HB_AMIXDOWN_DOLBY: + case HB_AMIXDOWN_DOLBYPLII: +- { +- av_dict_set(&av_opts, "downmix", "5.1(side)", 0); ++ pv->context->request_channel_layout = AV_CH_LAYOUT_5POINT1; + break; +- } + // request the layout corresponding to the selected mixdown + default: +- { +- char description[256]; +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, hb_ff_mixdown_xlat(w->audio->config.out.mixdown, NULL)); +- av_channel_layout_describe(&ch_layout, description, sizeof(description)); +- av_channel_layout_uninit(&ch_layout); +- av_dict_set(&av_opts, "downmix", description, 0); ++ pv->context->request_channel_layout = ++ hb_ff_mixdown_xlat(w->audio->config.out.mixdown, NULL); + break; +- } + } + } + } +@@ -284,9 +273,12 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j + if (w->codec_param == AV_CODEC_ID_TRUEHD && + w->audio->config.in.channel_layout == AV_CH_LAYOUT_MONO) + { +- av_dict_set(&av_opts, "downmix", "stereo", 0); ++ pv->context->request_channel_layout = AV_CH_LAYOUT_STEREO; + } + ++ // Set decoder opts... ++ AVDictionary * av_opts = NULL; ++ + // Dynamic Range Compression + if (w->audio->config.out.dynamic_range_compression >= 0.0f && + hb_audio_can_apply_drc(w->audio->config.in.codec, +@@ -332,14 +324,6 @@ static int decavcodecaInit( hb_work_object_t * w, hb_j + pv->context->pkt_timebase.num = pv->audio->config.in.timebase.num; + pv->context->pkt_timebase.den = pv->audio->config.in.timebase.den; + +- // libavcodec can't decode TrueHD Mono (bug #356) +- // work around it by requesting Stereo and downmixing +- if (w->codec_param == AV_CODEC_ID_TRUEHD && +- w->audio->config.in.channel_layout == AV_CH_LAYOUT_MONO) +- { +- pv->context->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO; +- } +- + // avcodec_open populates av_opts with the things it didn't recognize. + AVDictionaryEntry *t = NULL; + while ((t = av_dict_get(av_opts, "", t, AV_DICT_IGNORE_SUFFIX)) != NULL) +@@ -752,13 +736,15 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con + // libavcodec can't decode TrueHD Mono (bug #356) + // work around it by requesting Stereo before decoding + if (context->codec_id == AV_CODEC_ID_TRUEHD && +- context->ch_layout.u.mask == AV_CH_LAYOUT_MONO) ++ context->channel_layout == AV_CH_LAYOUT_MONO) + { + truehd_mono = 1; +- AVChannelLayout ch_layout = AV_CHANNEL_LAYOUT_STEREO; +- av_opt_set_chlayout(context, "downmix", &ch_layout, AV_OPT_SEARCH_CHILDREN); +- context->ch_layout = ch_layout; ++ context->request_channel_layout = AV_CH_LAYOUT_STEREO; + } ++ else ++ { ++ context->request_channel_layout = 0; ++ } + + AVPacket *avp = av_packet_alloc(); + avp->data = parse_buffer; +@@ -797,7 +783,16 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con + info->sample_bit_depth = context->bits_per_raw_sample; + + int bps = av_get_bits_per_sample(context->codec_id); +- int channels = frame->ch_layout.nb_channels; ++ int channels; ++ if (frame->channel_layout != 0) ++ { ++ channels = av_get_channel_layout_nb_channels( ++ frame->channel_layout); ++ } ++ else ++ { ++ channels = frame->channels; ++ } + + info->bitrate = bps * channels * info->rate.num; + if (info->bitrate <= 0) +@@ -837,17 +832,15 @@ static int decavcodecaBSInfo( hb_work_object_t *w, con + } + else + { +- info->channel_layout = frame->ch_layout.u.mask; ++ info->channel_layout = frame->channel_layout; + } + } + if (info->channel_layout == 0) + { + // Channel layout was not set. Guess a layout based + // on number of channels. +- AVChannelLayout channel_layout; +- av_channel_layout_default(&channel_layout, frame->ch_layout.nb_channels); +- info->channel_layout = channel_layout.u.mask; +- av_channel_layout_uninit(&channel_layout); ++ info->channel_layout = av_get_default_channel_layout( ++ frame->channels); + } + if (context->codec_id == AV_CODEC_ID_AC3 || + context->codec_id == AV_CODEC_ID_EAC3) +@@ -2309,7 +2302,7 @@ static void decodeAudio(hb_work_private_t *pv, packet_ + else + { + AVFrameSideData *side_data; +- AVChannelLayout channel_layout; ++ uint64_t channel_layout; + if ((side_data = + av_frame_get_side_data(pv->frame, + AV_FRAME_DATA_DOWNMIX_INFO)) != NULL) +@@ -2334,14 +2327,13 @@ static void decodeAudio(hb_work_private_t *pv, packet_ + center_mix_level, + downmix_info->lfe_mix_level); + } +- channel_layout = pv->frame->ch_layout; +- if (channel_layout.order != AV_CHANNEL_ORDER_NATIVE || channel_layout.u.mask == 0) ++ channel_layout = pv->frame->channel_layout; ++ if (channel_layout == 0) + { +- AVChannelLayout default_ch_layout; +- av_channel_layout_default(&default_ch_layout, pv->frame->ch_layout.nb_channels); +- channel_layout = default_ch_layout; ++ channel_layout = av_get_default_channel_layout( ++ pv->frame->channels); + } +- hb_audio_resample_set_channel_layout(pv->resample, channel_layout.u.mask); ++ hb_audio_resample_set_channel_layout(pv->resample, channel_layout); + hb_audio_resample_set_sample_fmt(pv->resample, + pv->frame->format); + hb_audio_resample_set_sample_rate(pv->resample, Index: patches/patch-libhb_decsrtsub_c =================================================================== RCS file: patches/patch-libhb_decsrtsub_c diff -N patches/patch-libhb_decsrtsub_c --- patches/patch-libhb_decsrtsub_c 11 Mar 2022 19:39:19 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,41 +0,0 @@ -iconv* => libiconv* for use with our libiconv - -Index: libhb/decsrtsub.c ---- libhb/decsrtsub.c.orig -+++ libhb/decsrtsub.c -@@ -271,7 +271,7 @@ static int utf8_fill( hb_work_private_t * pv ) - q = pv->utf8_buf + pv->utf8_end; - in_size = pv->end - pv->pos; - -- retval = iconv( pv->iconv_context, &p, &in_size, &q, &out_size); -+ retval = libiconv( pv->iconv_context, &p, &in_size, &q, &out_size); - if (q != pv->utf8_buf + pv->utf8_end) - { - conversion = 1; -@@ -672,7 +672,7 @@ static int decsrtInit( hb_work_object_t * w, hb_job_t - pv->start_time = AV_NOPTS_VALUE; - } - -- pv->iconv_context = iconv_open( "utf-8", pv->subtitle->config.src_codeset ); -+ pv->iconv_context = libiconv_open( "utf-8", pv->subtitle->config.src_codeset ); - if( pv->iconv_context == (iconv_t) -1 ) - { - hb_error("Could not open the iconv library with those file formats\n"); -@@ -703,7 +703,7 @@ fail: - { - if (pv->iconv_context != (iconv_t) -1) - { -- iconv_close(pv->iconv_context); -+ libiconv_close(pv->iconv_context); - } - if (pv->file != NULL) - { -@@ -754,7 +754,7 @@ static void decsrtClose( hb_work_object_t * w ) - if (pv != NULL) - { - fclose( pv->file ); -- iconv_close(pv->iconv_context); -+ libiconv_close(pv->iconv_context); - free( w->private_data ); - } - } Index: patches/patch-libhb_encavcodecaudio_c =================================================================== RCS file: /cvs/ports/multimedia/handbrake/patches/patch-libhb_encavcodecaudio_c,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-libhb_encavcodecaudio_c --- patches/patch-libhb_encavcodecaudio_c 27 Jul 2022 15:14:10 -0000 1.1 +++ patches/patch-libhb_encavcodecaudio_c 1 Jan 2023 05:56:39 -0000 @@ -1,20 +1,64 @@ -Fix missing audio tracks. - - * https://bugzilla.rpmfusion.org/show_bug.cgi?id=6006 - * https://github.com/HandBrake/HandBrake/commit/f28289fb06ab461ea082b4be56d6d1504c0c31c2 +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e Index: libhb/encavcodecaudio.c --- libhb/encavcodecaudio.c.orig +++ libhb/encavcodecaudio.c -@@ -409,7 +409,10 @@ static void Encode(hb_work_object_t *w, hb_buffer_list +@@ -174,15 +174,13 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job + } + } + +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, channel_layout); +- + // allocate the context and apply the settings + context = avcodec_alloc_context3(codec); + hb_ff_set_sample_fmt(context, codec, sample_fmt); + context->bits_per_raw_sample = bits_per_raw_sample; + context->profile = profile; +- context->ch_layout = ch_layout; ++ context->channel_layout = channel_layout; ++ context->channels = pv->out_discrete_channels; + context->sample_rate = audio->config.out.samplerate; + context->time_base = (AVRational){1, 90000}; - // Prepare input frame +@@ -234,7 +232,7 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job + pv->context = context; + audio->config.out.samples_per_frame = + pv->samples_per_frame = context->frame_size; +- pv->input_samples = context->frame_size * context->ch_layout.nb_channels; ++ pv->input_samples = context->frame_size * context->channels; + pv->input_buf = malloc(pv->input_samples * sizeof(float)); + // Some encoders in libav (e.g. fdk-aac) fail if the output buffer + // size is not some minimum value. 8K seems to be enough :( +@@ -257,9 +255,9 @@ static int encavcodecaInit(hb_work_object_t *w, hb_job + av_opt_set_int(pv->swresample, "out_sample_fmt", + context->sample_fmt, 0); + av_opt_set_int(pv->swresample, "in_channel_layout", +- context->ch_layout.u.mask, 0); ++ context->channel_layout, 0); + av_opt_set_int(pv->swresample, "out_channel_layout", +- context->ch_layout.u.mask, 0); ++ context->channel_layout, 0); + av_opt_set_int(pv->swresample, "in_sample_rate", + context->sample_rate, 0); + av_opt_set_int(pv->swresample, "out_sample_rate", +@@ -423,15 +421,15 @@ static void Encode(hb_work_object_t *w, hb_buffer_list int out_size; -- AVFrame frame = { .nb_samples = pv->samples_per_frame, }; -+ AVFrame frame = { .nb_samples = pv->samples_per_frame, -+ .format = pv->context->sample_fmt, + AVFrame frame = { .nb_samples = pv->samples_per_frame, + .format = pv->context->sample_fmt, +- .ch_layout = pv->context->ch_layout + .channels = pv->context->channels -+ }; + }; out_size = av_samples_get_buffer_size(NULL, - pv->context->channels, +- pv->context->ch_layout.nb_channels, ++ pv->context->channels, + pv->samples_per_frame, + pv->context->sample_fmt, 1); + avcodec_fill_audio_frame(&frame, +- pv->context->ch_layout.nb_channels, pv->context->sample_fmt, ++ pv->context->channels, pv->context->sample_fmt, + pv->output_buf, out_size, 1); + if (pv->swresample != NULL) + { Index: patches/patch-libhb_fifo_c =================================================================== RCS file: patches/patch-libhb_fifo_c diff -N patches/patch-libhb_fifo_c --- patches/patch-libhb_fifo_c 11 Mar 2022 19:39:19 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Add OpenBSD where appropriate. - -Index: libhb/fifo.c ---- libhb/fifo.c.orig -+++ libhb/fifo.c -@@ -16,7 +16,7 @@ - #endif - - #ifndef SYS_DARWIN --#if defined( SYS_FREEBSD ) || defined ( __FreeBSD__ ) -+#if defined( SYS_FREEBSD ) || defined ( __FreeBSD__ ) || defined ( __OpenBSD__ ) - #include <stdlib.h> - #else - #include <malloc.h> Index: patches/patch-libhb_muxavformat_c =================================================================== RCS file: patches/patch-libhb_muxavformat_c diff -N patches/patch-libhb_muxavformat_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_muxavformat_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,33 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/muxavformat.c +--- libhb/muxavformat.c.orig ++++ libhb/muxavformat.c +@@ -804,21 +804,19 @@ static int avformatInit( hb_mux_object_t * m ) + track->st->codecpar->sample_rate = audio->config.out.samplerate; + if (audio->config.out.codec & HB_ACODEC_PASS_FLAG) + { +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, audio->config.in.channel_layout); +- track->st->codecpar->ch_layout = ch_layout; ++ track->st->codecpar->channels = av_get_channel_layout_nb_channels(audio->config.in.channel_layout); ++ track->st->codecpar->channel_layout = audio->config.in.channel_layout; + } + else + { +- AVChannelLayout ch_layout = {0}; +- av_channel_layout_from_mask(&ch_layout, hb_ff_mixdown_xlat(audio->config.out.mixdown, NULL)); +- track->st->codecpar->ch_layout = ch_layout; ++ track->st->codecpar->channels = hb_mixdown_get_discrete_channel_count(audio->config.out.mixdown); ++ track->st->codecpar->channel_layout = hb_ff_mixdown_xlat(audio->config.out.mixdown, NULL); + } + + const char *name; + if (audio->config.out.name == NULL) + { +- switch (track->st->codecpar->ch_layout.nb_channels) ++ switch (track->st->codecpar->channels) + { + case 1: + name = "Mono"; Index: patches/patch-libhb_scan_c =================================================================== RCS file: patches/patch-libhb_scan_c diff -N patches/patch-libhb_scan_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-libhb_scan_c 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,15 @@ +Revert "libhb: use mask part the new FFmpeg channel layout api." +c5012478cba356b8f8f222d6acff9fe3cc74e67e + +Index: libhb/scan.c +--- libhb/scan.c.orig ++++ libhb/scan.c +@@ -1611,7 +1611,7 @@ static void LookForAudio(hb_scan_t *scan, hb_title_t * + { + int lfes = (!!(audio->config.in.channel_layout & AV_CH_LOW_FREQUENCY) + + !!(audio->config.in.channel_layout & AV_CH_LOW_FREQUENCY_2)); +- int channels = hb_layout_get_discrete_channel_count(audio->config.in.channel_layout); ++ int channels = av_get_channel_layout_nb_channels(audio->config.in.channel_layout); + char *desc = audio->config.lang.description + + strlen(audio->config.lang.description); + size_t size = sizeof(audio->config.lang.description) - strlen(audio->config.lang.description); Index: patches/patch-make_configure_py =================================================================== RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_configure_py,v retrieving revision 1.4 diff -u -p -u -p -r1.4 patch-make_configure_py --- patches/patch-make_configure_py 11 Mar 2022 19:39:19 -0000 1.4 +++ patches/patch-make_configure_py 1 Jan 2023 05:56:39 -0000 @@ -1,50 +1,9 @@ -Add OpenBSD to the configure args we need. Do not look for CMake; we don't need it. Index: make/configure.py --- make/configure.py.orig +++ make/configure.py -@@ -682,6 +682,8 @@ class ArchAction( Action ): - elif host_tuple.match( '*-*-freebsd*' ): - self.mode['i386'] = 'i386-portsbuild-freebsd%s' % (host_tuple.release) - self.mode['amd64'] = 'amd64-portsbuild-freebsd%s' % (host_tuple.release) -+ elif host_tuple.match( '*-*-openbsd*' ): -+ pass - else: - self.msg_pass = 'WARNING' - -@@ -1338,7 +1340,7 @@ def createCLI( cross = None ): - ## add build options - grp = cli.add_argument_group( 'Build Options' ) - grp.add_argument( '--snapshot', default=False, action='store_true', help='Force a snapshot build' ) -- h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value -+ h = IfHost( 'Build extra contribs for flatpak packaging', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value - grp.add_argument( '--flatpak', default=False, action='store_true', help=h ) - cli.add_argument_group( grp ) - -@@ -1378,10 +1380,10 @@ def createCLI( cross = None ): - h = IfHost( 'enable assembly code in non-contrib modules', 'NOMATCH*-*-darwin*', 'NOMATCH*-*-linux*', none=argparse.SUPPRESS ).value - grp.add_argument( '--enable-asm', default=False, action='store_true', help=h ) - -- h = IfHost( 'disable GTK GUI', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value -+ h = IfHost( 'disable GTK GUI', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value - grp.add_argument( '--disable-gtk', default=False, action='store_true', help=h ) - -- h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value -+ h = IfHost( 'disable GTK GUI update checks', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value - grp.add_argument( '--disable-gtk-update-checks', default=False, action='store_true', help=h ) - - h = 'enable GTK GUI for Windows' if (cross is not None and 'mingw' in cross) else argparse.SUPPRESS -@@ -1390,7 +1392,7 @@ def createCLI( cross = None ): - h = IfHost( 'Build GUI with GTK4', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value - grp.add_argument( '--enable-gtk4', default=False, action='store_true', help=h ) - -- h = IfHost( 'disable GStreamer (live preview)', '*-*-linux*', '*-*-freebsd*', none=argparse.SUPPRESS ).value -+ h = IfHost( 'disable GStreamer (live preview)', '*-*-linux*', '*-*-freebsd*', '*-*-openbsd*', none=argparse.SUPPRESS ).value - grp.add_argument( '--disable-gst', default=False, action='store_true', help=h ) - - h = IfHost( 'x265 video encoder', '*-*-*', none=argparse.SUPPRESS ).value -@@ -1581,13 +1583,10 @@ try: +@@ -1638,13 +1638,10 @@ try: class Tools: ar = ToolProbe( 'AR.exe', 'ar', 'ar', abort=True ) cp = ToolProbe( 'CP.exe', 'cp', 'cp', abort=True ) @@ -58,11 +17,11 @@ Index: make/configure.py python = ToolProbe( 'PYTHON.exe', 'python', os.path.basename(sys.executable), abort=True ) gcc_tools = ['GCC.gcc', -@@ -1602,14 +1601,9 @@ try: +@@ -1659,14 +1656,9 @@ try: else: gmake = ToolProbe( 'GMAKE.exe', 'make', 'gmake', 'make', abort=True ) -- autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=[2,69,0] ) +- autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', 'autoconf', abort=True, minversion=([2,71,0] if build_tuple.match('*-*-darwin*') else [2,69,0]) ) - automake = ToolProbe( 'AUTOMAKE.exe', 'automake', 'automake', abort=True, minversion=[1,13,0] ) libtool = ToolProbe( 'LIBTOOL.exe', 'libtool', 'libtool', abort=True ) lipo = ToolProbe( 'LIPO.exe', 'lipo', 'lipo', abort=False ) @@ -71,14 +30,12 @@ Index: make/configure.py - nasm = ToolProbe( 'NASM.exe', 'asm', 'nasm', abort=True, minversion=[2,13,0] ) - ninja = ToolProbe( 'NINJA.exe', 'ninja', 'ninja-build', 'ninja', abort=True ) - xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', 'xcodebuild', abort=(True if (build_tuple.match('*-*-darwin*') and cross is None) else False), versionopt='-version', minversion=[10,3,0] ) + xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', 'xcodebuild', abort=(True if (not xcode_opts['disabled'] and (build_tuple.match('*-*-darwin*') and cross is None)) else False), versionopt='-version', minversion=[10,3,0] ) -@@ -1695,12 +1689,6 @@ try: - if options.flatpak or host_tuple.match('*-*-darwin*', '*-*-mingw'): - # Requires Jansson which requires CMake 3.1.0 or later - Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[3,1,0]) -- else: -- Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[2,8,12]) +@@ -1765,10 +1757,6 @@ try: + ##################################### + # Requires oneVPL which requires CMake 3.16.3 or later + Tools.cmake = ToolProbe('CMAKE.exe', 'cmake', 'cmake', abort=True, minversion=[3,16,3]) - Tools.cmake.__init__( Tools.cmake.var, Tools.cmake.option, Tools.cmake.name, **Tools.cmake.kwargs ) - Tools.cmake.run() - for action in Action.actions: Index: patches/patch-make_include_gcc_defs =================================================================== RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_include_gcc_defs,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-make_include_gcc_defs --- patches/patch-make_include_gcc_defs 11 Mar 2022 19:39:19 -0000 1.3 +++ patches/patch-make_include_gcc_defs 1 Jan 2023 05:56:39 -0000 @@ -1,28 +1,36 @@ -Remove hardcoded optimization flags. -Proper -I and -L dirs. +- Remove hardcoded optimization flags. +- Proper -I and -L dirs. Index: make/include/gcc.defs --- make/include/gcc.defs.orig +++ make/include/gcc.defs -@@ -60,16 +60,16 @@ GCC.args.g.none = -g0 - GCC.args.g.min = -gdwarf-2 -g1 - GCC.args.g.std = -gdwarf-2 - GCC.args.g.max = -gdwarf-2 -g3 --GCC.args.O.none = -O0 --GCC.args.O.size = -Os --GCC.args.O.speed = -O3 -+GCC.args.O.none = -+GCC.args.O.size = -+GCC.args.O.speed = - GCC.args.D = -D$(1) --GCC.args.I = -I$(1) -+GCC.args.I = -I$(1) -I$(LOCALBASE)/include -I$(X11BASE)/include -I$(LOCALBASE)/include/libavcodec - GCC.args.muldefs = -Wl,--allow-multiple-definition - GCC.args.start = -Wl,--start-group - GCC.args.F = -F$(1) - GCC.args.f = -framework $(1) --GCC.args.L = -L$(1) -+GCC.args.L = -L$(1) -L$(LOCALBASE)/lib -L$(X11BASE)/lib - GCC.args.l = -l$(1) - GCC.args.end = -Wl,--end-group +@@ -66,10 +66,10 @@ GCC.args.g.none = -g0 + GCC.args.g.min = -gdwarf-2 -g1 + GCC.args.g.std = -gdwarf-2 + GCC.args.g.max = -gdwarf-2 -g3 +-GCC.args.O.none = -O0 +-GCC.args.O.size = -Os +-GCC.args.O.size-aggressive = -Oz +-GCC.args.O.speed = -O3 ++GCC.args.O.none = ++GCC.args.O.size = ++GCC.args.O.size-aggressive = ++GCC.args.O.speed = + GCC.args.cpu.none = + GCC.args.cpu.native = + ifeq ($(HOST.machine),$(filter $(HOST.machine),i686 x86_64)) +@@ -80,12 +80,12 @@ GCC.args.lto.off = -fno-lto + GCC.args.lto.on = -flto + GCC.args.lto.thin = -flto=thin + GCC.args.D = -D$(1) +-GCC.args.I = -I$(1) ++GCC.args.I = -I$(1) -I$(LOCALBASE)/include -I$(X11BASE)/include + GCC.args.muldefs = -Wl,--allow-multiple-definition + GCC.args.start = -Wl,--start-group + GCC.args.F = -F$(1) + GCC.args.f = -framework $(1) +-GCC.args.L = -L$(1) ++GCC.args.L = -L$(1) -L$(LOCALBASE)/lib -L$(X11BASE)/lib + GCC.args.l = -l$(1) + GCC.args.end = -Wl,--end-group Index: patches/patch-make_include_main_defs =================================================================== RCS file: /cvs/ports/multimedia/handbrake/patches/patch-make_include_main_defs,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-make_include_main_defs --- patches/patch-make_include_main_defs 11 Mar 2022 19:39:19 -0000 1.3 +++ patches/patch-make_include_main_defs 1 Jan 2023 05:56:39 -0000 @@ -1,10 +1,9 @@ Rip out all the optional dependencies. -We'll let the ports tree handle it. Index: make/include/main.defs --- make/include/main.defs.orig +++ make/include/main.defs -@@ -7,87 +7,6 @@ include $(SRC/)make/include/tool.defs +@@ -7,97 +7,6 @@ include $(SRC/)make/include/tool.defs ############################################################################### @@ -29,9 +28,11 @@ Index: make/include/main.defs - MODULES += contrib/x264 - MODULES += contrib/jansson - MODULES += contrib/libvpx +- MODULES += contrib/libjpeg-turbo -endif - -ifeq (1,$(FEATURE.flatpak)) +- MODULES += contrib/libass - MODULES += contrib/jansson - MODULES += contrib/x264 -endif @@ -48,13 +49,17 @@ Index: make/include/main.defs -endif - -MODULES += contrib/libdav1d +-MODULES += contrib/svt-av1 +-MODULES += contrib/zimg -MODULES += contrib/ffmpeg -MODULES += contrib/libdvdread -MODULES += contrib/libdvdnav -MODULES += contrib/libbluray - -ifeq (1,$(FEATURE.qsv)) -- MODULES += contrib/libmfx +-ifeq (,$(filter $(HOST.system),freebsd)) +- MODULES += contrib/libvpl +-endif -endif - -ifeq (1,$(FEATURE.vce)) @@ -69,6 +74,10 @@ Index: make/include/main.defs - MODULES += contrib/xz -endif - +-ifneq (,$(filter $(HOST.machine),arm64 aarch64)) +- MODULES += contrib/sse2neon +-endif +- -ifneq (,$(filter $(HOST.system),cygwin mingw)) -ifneq ($(HAS.iconv),1) - MODULES += contrib/libiconv @@ -91,16 +100,4 @@ Index: make/include/main.defs - ## these must come after contrib since some contrib modules are optional MODULES += libhb - -@@ -122,6 +41,11 @@ endif - - ifeq (1-gnu,$(FEATURE.gtk)-$(HOST.system)) - ## build gtk when gtk+gnu -+ MODULES += gtk -+endif -+ -+ifeq (1-openbsd,$(FEATURE.gtk)-$(BUILD.system)) -+ ## build gtk when gtk+openbsd - MODULES += gtk - endif Index: patches/patch-make_variant_freebsd_defs =================================================================== RCS file: patches/patch-make_variant_freebsd_defs diff -N patches/patch-make_variant_freebsd_defs --- patches/patch-make_variant_freebsd_defs 11 Mar 2022 19:39:19 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: make/variant/freebsd.defs ---- make/variant/freebsd.defs.orig -+++ make/variant/freebsd.defs -@@ -3,8 +3,6 @@ LOCALBASE ?= /usr/local - - TARGET.dylib.ext = .so - --GCC.D = LIBICONV_PLUG -- - GCC.args.dylib = -shared - GCC.args.pic = 1 - Index: patches/patch-test_module_defs =================================================================== RCS file: patches/patch-test_module_defs diff -N patches/patch-test_module_defs --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-test_module_defs 1 Jan 2023 05:56:39 -0000 @@ -0,0 +1,12 @@ +Index: test/module.defs +--- test/module.defs.orig ++++ test/module.defs +@@ -16,7 +16,7 @@ TEST.libs = $(LIBHB.a) + TEST.GCC.l = \ + ass avformat avfilter avcodec avutil swresample postproc mp3lame dvdnav \ + dvdread fribidi swscale vpx theoraenc theoradec vorbis vorbisenc ogg \ +- x264 bluray freetype xml2 bz2 z jansson harfbuzz opus speex lzma dav1d \ ++ x264 x265 bluray freetype xml2 bz2 z jansson harfbuzz opus speex lzma dav1d \ + turbojpeg zimg SvtAv1Enc + + ifeq (,$(filter $(HOST.system),darwin cygwin mingw)) Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/multimedia/handbrake/pkg/PLIST,v retrieving revision 1.4 diff -u -p -u -p -r1.4 PLIST --- pkg/PLIST 11 Mar 2022 19:39:19 -0000 1.4 +++ pkg/PLIST 1 Jan 2023 05:56:39 -0000 @@ -5,15 +5,23 @@ share/applications/fr.handbrake.ghb.desk share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg share/icons/hicolor/scalable/apps/hb-icon.svg share/locale/af/LC_MESSAGES/ghb.mo +share/locale/bg/LC_MESSAGES/ghb.mo +share/locale/ca/LC_MESSAGES/ghb.mo +share/locale/co/ +share/locale/co/LC_MESSAGES/ +share/locale/co/LC_MESSAGES/ghb.mo share/locale/cs/LC_MESSAGES/ghb.mo share/locale/da/LC_MESSAGES/ghb.mo share/locale/de/LC_MESSAGES/ghb.mo share/locale/es/LC_MESSAGES/ghb.mo share/locale/eu/LC_MESSAGES/ghb.mo +share/locale/fi/LC_MESSAGES/ghb.mo share/locale/fr/LC_MESSAGES/ghb.mo +share/locale/he/LC_MESSAGES/ghb.mo share/locale/hr/LC_MESSAGES/ghb.mo share/locale/it/LC_MESSAGES/ghb.mo share/locale/ja/LC_MESSAGES/ghb.mo +share/locale/ka/LC_MESSAGES/ghb.mo share/locale/ko/LC_MESSAGES/ghb.mo share/locale/nl/LC_MESSAGES/ghb.mo share/locale/no/LC_MESSAGES/ghb.mo @@ -22,7 +30,11 @@ share/locale/pt/LC_MESSAGES/ghb.mo share/locale/pt_BR/LC_MESSAGES/ghb.mo share/locale/ro/LC_MESSAGES/ghb.mo share/locale/ru/LC_MESSAGES/ghb.mo +share/locale/si/LC_MESSAGES/ghb.mo share/locale/sk/LC_MESSAGES/ghb.mo +share/locale/sl_SI/ +share/locale/sl_SI/LC_MESSAGES/ +share/locale/sl_SI/LC_MESSAGES/ghb.mo share/locale/sv/LC_MESSAGES/ghb.mo share/locale/th/LC_MESSAGES/ghb.mo share/locale/tr/LC_MESSAGES/ghb.mo @@ -30,6 +42,7 @@ share/locale/uk_UA/ share/locale/uk_UA/LC_MESSAGES/ share/locale/uk_UA/LC_MESSAGES/ghb.mo share/locale/zh_CN/LC_MESSAGES/ghb.mo +share/locale/zh_TW/LC_MESSAGES/ghb.mo share/metainfo/ share/metainfo/fr.handbrake.ghb.metainfo.xml @tag update-desktop-database