• Paul Wilkins's avatar
    Fix SIMD unsafe use of floating point. · 81c60419
    Paul Wilkins authored
    This commit fixes unsafe simd / floating point interactions arising
    from the current hybrid and 16x16 transform implementation.
    These led to a raft of bugs and issues when the project was
    built using VS2008 for Win32 though they did not show up with
    the unix builds.
    
    Gerrit makes a meal out of presenting the fix but all I have actually
    done is indent the body of each function that uses floating point by
    one level and bracket with emms instructions using  the function
    vp8_clear_system_state(). See below.
    
    function () {
      vp8_clear_system_state();
      {
      ... function body
      }
      vp8_clear_system_state();
    }
    
    This is almost certainly over the top in terms of number of emms
    instructions but is a temporary measure pending implementation of
    integer variants of each function to replace the floating point.
    
    Limited testing suggests that this fixes the problems that arose for
    Win32 VS2008 when the hybrid or 16x16 transforms were enabled.
    
    Change-Id: I7c9a72bd79315246ed880578dec51e2b7c178442
    81c60419
docs.mk 1.66 KiB
##
##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
##
##  Use of this source code is governed by a BSD-style license
##  that can be found in the LICENSE file in the root of the source
##  tree. An additional intellectual property rights grant can be found
##  in the file PATENTS.  All contributing project authors may
##  be found in the AUTHORS file in the root of the source tree.
##
INSTALL_MAPS += docs/%    docs/%
INSTALL_MAPS += src/%     %
INSTALL_MAPS += %         %
# Static documentation authored in doxygen
CODEC_DOX :=    mainpage.dox \
		keywords.dox \
		usage.dox \
		usage_cx.dox \
		usage_dx.dox \
# Other doxy files sourced in Markdown
TXT_DOX = $(call enabled,TXT_DOX)
%.dox: %.txt
	@echo "    [DOXY] $@"
	@$(SRC_PATH_BARE)/examples/gen_example_doxy.php \
             $(@:.dox=)  "$($@.DESC)" > $@ < $<
EXAMPLE_PATH += $(SRC_PATH_BARE) #for CHANGELOG, README, etc
doxyfile: $(if $(findstring examples, $(ALL_TARGETS)),examples.doxy)
doxyfile: libs.doxy_template libs.doxy
	@echo "    [CREATE] $@"
	@cat $^ > $@
	@echo "STRIP_FROM_PATH += $(SRC_PATH_BARE) $(BUILD_ROOT)" >> $@
	@echo "INPUT += $(addprefix $(SRC_PATH_BARE)/,$(CODEC_DOX))" >> $@;
	@echo "INPUT += $(TXT_DOX)" >> $@;
	@echo "EXAMPLE_PATH += $(EXAMPLE_PATH)" >> $@
CLEAN-OBJS += doxyfile $(wildcard docs/html/*)
docs/html/index.html: doxyfile $(CODEC_DOX) $(TXT_DOX)
	@echo "    [DOXYGEN] $<"
	@doxygen $<
DOCS-yes += docs/html/index.html
DIST-DOCS-yes = $(wildcard docs/html/*)
DIST-DOCS-$(CONFIG_CODEC_SRCS) += $(addprefix src/,$(CODEC_DOX))
DIST-DOCS-$(CONFIG_CODEC_SRCS) += src/libs.doxy_template
DIST-DOCS-yes                  += CHANGELOG
DIST-DOCS-yes                  += README