From 880e2aa23645ed9871c66ee1cbd00f93c72d2d73 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Fri, 30 May 2014 03:44:12 -0700 Subject: Remove all Blackfin architecture optimizations Blackfin is a painful platform to work with, no test machines are available and the range of multimedia applications is dubious. Thus it only represents a maintenance burden. --- libswscale/bfin/swscale_bfin.c | 84 ------------------------------------------ 1 file changed, 84 deletions(-) delete mode 100644 libswscale/bfin/swscale_bfin.c (limited to 'libswscale/bfin/swscale_bfin.c') diff --git a/libswscale/bfin/swscale_bfin.c b/libswscale/bfin/swscale_bfin.c deleted file mode 100644 index 97270b8756..0000000000 --- a/libswscale/bfin/swscale_bfin.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2007 Marc Hoffman - * - * Blackfin software video scaler operations - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include - -#include "config.h" -#include "libavutil/attributes.h" -#include "libavutil/bfin/attributes.h" -#include "libswscale/swscale_internal.h" - -int ff_bfin_uyvytoyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, - uint8_t *vdst, int width, int height, - int lumStride, int chromStride, - int srcStride) attribute_l1_text; - -int ff_bfin_yuyvtoyv12(const uint8_t *src, uint8_t *ydst, uint8_t *udst, - uint8_t *vdst, int width, int height, - int lumStride, int chromStride, - int srcStride) attribute_l1_text; - -static int uyvytoyv12_unscaled(SwsContext *c, const uint8_t *src[], - int srcStride[], int srcSliceY, int srcSliceH, - uint8_t *dst[], int dstStride[]) -{ - uint8_t *dsty = dst[0] + dstStride[0] * srcSliceY; - uint8_t *dstu = dst[1] + dstStride[1] * srcSliceY / 2; - uint8_t *dstv = dst[2] + dstStride[2] * srcSliceY / 2; - const uint8_t *ip = src[0] + srcStride[0] * srcSliceY; - int w = dstStride[0]; - - ff_bfin_uyvytoyv12(ip, dsty, dstu, dstv, w, srcSliceH, - dstStride[0], dstStride[1], srcStride[0]); - - return srcSliceH; -} - -static int yuyvtoyv12_unscaled(SwsContext *c, const uint8_t *src[], - int srcStride[], int srcSliceY, int srcSliceH, - uint8_t *dst[], int dstStride[]) -{ - uint8_t *dsty = dst[0] + dstStride[0] * srcSliceY; - uint8_t *dstu = dst[1] + dstStride[1] * srcSliceY / 2; - uint8_t *dstv = dst[2] + dstStride[2] * srcSliceY / 2; - const uint8_t *ip = src[0] + srcStride[0] * srcSliceY; - int w = dstStride[0]; - - ff_bfin_yuyvtoyv12(ip, dsty, dstu, dstv, w, srcSliceH, - dstStride[0], dstStride[1], srcStride[0]); - - return srcSliceH; -} - -av_cold void ff_get_unscaled_swscale_bfin(SwsContext *c) -{ - if (c->dstFormat == AV_PIX_FMT_YUV420P && c->srcFormat == AV_PIX_FMT_UYVY422) { - av_log(NULL, AV_LOG_VERBOSE, - "selecting Blackfin optimized uyvytoyv12_unscaled\n"); - c->swscale = uyvytoyv12_unscaled; - } - if (c->dstFormat == AV_PIX_FMT_YUV420P && c->srcFormat == AV_PIX_FMT_YUYV422) { - av_log(NULL, AV_LOG_VERBOSE, - "selecting Blackfin optimized yuyvtoyv12_unscaled\n"); - c->swscale = yuyvtoyv12_unscaled; - } -} -- cgit v1.2.3