Skip to content

Commit 957a269

Browse files
kanghuazXinfengZhang
authored andcommitted
sample code for decode SFC
1. SFC is for decode Scalar & Format Converter 2. Shows downscaling and ARGB conversion 3. Only shows one frame Signed-off-by: kanghuaz <[email protected]>
1 parent 6307b68 commit 957a269

File tree

7 files changed

+3433
-1
lines changed

7 files changed

+3433
-1
lines changed

Makefile.am

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
2424

2525
AUTOMAKE_OPTIONS = foreign
2626

27-
SUBDIRS = common decode encode vainfo videoprocess vendor/intel
27+
SUBDIRS = common decode encode vainfo videoprocess vendor/intel vendor/intel/sfcsample
2828

2929
if USE_X11
3030
SUBDIRS += putsurface

configure.ac

+1
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ AC_OUTPUT([
216216
putsurface/Makefile
217217
videoprocess/Makefile
218218
vendor/intel/Makefile
219+
vendor/intel/sfcsample/Makefile
219220
])
220221

221222

vendor/intel/sfcsample/DecodeParamBuffer.h

+2,485
Large diffs are not rendered by default.

vendor/intel/sfcsample/Makefile.am

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
2+
# Copyright (C) 2018 Intel Corporation. All Rights Reserved.
3+
#
4+
# Permission is hereby granted, free of charge, to any person obtaining a
5+
# copy of this software and associated documentation files (the
6+
# "Software"), to deal in the Software without restriction, including
7+
# without limitation the rights to use, copy, modify, merge, publish,
8+
# distribute, sub license, and/or sell copies of the Software, and to
9+
# permit persons to whom the Software is furnished to do so, subject to
10+
# the following conditions:
11+
#
12+
# The above copyright notice and this permission notice (including the
13+
# next paragraph) shall be included in all copies or substantial portions
14+
# of the Software.
15+
#
16+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19+
# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20+
# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
24+
25+
bin_PROGRAMS = sfcsample
26+
27+
28+
AM_CPPFLAGS = \
29+
-Wall \
30+
-fstack-protector \
31+
$(LIBVA_CFLAGS) \
32+
-I$(top_srcdir)/common \
33+
-I$(top_srcdir)/vendor/intel/sfcsample \
34+
$(NULL)
35+
36+
TEST_LIBS = \
37+
$(LIBVA_LIBS) \
38+
$(top_builddir)/common/libva-display.la \
39+
$(NULL)
40+
41+
42+
sfcsample_LDADD = $(TEST_LIBS)
43+
44+
source_c = TestMain.cpp
45+
source_c += VDecAccelVA.cpp
46+
47+
sfcsample_SOURCES = $(source_c)
48+
49+
50+
valgrind:$(bin_PROGRAMS)
51+
for a in $(bin_PROGRAMS); do \
52+
valgrind --leak-check=full --show-reachable=yes .libs/$$a; \
53+
done
54+
55+

vendor/intel/sfcsample/TestMain.cpp

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* * Copyright (C) 2018 Intel Corporation. All Rights Reserved.
3+
* *
4+
* * Permission is hereby granted, free of charge, to any person obtaining a
5+
* * copy of this software and associated documentation files (the
6+
* * "Software"), to deal in the Software without restriction, including
7+
* * without limitation the rights to use, copy, modify, merge, publish,
8+
* * distribute, sub license, and/or sell copies of the Software, and to
9+
* * permit persons to whom the Software is furnished to do so, subject to
10+
* * the following conditions:
11+
* *
12+
* * The above copyright notice and this permission notice (including the
13+
* * next paragraph) shall be included in all copies or substantial portions
14+
* * of the Software.
15+
* *
16+
* * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17+
* * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18+
* * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19+
* * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
20+
* * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21+
* * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22+
* * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
* */
24+
25+
#include "VDecAccelVA.h"
26+
using namespace mvaccel;
27+
28+
29+
int main(int argc, char** argv)
30+
{
31+
VDecAccelVAImpl VideoProc;
32+
33+
//initialize, check caps and prepare buffers
34+
if(VideoProc.Open() != 0)
35+
{
36+
printf("Failed to open decode accelerator");
37+
return 1;
38+
}
39+
40+
//actual decode process
41+
if(VideoProc.DecodePicture() != 0)
42+
{
43+
printf("Failed to decode picture");
44+
return 1;
45+
}
46+
return 0;
47+
}

0 commit comments

Comments
 (0)