y += ys35;
add_subwindow(title = new BC_Title(x, y, _("Composer BG Color:")));
int clr_color = pwindow->thread->edl->session->cwindow_clear_color;
- int clr_alpha = pwindow->thread->edl->session->cwindow_clear_alpha;
add_subwindow(cwdw_bg_color = new Composer_BG_Color(pwindow,
- x2, y, xS(80), yS(24), clr_color, clr_alpha));
+ x2, y, xS(80), yS(24), clr_color));
draw_3d_border(x2-2,y-2, xS(80)+4,xS(24)+4, 1);
cwdw_bg_color->create_objects();
x2 += cwdw_bg_color->get_w();
}
Composer_BG_Color::Composer_BG_Color(PreferencesWindow *pwindow,
- int x, int y, int w, int h, int color, int alpha)
- : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, alpha, 1)
+ int x, int y, int w, int h, int color)
+ : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, -1, 1)
{
this->pwindow = pwindow;
}
int Composer_BG_Color::handle_new_color(int color, int alpha)
{
pwindow->thread->edl->session->cwindow_clear_color = color;
- pwindow->thread->edl->session->cwindow_clear_alpha = alpha;
return 1;
}
{
public:
Composer_BG_Color(PreferencesWindow *pwindow,
- int x, int y, int w, int h, int color, int alpha);
+ int x, int y, int w, int h, int color);
~Composer_BG_Color();
void handle_done_event(int result);
int handle_new_color(int color, int alpha);
hue = 0; sat = 0; val = 0;
red = 0; grn = 0; blu = 0;
lum = 0; c_r = 0; c_b = 0;
- alpha = 0;
hsv_h = 0; hsv_s = 0; hsv_v = 0;
rgb_r = 0; rgb_g = 0; rgb_b = 0;
void ColorBoxButton::set_color(int color)
{
this->color = (color & 0xffffff);
- this->alpha = (~color>>24) & 0xff;
+ if( this->alpha >= 0 )
+ this->alpha = (~color>>24) & 0xff;
int r = (color>>16) & 0xff;
int g = (color>> 8) & 0xff;
int b = (color>> 0) & 0xff;
void ColorCircleButton::set_color(int color)
{
this->color = (color & 0xffffff);
- this->alpha = (~color>>24) & 0xff;
+ if( this->alpha >= 0 )
+ this->alpha = (~color>>24) & 0xff;
int r = (color>>16) & 0xff;
int g = (color>>8) & 0xff;
int b = (color>>0) & 0xff;
cwindow_zoom = 1.0;
cwindow_click2play = 0;
cwindow_clear_color = BLACK;
- cwindow_clear_alpha = 0;
strcpy(default_atransition, INIT_ATRANSITION);
strcpy(default_vtransition, INIT_VTRANSITION);
default_transition_length = 1.0;
(proxy_disabled_scale != ptr->proxy_disabled_scale) ||
(proxy_scale != ptr->proxy_scale) ||
(proxy_use_scaler != ptr->proxy_use_scaler) ||
- (cwindow_clear_color != ptr->cwindow_clear_color) ||
- (cwindow_clear_alpha != ptr->cwindow_clear_alpha));
+ (cwindow_clear_color != ptr->cwindow_clear_color));
}
void EDLSession::equivalent_output(EDLSession *session, double *result)
cwindow_zoom = defaults->get("CWINDOW_ZOOM", (float)1);
cwindow_click2play = defaults->get("CWINDOW_CLICK2PLAY", 0);
cwindow_clear_color = defaults->get("CWINDOW_CLEAR_COLOR", BLACK);
- cwindow_clear_alpha = defaults->get("CWINDOW_CLEAR_ALPHA", 0);
sprintf(default_atransition, INIT_ATRANSITION);
defaults->get("DEFAULT_ATRANSITION", default_atransition);
sprintf(default_vtransition, INIT_VTRANSITION);
defaults->update("CWINDOW_ZOOM", cwindow_zoom);
defaults->update("CWINDOW_CLICK2PLAY", cwindow_click2play);
defaults->update("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
- defaults->update("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
defaults->update("DEFAULT_ATRANSITION", default_atransition);
defaults->update("DEFAULT_VTRANSITION", default_vtransition);
defaults->update("DEFAULT_TRANSITION_LENGTH", default_transition_length);
cwindow_zoom = file->tag.get_property("CWINDOW_ZOOM", cwindow_zoom);
cwindow_click2play = file->tag.get_property("CWINDOW_CLICK2PLAY", cwindow_click2play);
cwindow_clear_color = file->tag.get_property("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
- cwindow_clear_alpha = file->tag.get_property("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
editing_mode = file->tag.get_property("EDITING_MODE", editing_mode);
folderlist_format = file->tag.get_property("FOLDERLIST_FORMAT", folderlist_format);
highlighted_track = file->tag.get_property("HIGHLIGHTED_TRACK", 0);
file->tag.set_property("CWINDOW_ZOOM", cwindow_zoom);
file->tag.set_property("CWINDOW_CLICK2PLAY", cwindow_click2play);
file->tag.set_property("CWINDOW_CLEAR_COLOR", cwindow_clear_color);
- file->tag.set_property("CWINDOW_CLEAR_ALPHA", cwindow_clear_alpha);
file->tag.set_property("EDITING_MODE", editing_mode);
file->tag.set_property("FOLDERLIST_FORMAT", folderlist_format);
file->tag.set_property("HIGHLIGHTED_TRACK", highlighted_track);
cwindow_zoom = session->cwindow_zoom;
cwindow_click2play = session->cwindow_click2play;
cwindow_clear_color = session->cwindow_clear_color;
- cwindow_clear_alpha = session->cwindow_clear_alpha;
strcpy(default_atransition, session->default_atransition);
strcpy(default_vtransition, session->default_vtransition);
default_transition_length = session->default_transition_length;
int cwindow_click2play;
// CWindow clear color
int cwindow_clear_color;
- int cwindow_clear_alpha;
// Transition
char default_atransition[BCTEXTLEN];
char default_vtransition[BCTEXTLEN];
int PackageFile::write_frame_done(int64_t position)
{
+ if( !package_renderer->package->use_brender ) return 0;
return package_renderer->set_video_map(position, BRender::RENDERED);
}
const char *PluginClient::get_source_path()
{
- EDL *edl = get_edl();
- Plugin *plugin = edl->tracks->plugin_exists(server->plugin_id);
+ Plugin *plugin = server->edl->tracks->plugin_exists(server->plugin_id);
int64_t source_position = plugin->startproject;
Edit *edit = plugin->track->edits->editof(source_position,PLAY_FORWARD,0);
Indexable *indexable = edit ? edit->get_source() : 0;
enum
{
RENDERFARM_NONE,
- RENDERFARM_PREFERENCES, // 0 Get preferences on startup
+ RENDERFARM_PREFERENCES, // Get preferences on startup
RENDERFARM_ASSET, // Get output format on startup
RENDERFARM_EDL, // Get EDL on startup
RENDERFARM_PACKAGE, // Get one package after another to render
RENDERFARM_SET_RESULT, // Update error status
RENDERFARM_GET_RESULT, // Retrieve error status
RENDERFARM_DONE, // Quit
- RENDERFARM_SET_VMAP, // 8 Update video map in background rendering
+ RENDERFARM_SET_VMAP, // Update video map in background rendering
RENDERFARM_COMMAND, // Get the client to run
RENDERFARM_TUNER, // Run a tuner server
RENDERFARM_PACKAGES, // Run packages
perror(_("RenderFarmClient::main_loop: socket"));
return;
}
+ struct linger lgr;
+ lgr.l_onoff = 0;
+ lgr.l_linger = 0;
+ if( setsockopt(socket_fd, SOL_SOCKET, SO_LINGER, &lgr, sizeof(lgr)) < 0 )
+ perror("RenderFarmClient::setsockopt:setlinger 0");
if(bind(socket_fd,
(struct sockaddr*)&addr,
perror(_("RenderFarmClient::main_loop: socket"));
return;
}
+ struct linger lgr;
+ lgr.l_onoff = 0;
+ lgr.l_linger = 0;
+ if( setsockopt(socket_fd, SOL_SOCKET, SO_LINGER, &lgr, sizeof(lgr)) < 0 )
+ perror("RenderFarmClient::setsockopt:setlinger 1");
if(bind(socket_fd,
(struct sockaddr*)&addr,
int bytes_read = 0;
int offset = 0;
//printf("RenderFarmClientThread::read_socket 1\n");
- watchdog->begin_request();
+ if( watchdog )
+ watchdog->begin_request();
while(len > 0 && bytes_read >= 0)
{
bytes_read = read(socket_fd, data + offset, len);
break;
}
}
- watchdog->end_request();
+ if( watchdog )
+ watchdog->end_request();
//printf("RenderFarmClientThread::read_socket 10\n");
return offset;
if(!output_base) return;
output_base->new_output_buffer(output, colormodel, edl);
int clr_color = edl->session->cwindow_clear_color;
- int clr_alpha = edl->session->cwindow_clear_alpha;
- (*output)->set_clear_color(clr_color, clr_alpha);
+ (*output)->set_clear_color(clr_color, 0xff);
}
exit_nodes.total);
+ EDLSession *session = renderengine->get_edl()->session;
+ int clr_color = session->cwindow_clear_color;
+ vrender->video_out->set_clear_color(clr_color, 0xff);
+
if(use_opengl)
{
// clear hardware framebuffer
EDL *edl = renderengine->get_edl();
output_temp = new VFrame( track->track_w, track->track_h,
edl->session->color_model);
- int clr_color = edl->session->cwindow_clear_color;
- int clr_alpha = edl->session->cwindow_clear_alpha;
- output_temp->set_clear_color(clr_color, clr_alpha);
}
// Reset OpenGL state
[ usr/local/include ])
PKG_3RD([dav1d],[auto],
- [dav1d-0.7.1],
+ [dav1d-0.5.1],
[ usr/local/lib*/libdav1d*.a ],
[ usr/local/include ])
flv libx264
+cin_quality=23
loopvideo \
motion \
motion51 \
- motion-cv \
- motion-hv \
motion2point \
motionblur \
normalize \
theme_unflat \
theme_cakewalk \
+# not maintained
+# motion-cv \
+# motion-hv \
# too costly
# findobject \
# greycstoration \
low_output->reposition_window(low_output->get_x(),
low_output->get_y() + ydiff);
- int xs = (get_w() - log_slider->get_w()) / 2;
+ int xs = (w - log_slider->get_w()) / 2;
int margin = plugin->get_theme()->widget_border;
log_title1->reposition_window(xs - log_title1->get_w() - margin,
log_title1->get_y() + ydiff);
"Project-Id-Version: Cinelerra-GG Infinity\n"
"POT-Creation-Date: 2020-09-01 04:28+0300\n"
-"PO-Revision-Date: 2020-09-06 15:06+0300\n"
+"PO-Revision-Date: 2020-09-21 08:48+0300\n"
"Language: ru_RU\n"
#: plugins/compressor/compressor.C:394
#: plugins/compressormulti/comprmultigui.C:113
msgid "Sound level (Press shift to snap to grid):"
-msgstr "Уровень звука (нажм. shift дял выравнивания по сетке):"
+msgstr "Уровень звука (нажм. shift для выравнивания по сетке):"
#: plugins/compressor/compressor.C:406
#: plugins/compressormulti/comprmultigui.C:129
--- /dev/null
+diff -urN a/Makefile b/Makefile
+--- a/Makefile 1969-12-31 17:00:00.000000000 -0700
++++ b/Makefile 2019-10-14 10:54:47.354841430 -0600
+@@ -0,0 +1,363 @@
++
++_ARCH := $(shell uname -m)
++ARCH_I32 := $(shell expr "x$(_ARCH)" : 'xi[346]86.*')
++ARCH_X64 := $(shell expr "x$(_ARCH)" : 'x..._64*')
++
++ifneq ($(ARCH_I32),0)
++ASM_ARCH := elf32
++ARCH_X86_32 := 1
++ARCH_X86_64 := 0
++endif
++ifneq ($(ARCH_X64),0)
++ASM_ARCH := elf64
++ARCH_X86_32 := 0
++ARCH_X86_64 := 1
++endif
++
++BUILD=build
++DESTDIR=/
++PREFIX=usr/local
++LIBDIR=$(PREFIX)/lib
++INCDIR=$(PREFIX)/include
++# make Q="" for verbose
++Q?=@echo == $@;
++OBJDIR?=$(BUILD)/static
++NASM_BLD=$(OBJDIR)/nasm
++ENTRY_BLD=$(OBJDIR)/entry
++SRC_BLD=$(OBJDIR)/src
++BIT8_BLD=$(OBJDIR)/bits8
++BIT16_BLD=$(OBJDIR)/bits16
++TOOLS_BLD=$(BUILD)/tools
++TESTS_BLD=$(BUILD)/tests
++
++STATIC_LIB=$(BUILD)/src/libdav1d.a
++SHARED_LIB=$(BUILD)/src/libdav1d.so
++DEFS= -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_POSIX_C_SOURCE=200112L
++FUZZ= -DDAV1D_MT_FUZZING
++
++BLD_INCL= $(DEFS) -I. -Isrc -Iinclude/dav1d -Iinclude \
++ -I$(BUILD) -I$(BUILD)/include -I$(BUILD)/include/dav1d
++TOOLS_INCL= $(DEFS) -Itools -I. -I$(BUILD) -I$(BUILD)/tools \
++ -Iinclude -Iinclude/dav1d -I$(BUILD)/include/dav1d \
++ -I$(BUILD)/include -I/usr/include/SDL2
++
++NP?=.NOTPARALLEL:
++$(NP)
++MAKE_P:=$(MAKE) -j NP=""
++
++all: meson_data
++ $(MAKE_P) $(STATIC_LIB) OBJDIR=$(BUILD)/static
++ $(MAKE_P) $(SHARED_LIB) OBJDIR=$(BUILD)/shared
++# req SDL
++# $(MAKE_P) $(TOOLS) OBJDIR=$(BUILD)/static
++# $(MAKE_P) $(TESTS) OBJDIR=$(BUILD)/static
++
++CC_DEFS=\
++ -DNDEBUG \
++ -D_FILE_OFFSET_BITS=64 \
++ -D_POSIX_C_SOURCE=200112L \
++
++CC_OPTS=\
++ -pipe \
++ -Wall \
++ -Winvalid-pch \
++ -Wextra \
++ -std=c99 \
++ -O3 \
++ -fvisibility=hidden \
++ -Wundef \
++ -Werror=vla \
++ -Wno-maybe-uninitialized \
++ -Wno-missing-field-initializers \
++ -Wno-unused-parameter \
++ -Werror=missing-prototypes \
++ -fomit-frame-pointer \
++ -ffast-math \
++ -fPIC \
++ -mpreferred-stack-boundary=5 \
++
++SHA_OPTS=\
++ -Wl,--no-undefined \
++ -Wl,--as-needed \
++ -Wl,-O1 \
++ -shared \
++ -fPIC \
++ -Wl,--start-group \
++ -Wl,-soname,libdav1d.so.2 \
++ -Wl,--end-group \
++ -pthread \
++
++CC_CC=$(Q)cc $(CC_OPTS) $(CFLAGS)
++NASM=$(Q)/usr/bin/nasm
++any=$(foreach i,$(2),$(1)/$(i))
++
++# nasm
++NASM_OBJS=$(call any,$(NASM_BLD), \
++ cdef.obj \
++ film_grain.obj \
++ ipred.obj \
++ itx.obj \
++ cdef_sse.obj \
++ ipred_ssse3.obj \
++ loopfilter.obj \
++ looprestoration.obj \
++ mc.obj \
++ itx_ssse3.obj \
++ looprestoration_ssse3.obj \
++ loopfilter_ssse3.obj \
++ mc_ssse3.obj \
++ cpuid.obj \
++ msac.obj )
++
++$(NASM_BLD)/%.obj: src/x86/%.asm
++ $(NASM) -f $(ASM_ARCH) \
++ $< -o $@
++
++# entry
++ENTRY_OBJS=$(call any,$(ENTRY_BLD), \
++ lib.c.o \
++ thread_task.c.o)
++$(ENTRY_BLD)/%.c.o: src/%.c
++ $(CC_CC) -Iinclude -Ibuild/include/dav1d -Isrc/entry $(BLD_INCL) \
++ -mincoming-stack-boundary=4 -o $@ -c $<
++
++# src
++SRC_OBJS=$(call any,$(SRC_BLD), \
++ cdf.o \
++ cpu.o \
++ data.o \
++ decode.o \
++ dequant_tables.o \
++ getbits.o \
++ intra_edge.o \
++ lf_mask.o \
++ log.o \
++ msac.o \
++ obu.o \
++ picture.o \
++ qm.o \
++ ref.o \
++ ref_mvs.o \
++ scan.o \
++ tables.o \
++ warpmv.o \
++ wedge.o \
++ x86/cpu.c.o)
++$(SRC_BLD)/%.o: src/%.c
++ $(CC_CC) $(BLD_INCL) -pthread -o $@ -c $<
++$(SRC_BLD)/x86/%.c.o: src/x86/%.c
++ $(CC_CC) $(BLD_INCL) -o $@ -c $<
++
++# bits
++BITS_OBJS= \
++ cdef_tmpl.o \
++ cdef_apply_tmpl.o \
++ fg_apply_tmpl.o \
++ film_grain_tmpl.o \
++ ipred_tmpl.o \
++ ipred_prepare_tmpl.o \
++ itx_tmpl.o \
++ lf_apply_tmpl.o \
++ loopfilter_tmpl.o \
++ looprestoration_tmpl.o \
++ lr_apply_tmpl.o \
++ mc_tmpl.o \
++ recon_tmpl.o \
++ x86/cdef_init_tmpl.c.o \
++ x86/film_grain_init_tmpl.c.o \
++ x86/ipred_init_tmpl.c.o \
++ x86/itx_init_tmpl.c.o \
++ x86/loopfilter_init_tmpl.c.o \
++ x86/looprestoration_init_tmpl.c.o \
++ x86/mc_init_tmpl.c.o \
++
++BIT8_OBJS=$(call any,$(BIT8_BLD),$(BITS_OBJS))
++$(BIT8_BLD)/x86/%.c.o: src/x86/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
++$(BIT8_BLD)/%.o: src/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
++
++BIT16_OBJS=$(call any,$(BIT16_BLD),$(BITS_OBJS))
++$(BIT16_BLD)/x86/%.c.o: src/x86/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
++$(BIT16_BLD)/%.o: src/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
++
++$(BUILD)/config.h:
++ echo > $@ "#pragma once"
++ echo >> $@ "#define ARCH_AARCH64 0"
++ echo >> $@ "#define ARCH_ARM 0"
++ echo >> $@ "#define ARCH_PPC64LE 0"
++ echo >> $@ "#define ARCH_X86 1"
++ echo >> $@ "#define ARCH_X86_32 $(ARCH_X86_32)"
++ echo >> $@ "#define ARCH_X86_64 $(ARCH_X86_64)"
++ echo >> $@ "#define CONFIG_16BPC 1"
++ echo >> $@ "#define CONFIG_8BPC 1"
++ echo >> $@ "#define CONFIG_LOG 1"
++ echo >> $@ "#define ENDIANNESS_BIG 0"
++ echo >> $@ "#define HAVE_ASM 1"
++ echo >> $@ "#define HAVE_POSIX_MEMALIGN 1"
++ echo >> $@ "#define HAVE_UNISTD_H 1"
++ echo >> $@ "#define STACK_ALIGNMENT 32"
++
++$(BUILD)/config.asm:
++ echo > $@ "%define ARCH_X86_32 $(ARCH_X86_32)"
++ echo >> $@ "%define ARCH_X86_64 $(ARCH_X86_64)"
++ echo >> $@ "%define PIC 1"
++ echo >> $@ "%define STACK_ALIGNMENT 32"
++
++$(BUILD)/include/vcs_version.h:
++ mkdir -p $(BUILD)/include
++ echo > $@ "#define DAV1D_VERSION \"0.5.0\""
++
++$(BUILD)/include/dav1d/version.h:
++ mkdir -p $(BUILD)/include/dav1d
++ echo > $@ "#ifndef DAV1D_VERSION_H"
++ echo >> $@ "#define DAV1D_VERSION_H"
++ echo >> $@ "#define DAV1D_API_VERSION_MAJOR 2"
++ echo >> $@ "#define DAV1D_API_VERSION_MINOR 0"
++ echo >> $@ "#define DAV1D_API_VERSION_PATCH 0"
++ echo >> $@ "#endif /* DAV1D_VERSION_H */"
++
++$(TOOLS_BLD)/cli_config.h:
++ mkdir -p $(TOOLS_BLD)
++ echo > $@ "#pragma once"
++ echo >> $@ "#define HAVE_CLOCK_GETTIME 1"
++
++.PHONY: meson_data
++meson_data:
++ make meson_dirs OBJDIR=$(BUILD)/static
++ make meson_dirs OBJDIR=$(BUILD)/shared
++ ln -sf ./include/compat/gcc/stdatomic.h .
++
++.PHONY: meson_dirs
++meson_dirs: $(OBJDIR) \
++ $(BUILD)/config.h $(BUILD)/config.asm \
++ $(BUILD)/include/vcs_version.h \
++ $(BUILD)/include/dav1d/version.h \
++ $(TOOLS_BLD)/cli_config.h \
++
++LIB_OBJS=$(ENTRY_OBJS) $(NASM_OBJS) $(SRC_OBJS) $(BIT8_OBJS) $(BIT16_OBJS)
++
++$(STATIC_LIB): DIR?=static
++$(STATIC_LIB): $(LIB_OBJS)
++ rm -f $@
++ gcc-ar csrD $@ $(LIB_OBJS)
++
++$(SHARED_LIB): DIR?=shared
++$(SHARED_LIB): $(LIB_OBJS)
++ rm -f $@
++ cc -o $@ $(LIB_OBJS) $(SHA_OPTS)
++
++# tools
++DAV1D_OBJS=$(call any,$(TOOLS_BLD),\
++ dav1d.o \
++ dav1d_cli_parse.o \
++ input/annexb.o \
++ input/ivf.o \
++ input/input.o \
++ output/md5.o \
++ output/null.o \
++ output/output.o \
++ output/y4m2.o \
++ output/yuv.o)
++
++DAV1DPLAY_OBJS=$(call any,$(TOOLS_BLD),\
++ dav1dplay.o \
++ input/annexb.o \
++ input/ivf.o \
++ input/input.o)
++
++$(TOOLS_BLD)/%.o: tools/%.c
++ $(CC_CC) $(TOOLS_INCL) -o $@ -c $<
++
++DAV1D=$(TOOLS_BLD)/dav1d
++$(DAV1D): $(DAV1D_OBJS)
++ $(CC_CC) -pthread -I$(BUILD) -o $@ $(DAV1D_OBJS) $(STATIC_LIB)
++
++DAV1DPLAY=$(TOOLS_BLD)/dav1dplay
++$(DAV1DPLAY): $(DAV1DPLAY_OBJS)
++ $(CC_CC) -pthread -o $(TOOLS_BLD)/dav1dplay $(DAV1DPLAY_OBJS) $(STATIC_LIB) -lSDL2
++
++TOOLS=$(DAV1D) $(DAV1DPLAY)
++.PHONY: tools
++tools: $(TOOLS)
++
++# tests
++TESTS_CHKASM=tests/checkasm
++TESTS_CHKASM_BLD=$(TESTS_BLD)/checkasm
++CHKASM_BIT8=$(TESTS_CHKASM_BLD)/bit8
++CHKASM_BIT16=$(TESTS_CHKASM_BLD)/bit16
++CHKASM_BITS= \
++ cdef.o \
++ ipred.o \
++ itx.o \
++ loopfilter.o \
++ looprestoration.o \
++ mc.o \
++
++CHKASM_BIT8_OBJS=$(call any,$(CHKASM_BIT8),$(CHKASM_BITS))
++CHKASM_BIT16_OBJS=$(call any,$(CHKASM_BIT16),$(CHKASM_BITS))
++
++TESTS_CHKASM_OBJS= \
++ $(TESTS_CHKASM_BLD)/checkasm.o \
++ $(TESTS_CHKASM_BLD)/msac.o \
++ $(CHKASM_BIT8_OBJS) $(CHKASM_BIT16_OBJS) \
++ $(TESTS_CHKASM_BLD)/x86/checkasm.obj \
++
++$(TESTS_CHKASM_BLD)/%.o: $(TESTS_CHKASM)/%.c
++ $(CC_CC) $(BLD_INCL) -o $@ -c $<
++$(CHKASM_BIT8)/%.o: $(TESTS_CHKASM)/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
++$(CHKASM_BIT16)/%.o: $(TESTS_CHKASM)/%.c
++ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
++$(TESTS_CHKASM_BLD)/x86/%.obj: $(TESTS_CHKASM)/x86/%.asm
++ @$(NASM) -f $(ASM_ARCH) \
++ $< -o $@
++
++CHECKASM=$(TESTS_BLD)/checkasm/checkasm
++$(CHECKASM): $(TESTS_CHKASM_OBJS) $(STATIC_LIB)
++ $(CC_CC) -pthread -o $@ $(TESTS_CHKASM_OBJS) $(STATIC_LIB) -lm
++
++TESTS_FUZZER=tests/libfuzzer
++TESTS_FUZZER_BLD=$(TESTS_BLD)/libfuzzer
++TESTS_FUZZER_OBJS= \
++ $(TESTS_FUZZER_BLD)/main.o \
++ $(TESTS_FUZZER_BLD)/dav1d_fuzzer.o \
++
++$(TESTS_FUZZER_BLD)/%.o: $(TESTS_FUZZER)/%.c
++ $(CC_CC) $(BLD_INCL) -o $@ -c $<
++
++DAV1D_FUZZER=$(TESTS_BLD)/dav1d_fuzzer
++$(DAV1D_FUZZER): $(TESTS_FUZZER_OBJS) $(STATIC_LIB)
++ $(CC_CC) -pthread -o $@ $(TESTS_FUZZER_OBJS) $(STATIC_LIB)
++
++TESTS=$(CHECKASM) $(DAV1D_FUZZER)
++.PHONY: tests
++tests: $(TESTS)
++
++$(OBJDIR):
++ mkdir -p $@/include/dav1d \
++ $(BUILD)/src $(BUILD)/include \
++ $(ENTRY_BLD) $(NASM_BLD) \
++ $(SRC_BLD)/x86 $(BIT8_BLD)/x86 $(BIT16_BLD)/x86 \
++ $(TOOLS_BLD) $(TOOLS_BLD)/input $(TOOLS_BLD)/output \
++ $(TESTS_CHKASM_BLD)/bit8 $(TESTS_CHKASM_BLD)/bit16 \
++ $(TESTS_CHKASM_BLD)/x86 $(TESTS_FUZZER_BLD) \
++
++clean:
++ rm -rf $(BUILD)
++
++install:
++ mkdir -p $(DESTDIR)$(LIBDIR)
++ cp -a $(STATIC_LIB) $(DESTDIR)$(LIBDIR)
++ cp -a $(SHARED_LIB) $(DESTDIR)$(LIBDIR)
++ mkdir -p $(DESTDIR)$(INCDIR)
++ cp -a include/dav1d $(DESTDIR)$(INCDIR)
++ rm -f $(DESTDIR)$(INCDIR)/dav1d/meson.build
++ rm -f $(DESTDIR)$(INCDIR)/dav1d/version.h.in
++ cp -a $(BUILD)/include/dav1d/version.h $(DESTDIR)$(INCDIR)/version.h
++
+++ /dev/null
-diff -ruN dav1d-0.7.1.orig/Makefile dav1d-0.7.1/Makefile
---- dav1d-0.7.1.orig/Makefile 1969-12-31 17:00:00.000000000 -0700
-+++ dav1d-0.7.1/Makefile 2020-07-09 20:10:47.066626832 -0600
-@@ -0,0 +1,371 @@
-+
-+_ARCH := $(shell uname -m)
-+ARCH_I32 := $(shell expr "x$(_ARCH)" : 'xi[346]86.*')
-+ARCH_X64 := $(shell expr "x$(_ARCH)" : 'x..._64*')
-+
-+ifneq ($(ARCH_I32),0)
-+ASM_ARCH := elf32
-+ARCH_X86_32 := 1
-+ARCH_X86_64 := 0
-+endif
-+ifneq ($(ARCH_X64),0)
-+ASM_ARCH := elf64
-+ARCH_X86_32 := 0
-+ARCH_X86_64 := 1
-+endif
-+
-+BUILD=build
-+DESTDIR=/
-+PREFIX=usr/local
-+LIBDIR=$(PREFIX)/lib
-+INCDIR=$(PREFIX)/include
-+# make Q="" for verbose
-+Q?=@echo == $@;
-+OBJDIR?=$(BUILD)/static
-+NASM_BLD=$(OBJDIR)/nasm
-+ENTRY_BLD=$(OBJDIR)/entry
-+SRC_BLD=$(OBJDIR)/src
-+BIT8_BLD=$(OBJDIR)/bits8
-+BIT16_BLD=$(OBJDIR)/bits16
-+TOOLS_BLD=$(BUILD)/tools
-+TESTS_BLD=$(BUILD)/tests
-+
-+STATIC_LIB=$(BUILD)/src/libdav1d.a
-+SHARED_LIB=$(BUILD)/src/libdav1d.so
-+DEFS= -DNDEBUG -D_FILE_OFFSET_BITS=64 -D_POSIX_C_SOURCE=200112L -D_GNU_SOURCE
-+FUZZ= -DDAV1D_MT_FUZZING
-+
-+BLD_INCL= $(DEFS) -I. -Isrc -Iinclude/dav1d -Iinclude \
-+ -I$(BUILD) -I$(BUILD)/include -I$(BUILD)/include/dav1d
-+TOOLS_INCL= $(DEFS) -Itools -I. -I$(BUILD) -I$(BUILD)/tools \
-+ -Iinclude -Iinclude/dav1d -I$(BUILD)/include/dav1d \
-+ -I$(BUILD)/include -I/usr/include/SDL2
-+
-+NP?=.NOTPARALLEL:
-+$(NP)
-+MAKE_P:=$(MAKE) -j NP=""
-+
-+all: meson_data
-+ $(MAKE_P) $(STATIC_LIB) OBJDIR=$(BUILD)/static
-+ $(MAKE_P) $(SHARED_LIB) OBJDIR=$(BUILD)/shared
-+# req SDL
-+# $(MAKE_P) $(TOOLS) OBJDIR=$(BUILD)/static
-+# $(MAKE_P) $(TESTS) OBJDIR=$(BUILD)/static
-+
-+CC_DEFS=\
-+ -DNDEBUG \
-+ -D_FILE_OFFSET_BITS=64 \
-+ -D_POSIX_C_SOURCE=200112L \
-+
-+CC_OPTS=\
-+ -pipe \
-+ -Wall \
-+ -Winvalid-pch \
-+ -Wextra \
-+ -std=c99 \
-+ -O3 \
-+ -fvisibility=hidden \
-+ -Wundef \
-+ -Werror=vla \
-+ -Wno-maybe-uninitialized \
-+ -Wno-missing-field-initializers \
-+ -Wno-unused-parameter \
-+ -Werror=missing-prototypes \
-+ -fomit-frame-pointer \
-+ -ffast-math \
-+ -fPIC \
-+ -mpreferred-stack-boundary=6 \
-+
-+SHA_OPTS=\
-+ -Wl,--no-undefined \
-+ -Wl,--as-needed \
-+ -Wl,-O1 \
-+ -shared \
-+ -fPIC \
-+ -Wl,--start-group \
-+ -Wl,-soname,libdav1d.so.3 \
-+ -Wl,--end-group \
-+ -pthread -ldl \
-+
-+CC_CC=$(Q)cc $(CC_OPTS) $(CFLAGS)
-+NASM=$(Q)/usr/bin/nasm
-+any=$(foreach i,$(2),$(1)/$(i))
-+
-+# nasm
-+NASM_OBJS=$(call any,$(NASM_BLD), \
-+ cdef_avx512.obj \
-+ cdef_avx2.obj \
-+ film_grain.obj \
-+ ipred.obj \
-+ itx.obj \
-+ cdef_sse.obj \
-+ film_grain_ssse3.obj \
-+ ipred_ssse3.obj \
-+ loopfilter.obj \
-+ looprestoration.obj \
-+ mc.obj \
-+ itx_ssse3.obj \
-+ looprestoration_ssse3.obj \
-+ loopfilter_ssse3.obj \
-+ mc_sse.obj \
-+ cpuid.obj \
-+ msac.obj )
-+
-+$(NASM_BLD)/%.obj: src/x86/%.asm
-+ $(NASM) -f $(ASM_ARCH) \
-+ $< -o $@
-+
-+# entry
-+ENTRY_OBJS=$(call any,$(ENTRY_BLD), \
-+ lib.c.o \
-+ thread_task.c.o)
-+$(ENTRY_BLD)/%.c.o: src/%.c
-+ $(CC_CC) -Iinclude -Ibuild/include/dav1d -Isrc/entry $(BLD_INCL) \
-+ -mincoming-stack-boundary=4 -o $@ -c $<
-+
-+# src
-+SRC_OBJS=$(call any,$(SRC_BLD), \
-+ cdf.o \
-+ cpu.o \
-+ data.o \
-+ decode.o \
-+ dequant_tables.o \
-+ getbits.o \
-+ intra_edge.o \
-+ itx_1d.o \
-+ lf_mask.o \
-+ log.o \
-+ msac.o \
-+ obu.o \
-+ picture.o \
-+ qm.o \
-+ ref.o \
-+ refmvs.o \
-+ scan.o \
-+ tables.o \
-+ warpmv.o \
-+ wedge.o \
-+ x86/cpu.c.o \
-+ x86/msac_init.c.o)
-+$(SRC_BLD)/%.o: src/%.c
-+ $(CC_CC) $(BLD_INCL) -pthread -o $@ -c $<
-+$(SRC_BLD)/x86/%.c.o: src/x86/%.c
-+ $(CC_CC) $(BLD_INCL) -o $@ -c $<
-+
-+# bits
-+BITS_OBJS= \
-+ cdef_tmpl.o \
-+ cdef_apply_tmpl.o \
-+ fg_apply_tmpl.o \
-+ film_grain_tmpl.o \
-+ ipred_tmpl.o \
-+ ipred_prepare_tmpl.o \
-+ itx_tmpl.o \
-+ lf_apply_tmpl.o \
-+ loopfilter_tmpl.o \
-+ looprestoration_tmpl.o \
-+ lr_apply_tmpl.o \
-+ mc_tmpl.o \
-+ recon_tmpl.o \
-+ x86/cdef_init_tmpl.c.o \
-+ x86/film_grain_init_tmpl.c.o \
-+ x86/ipred_init_tmpl.c.o \
-+ x86/itx_init_tmpl.c.o \
-+ x86/loopfilter_init_tmpl.c.o \
-+ x86/looprestoration_init_tmpl.c.o \
-+ x86/mc_init_tmpl.c.o \
-+
-+BIT8_OBJS=$(call any,$(BIT8_BLD),$(BITS_OBJS))
-+$(BIT8_BLD)/x86/%.c.o: src/x86/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
-+$(BIT8_BLD)/%.o: src/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
-+
-+BIT16_OBJS=$(call any,$(BIT16_BLD),$(BITS_OBJS))
-+$(BIT16_BLD)/x86/%.c.o: src/x86/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
-+$(BIT16_BLD)/%.o: src/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
-+
-+$(BUILD)/config.h:
-+ echo > $@ "#pragma once"
-+ echo >> $@ "#define ARCH_AARCH64 0"
-+ echo >> $@ "#define ARCH_ARM 0"
-+ echo >> $@ "#define ARCH_PPC64LE 0"
-+ echo >> $@ "#define ARCH_X86 1"
-+ echo >> $@ "#define ARCH_X86_32 $(ARCH_X86_32)"
-+ echo >> $@ "#define ARCH_X86_64 $(ARCH_X86_64)"
-+ echo >> $@ "#define CONFIG_16BPC 1"
-+ echo >> $@ "#define CONFIG_8BPC 1"
-+ echo >> $@ "#define CONFIG_LOG 1"
-+ echo >> $@ "#define ENDIANNESS_BIG 0"
-+ echo >> $@ "#define HAVE_ASM 1"
-+ echo >> $@ "#define HAVE_AVX512ICL 0"
-+ echo >> $@ "#define HAVE_CLOCK_GETTIME 1"
-+ echo >> $@ "#define HAVE_DLSYM 1"
-+ echo >> $@ "#define HAVE_POSIX_MEMALIGN 1"
-+ echo >> $@ "#define HAVE_UNISTD_H 1"
-+ echo >> $@ "#define STACK_ALIGNMENT 32"
-+
-+$(BUILD)/config.asm:
-+ echo > $@ "%define ARCH_X86_32 $(ARCH_X86_32)"
-+ echo >> $@ "%define ARCH_X86_64 $(ARCH_X86_64)"
-+ echo >> $@ "%define PIC 1"
-+ echo >> $@ "%define STACK_ALIGNMENT 32"
-+ echo >> $@ "%define HAVE_AVX512ICL 0"
-+
-+$(BUILD)/include/vcs_version.h:
-+ mkdir -p $(BUILD)/include
-+ echo > $@ "#define DAV1D_VERSION \"0.7.1\""
-+
-+$(BUILD)/include/dav1d/version.h:
-+ mkdir -p $(BUILD)/include/dav1d
-+ echo > $@ "#ifndef DAV1D_VERSION_H"
-+ echo >> $@ "#define DAV1D_VERSION_H"
-+ echo >> $@ "#define DAV1D_API_VERSION_MAJOR 3"
-+ echo >> $@ "#define DAV1D_API_VERSION_MINOR 0"
-+ echo >> $@ "#define DAV1D_API_VERSION_PATCH 0"
-+ echo >> $@ "#endif /* DAV1D_VERSION_H */"
-+
-+$(TOOLS_BLD)/cli_config.h:
-+ mkdir -p $(TOOLS_BLD)
-+ echo > $@ "#pragma once"
-+ echo >> $@ "#define HAVE_CLOCK_GETTIME 1"
-+
-+.PHONY: meson_data
-+meson_data:
-+ make meson_dirs OBJDIR=$(BUILD)/static
-+ make meson_dirs OBJDIR=$(BUILD)/shared
-+ ln -sf ./include/compat/gcc/stdatomic.h .
-+
-+.PHONY: meson_dirs
-+meson_dirs: $(OBJDIR) \
-+ $(BUILD)/config.h $(BUILD)/config.asm \
-+ $(BUILD)/include/vcs_version.h \
-+ $(BUILD)/include/dav1d/version.h \
-+ $(TOOLS_BLD)/cli_config.h \
-+
-+LIB_OBJS=$(ENTRY_OBJS) $(NASM_OBJS) $(SRC_OBJS) $(BIT8_OBJS) $(BIT16_OBJS)
-+
-+$(STATIC_LIB): DIR?=static
-+$(STATIC_LIB): $(LIB_OBJS)
-+ rm -f $@
-+ gcc-ar csrD $@ $(LIB_OBJS)
-+
-+$(SHARED_LIB): DIR?=shared
-+$(SHARED_LIB): $(LIB_OBJS)
-+ rm -f $@
-+ cc -o $@ $(LIB_OBJS) $(SHA_OPTS)
-+
-+# tools
-+DAV1D_OBJS=$(call any,$(TOOLS_BLD),\
-+ dav1d.o \
-+ dav1d_cli_parse.o \
-+ input/annexb.o \
-+ input/ivf.o \
-+ input/input.o \
-+ output/md5.o \
-+ output/null.o \
-+ output/output.o \
-+ output/y4m2.o \
-+ output/yuv.o)
-+
-+DAV1DPLAY_OBJS=$(call any,$(TOOLS_BLD),\
-+ dav1dplay.o \
-+ input/annexb.o \
-+ input/ivf.o \
-+ input/input.o)
-+
-+$(TOOLS_BLD)/%.o: tools/%.c
-+ $(CC_CC) $(TOOLS_INCL) -o $@ -c $<
-+
-+DAV1D=$(TOOLS_BLD)/dav1d
-+$(DAV1D): $(DAV1D_OBJS)
-+ $(CC_CC) -pthread -I$(BUILD) -o $@ $(DAV1D_OBJS) $(STATIC_LIB)
-+
-+DAV1DPLAY=$(TOOLS_BLD)/dav1dplay
-+$(DAV1DPLAY): $(DAV1DPLAY_OBJS)
-+ $(CC_CC) -pthread -o $(TOOLS_BLD)/dav1dplay $(DAV1DPLAY_OBJS) $(STATIC_LIB) -lSDL2
-+
-+TOOLS=$(DAV1D) $(DAV1DPLAY)
-+.PHONY: tools
-+tools: $(TOOLS)
-+
-+# tests
-+TESTS_CHKASM=tests/checkasm
-+TESTS_CHKASM_BLD=$(TESTS_BLD)/checkasm
-+CHKASM_BIT8=$(TESTS_CHKASM_BLD)/bit8
-+CHKASM_BIT16=$(TESTS_CHKASM_BLD)/bit16
-+CHKASM_BITS= \
-+ cdef.o \
-+ ipred.o \
-+ itx.o \
-+ loopfilter.o \
-+ looprestoration.o \
-+ mc.o \
-+
-+CHKASM_BIT8_OBJS=$(call any,$(CHKASM_BIT8),$(CHKASM_BITS))
-+CHKASM_BIT16_OBJS=$(call any,$(CHKASM_BIT16),$(CHKASM_BITS))
-+
-+TESTS_CHKASM_OBJS= \
-+ $(TESTS_CHKASM_BLD)/checkasm.o \
-+ $(TESTS_CHKASM_BLD)/msac.o \
-+ $(CHKASM_BIT8_OBJS) $(CHKASM_BIT16_OBJS) \
-+ $(TESTS_CHKASM_BLD)/x86/checkasm.obj \
-+
-+$(TESTS_CHKASM_BLD)/%.o: $(TESTS_CHKASM)/%.c
-+ $(CC_CC) $(BLD_INCL) -o $@ -c $<
-+$(CHKASM_BIT8)/%.o: $(TESTS_CHKASM)/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=8 -o $@ -c $<
-+$(CHKASM_BIT16)/%.o: $(TESTS_CHKASM)/%.c
-+ $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $<
-+$(TESTS_CHKASM_BLD)/x86/%.obj: $(TESTS_CHKASM)/x86/%.asm
-+ @$(NASM) -f $(ASM_ARCH) \
-+ $< -o $@
-+
-+CHECKASM=$(TESTS_BLD)/checkasm/checkasm
-+$(CHECKASM): $(TESTS_CHKASM_OBJS) $(STATIC_LIB)
-+ $(CC_CC) -pthread -o $@ $(TESTS_CHKASM_OBJS) $(STATIC_LIB) -lm
-+
-+TESTS_FUZZER=tests/libfuzzer
-+TESTS_FUZZER_BLD=$(TESTS_BLD)/libfuzzer
-+TESTS_FUZZER_OBJS= \
-+ $(TESTS_FUZZER_BLD)/main.o \
-+ $(TESTS_FUZZER_BLD)/dav1d_fuzzer.o \
-+
-+$(TESTS_FUZZER_BLD)/%.o: $(TESTS_FUZZER)/%.c
-+ $(CC_CC) $(BLD_INCL) -o $@ -c $<
-+
-+DAV1D_FUZZER=$(TESTS_BLD)/dav1d_fuzzer
-+$(DAV1D_FUZZER): $(TESTS_FUZZER_OBJS) $(STATIC_LIB)
-+ $(CC_CC) -pthread -o $@ $(TESTS_FUZZER_OBJS) $(STATIC_LIB)
-+
-+TESTS=$(CHECKASM) $(DAV1D_FUZZER)
-+.PHONY: tests
-+tests: $(TESTS)
-+
-+$(OBJDIR):
-+ mkdir -p $@/include/dav1d \
-+ $(BUILD)/src $(BUILD)/include \
-+ $(ENTRY_BLD) $(NASM_BLD) \
-+ $(SRC_BLD)/x86 $(BIT8_BLD)/x86 $(BIT16_BLD)/x86 \
-+ $(TOOLS_BLD) $(TOOLS_BLD)/input $(TOOLS_BLD)/output \
-+ $(TESTS_CHKASM_BLD)/bit8 $(TESTS_CHKASM_BLD)/bit16 \
-+ $(TESTS_CHKASM_BLD)/x86 $(TESTS_FUZZER_BLD) \
-+
-+clean:
-+ rm -rf $(BUILD)
-+
-+install:
-+ mkdir -p $(DESTDIR)$(LIBDIR)
-+ cp -a $(STATIC_LIB) $(DESTDIR)$(LIBDIR)
-+ cp -a $(SHARED_LIB) $(DESTDIR)$(LIBDIR)
-+ mkdir -p $(DESTDIR)$(INCDIR)
-+ cp -a include/dav1d $(DESTDIR)$(INCDIR)
-+ rm -f $(DESTDIR)$(INCDIR)/dav1d/meson.build
-+ rm -f $(DESTDIR)$(INCDIR)/dav1d/version.h.in
-+ cp -a $(BUILD)/include/dav1d/version.h $(DESTDIR)$(INCDIR)/version.h
-+