Merge ~alfonsosanchezbeato/ubuntu/+source/gst-plugins-bad1.0:master into ~ubuntu-desktop/ubuntu/+source/gst-plugins-bad1.0:master
- Git
- lp:~alfonsosanchezbeato/ubuntu/+source/gst-plugins-bad1.0
- master
- Merge into master
Proposed by
Alfonso Sanchez-Beato
Status: | Merged |
---|---|
Merged at revision: | ec57b21614b7bd723f4d44b86ccc6f16805eefe3 |
Proposed branch: | ~alfonsosanchezbeato/ubuntu/+source/gst-plugins-bad1.0:master |
Merge into: | ~ubuntu-desktop/ubuntu/+source/gst-plugins-bad1.0:master |
Diff against target: |
625 lines (+124/-90) 3 files modified
debian/changelog (+7/-2) debian/patches/adding-mirsink-and-android-media-over-hybris-support.patch (+106/-85) debian/patches/androidmedia-support-COLOR_QCOM_FormatYVU420SemiPlanar32m.patch (+11/-3) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Thomas Voß (community) | Approve | ||
Ubuntu Desktop | Pending | ||
Review via email: mp+286694@code.launchpad.net |
Commit message
androidmedia: Add support for Pro 5
By adding more color formats and increasing the rank of the androidmedia plugin.
Description of the change
androidmedia: Add support for Pro 5
By adding more color formats and increasing the rank of the androidmedia plugin.
To post a comment you must log in.
Revision history for this message
Iain Lane (laney) wrote : | # |
Note that this was already (partially?) in -1ubuntu3 which was uploaded to Xenial, but the uploader didn't commit the change back to git.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/debian/changelog b/debian/changelog |
2 | index 144a51b..fb4b058 100644 |
3 | --- a/debian/changelog |
4 | +++ b/debian/changelog |
5 | @@ -1,8 +1,13 @@ |
6 | -gst-plugins-bad1.0 (1.7.1-1ubuntu2) UNRELEASED; urgency=medium |
7 | +gst-plugins-bad1.0 (1.7.1-1ubuntu3) UNRELEASED; urgency=medium |
8 | |
9 | + [ Iain Lane ] |
10 | * Really update Vcs-* |
11 | |
12 | - -- Iain Lane <iain.lane@canonical.com> Thu, 28 Jan 2016 11:51:15 +0000 |
13 | + [ Thomas Voss ] |
14 | + * Add color formats |
15 | + * Increase rank for androidmedia so it is preferred over v4l when present |
16 | + |
17 | + -- Alfonso Sanchez-Beato (email Canonical) <alfonso.sanchez-beato@canonical.com> Fri, 19 Feb 2016 18:12:34 +0100 |
18 | |
19 | gst-plugins-bad1.0 (1.7.1-1ubuntu1) xenial; urgency=medium |
20 | |
21 | diff --git a/debian/patches/adding-mirsink-and-android-media-over-hybris-support.patch b/debian/patches/adding-mirsink-and-android-media-over-hybris-support.patch |
22 | index 469e440..0e40744 100644 |
23 | --- a/debian/patches/adding-mirsink-and-android-media-over-hybris-support.patch |
24 | +++ b/debian/patches/adding-mirsink-and-android-media-over-hybris-support.patch |
25 | @@ -23,18 +23,18 @@ Forwarded: no |
26 | gst-libs/gst/mir/mirallocator.c | 272 ++++ |
27 | gst-libs/gst/mir/mirallocator.h | 69 + |
28 | sys/Makefile.am | 6 + |
29 | - sys/androidmedia/Makefile.am | 16 +- |
30 | - sys/androidmedia/gstamc-constants.h | 7 + |
31 | + sys/androidmedia/Makefile.am | 18 +- |
32 | + sys/androidmedia/gstamc-constants.h | 9 + |
33 | sys/androidmedia/gstamc.h | 97 +- |
34 | sys/androidmedia/gstamcaudiodec.h | 8 + |
35 | sys/androidmedia/gstamcaudiodechybris.c | 1291 +++++++++++++++ |
36 | - sys/androidmedia/gstamchybris.c | 2182 +++++++++++++++++++++++++ |
37 | - sys/androidmedia/gstamcvideodec.h | 30 + |
38 | + sys/androidmedia/gstamchybris.c | 2186 +++++++++++++++++++++++++ |
39 | + sys/androidmedia/gstamcvideodec.h | 42 +- |
40 | sys/androidmedia/gstamcvideodechybris.c | 2399 ++++++++++++++++++++++++++++ |
41 | tests/check/Makefile.am | 7 + |
42 | tests/check/pipelines/gstamcvideodec.c | 538 +++++++ |
43 | tests/check/pipelines/gstamcvideodec_egl.c | 56 + |
44 | - 25 files changed, 8757 insertions(+), 6 deletions(-) |
45 | + 25 files changed, 8776 insertions(+), 7 deletions(-) |
46 | create mode 100644 ext/mir/Makefile.am |
47 | create mode 100644 ext/mir/gstmirsink.c |
48 | create mode 100644 ext/mir/gstmirsink.h |
49 | @@ -51,11 +51,11 @@ Forwarded: no |
50 | create mode 100644 tests/check/pipelines/gstamcvideodec.c |
51 | create mode 100644 tests/check/pipelines/gstamcvideodec_egl.c |
52 | |
53 | -Index: b/configure.ac |
54 | -=================================================================== |
55 | +diff --git a/configure.ac b/configure.ac |
56 | +index 69af057..76b0025 100644 |
57 | --- a/configure.ac |
58 | +++ b/configure.ac |
59 | -@@ -1664,6 +1664,18 @@ |
60 | +@@ -1664,6 +1664,18 @@ AG_GST_CHECK_FEATURE(ANDROID_MEDIA, [Android Media], androidmedia, [ |
61 | esac |
62 | ]) |
63 | |
64 | @@ -74,7 +74,7 @@ Index: b/configure.ac |
65 | dnl *** AppleMedia (OS X and iOS) *** |
66 | translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true) |
67 | HAVE_APPLE_MEDIA="no" |
68 | -@@ -3321,6 +3333,7 @@ |
69 | +@@ -3321,6 +3333,7 @@ AM_CONDITIONAL(DECKLINK_OSX, false) |
70 | AM_CONDITIONAL(USE_DIRECTFB, false) |
71 | AM_CONDITIONAL(USE_WAYLAND, false) |
72 | AM_CONDITIONAL(USE_DAALA, false) |
73 | @@ -82,7 +82,7 @@ Index: b/configure.ac |
74 | AM_CONDITIONAL(USE_DTS, false) |
75 | AM_CONDITIONAL(USE_EXIF, false) |
76 | AM_CONDITIONAL(USE_RESINDVD, false) |
77 | -@@ -3557,6 +3570,7 @@ |
78 | +@@ -3557,6 +3570,7 @@ gst-libs/gst/gl/egl/Makefile |
79 | gst-libs/gst/gl/wayland/Makefile |
80 | gst-libs/gst/gl/win32/Makefile |
81 | gst-libs/gst/gl/x11/Makefile |
82 | @@ -90,7 +90,7 @@ Index: b/configure.ac |
83 | gst-libs/gst/insertbin/Makefile |
84 | gst-libs/gst/interfaces/Makefile |
85 | gst-libs/gst/codecparsers/Makefile |
86 | -@@ -3639,6 +3653,7 @@ |
87 | +@@ -3639,6 +3653,7 @@ ext/dc1394/Makefile |
88 | ext/directfb/Makefile |
89 | ext/wayland/Makefile |
90 | ext/daala/Makefile |
91 | @@ -98,11 +98,11 @@ Index: b/configure.ac |
92 | ext/dts/Makefile |
93 | ext/gl/Makefile |
94 | ext/gtk/Makefile |
95 | -Index: b/ext/Makefile.am |
96 | -=================================================================== |
97 | +diff --git a/ext/Makefile.am b/ext/Makefile.am |
98 | +index 33ddba7..ee47a92 100644 |
99 | --- a/ext/Makefile.am |
100 | +++ b/ext/Makefile.am |
101 | -@@ -76,6 +76,12 @@ |
102 | +@@ -76,6 +76,12 @@ else |
103 | DAALA_DIR= |
104 | endif |
105 | |
106 | @@ -115,7 +115,7 @@ Index: b/ext/Makefile.am |
107 | if USE_DTS |
108 | DTS_DIR=dts |
109 | else |
110 | -@@ -464,6 +470,7 @@ |
111 | +@@ -464,6 +470,7 @@ SUBDIRS=\ |
112 | $(LIBFAME_DIR) \ |
113 | $(LIBMMS_DIR) \ |
114 | $(LIBVISUAL_DIR) \ |
115 | @@ -123,7 +123,7 @@ Index: b/ext/Makefile.am |
116 | $(MODPLUG_DIR) \ |
117 | $(MPEG2ENC_DIR) \ |
118 | $(MPG123_DIR) \ |
119 | -@@ -514,6 +521,7 @@ |
120 | +@@ -514,6 +521,7 @@ DIST_SUBDIRS = \ |
121 | dc1394 \ |
122 | directfb \ |
123 | wayland \ |
124 | @@ -131,8 +131,9 @@ Index: b/ext/Makefile.am |
125 | faac \ |
126 | faad \ |
127 | flite \ |
128 | -Index: b/ext/mir/Makefile.am |
129 | -=================================================================== |
130 | +diff --git a/ext/mir/Makefile.am b/ext/mir/Makefile.am |
131 | +new file mode 100644 |
132 | +index 0000000..d588fc7 |
133 | --- /dev/null |
134 | +++ b/ext/mir/Makefile.am |
135 | @@ -0,0 +1,17 @@ |
136 | @@ -153,8 +154,9 @@ Index: b/ext/mir/Makefile.am |
137 | +libgstmirsink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) |
138 | +include_HEADERS = mirpool.h gstmirsink.h |
139 | +noinst_HEADERS = |
140 | -Index: b/ext/mir/gstmirsink.c |
141 | -=================================================================== |
142 | +diff --git a/ext/mir/gstmirsink.c b/ext/mir/gstmirsink.c |
143 | +new file mode 100644 |
144 | +index 0000000..ca88ae3 |
145 | --- /dev/null |
146 | +++ b/ext/mir/gstmirsink.c |
147 | @@ -0,0 +1,854 @@ |
148 | @@ -1012,8 +1014,9 @@ Index: b/ext/mir/gstmirsink.c |
149 | + mirsink, |
150 | + "Mir Video Sink", plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, |
151 | + GST_PACKAGE_ORIGIN) |
152 | -Index: b/ext/mir/gstmirsink.h |
153 | -=================================================================== |
154 | +diff --git a/ext/mir/gstmirsink.h b/ext/mir/gstmirsink.h |
155 | +new file mode 100644 |
156 | +index 0000000..e8158a7 |
157 | --- /dev/null |
158 | +++ b/ext/mir/gstmirsink.h |
159 | @@ -0,0 +1,134 @@ |
160 | @@ -1151,8 +1154,9 @@ Index: b/ext/mir/gstmirsink.h |
161 | +G_END_DECLS |
162 | + |
163 | +#endif /* __GST_MIR_VIDEO_SINK_H__ */ |
164 | -Index: b/ext/mir/mirpool.c |
165 | -=================================================================== |
166 | +diff --git a/ext/mir/mirpool.c b/ext/mir/mirpool.c |
167 | +new file mode 100644 |
168 | +index 0000000..85b3334 |
169 | --- /dev/null |
170 | +++ b/ext/mir/mirpool.c |
171 | @@ -0,0 +1,434 @@ |
172 | @@ -1590,8 +1594,9 @@ Index: b/ext/mir/mirpool.c |
173 | + |
174 | + G_OBJECT_CLASS (gst_mir_buffer_pool_parent_class)->finalize (object); |
175 | +} |
176 | -Index: b/ext/mir/mirpool.h |
177 | -=================================================================== |
178 | +diff --git a/ext/mir/mirpool.h b/ext/mir/mirpool.h |
179 | +new file mode 100644 |
180 | +index 0000000..3853aa8 |
181 | --- /dev/null |
182 | +++ b/ext/mir/mirpool.h |
183 | @@ -0,0 +1,91 @@ |
184 | @@ -1686,11 +1691,11 @@ Index: b/ext/mir/mirpool.h |
185 | +G_END_DECLS |
186 | + |
187 | +#endif /*__GST_MIR_BUFFER_POOL_H__*/ |
188 | -Index: b/gst-libs/gst/Makefile.am |
189 | -=================================================================== |
190 | +diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am |
191 | +index 732978d..e645f69 100644 |
192 | --- a/gst-libs/gst/Makefile.am |
193 | +++ b/gst-libs/gst/Makefile.am |
194 | -@@ -6,12 +6,16 @@ |
195 | +@@ -6,12 +6,16 @@ if USE_GLES2 |
196 | GL_DIR = gl |
197 | endif |
198 | |
199 | @@ -1708,7 +1713,7 @@ Index: b/gst-libs/gst/Makefile.am |
200 | |
201 | noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h |
202 | DIST_SUBDIRS = uridownloader adaptivedemux interfaces gl basecamerabinsrc \ |
203 | -@@ -24,7 +28,7 @@ |
204 | +@@ -24,7 +28,7 @@ adaptivedemux: uridownloader |
205 | |
206 | INDEPENDENT_SUBDIRS = \ |
207 | interfaces basecamerabinsrc codecparsers insertbin uridownloader \ |
208 | @@ -1717,8 +1722,9 @@ Index: b/gst-libs/gst/Makefile.am |
209 | |
210 | .PHONY: independent-subdirs $(INDEPENDENT_SUBDIRS) |
211 | |
212 | -Index: b/gst-libs/gst/mir/Makefile.am |
213 | -=================================================================== |
214 | +diff --git a/gst-libs/gst/mir/Makefile.am b/gst-libs/gst/mir/Makefile.am |
215 | +new file mode 100644 |
216 | +index 0000000..a2bfe9b |
217 | --- /dev/null |
218 | +++ b/gst-libs/gst/mir/Makefile.am |
219 | @@ -0,0 +1,26 @@ |
220 | @@ -1748,8 +1754,9 @@ Index: b/gst-libs/gst/mir/Makefile.am |
221 | + $(GST_LIB_LDFLAGS) \ |
222 | + $(GST_ALL_LDFLAGS) \ |
223 | + $(GST_LT_LDFLAGS) |
224 | -Index: b/gst-libs/gst/mir/gstmircontext.c |
225 | -=================================================================== |
226 | +diff --git a/gst-libs/gst/mir/gstmircontext.c b/gst-libs/gst/mir/gstmircontext.c |
227 | +new file mode 100644 |
228 | +index 0000000..c4ba833 |
229 | --- /dev/null |
230 | +++ b/gst-libs/gst/mir/gstmircontext.c |
231 | @@ -0,0 +1,155 @@ |
232 | @@ -1908,8 +1915,9 @@ Index: b/gst-libs/gst/mir/gstmircontext.c |
233 | + |
234 | + return NULL; |
235 | +} |
236 | -Index: b/gst-libs/gst/mir/gstmircontext.h |
237 | -=================================================================== |
238 | +diff --git a/gst-libs/gst/mir/gstmircontext.h b/gst-libs/gst/mir/gstmircontext.h |
239 | +new file mode 100644 |
240 | +index 0000000..2226684 |
241 | --- /dev/null |
242 | +++ b/gst-libs/gst/mir/gstmircontext.h |
243 | @@ -0,0 +1,43 @@ |
244 | @@ -1956,8 +1964,9 @@ Index: b/gst-libs/gst/mir/gstmircontext.h |
245 | +G_END_DECLS |
246 | + |
247 | +#endif /* __GST_MIR_COMMON_H__ */ |
248 | -Index: b/gst-libs/gst/mir/mirallocator.c |
249 | -=================================================================== |
250 | +diff --git a/gst-libs/gst/mir/mirallocator.c b/gst-libs/gst/mir/mirallocator.c |
251 | +new file mode 100644 |
252 | +index 0000000..ac6e766 |
253 | --- /dev/null |
254 | +++ b/gst-libs/gst/mir/mirallocator.c |
255 | @@ -0,0 +1,272 @@ |
256 | @@ -2233,8 +2242,9 @@ Index: b/gst-libs/gst/mir/mirallocator.c |
257 | + |
258 | + return GST_MEMORY_CAST (mem); |
259 | +} |
260 | -Index: b/gst-libs/gst/mir/mirallocator.h |
261 | -=================================================================== |
262 | +diff --git a/gst-libs/gst/mir/mirallocator.h b/gst-libs/gst/mir/mirallocator.h |
263 | +new file mode 100644 |
264 | +index 0000000..efe3fe0 |
265 | --- /dev/null |
266 | +++ b/gst-libs/gst/mir/mirallocator.h |
267 | @@ -0,0 +1,69 @@ |
268 | @@ -2307,11 +2317,11 @@ Index: b/gst-libs/gst/mir/mirallocator.h |
269 | + gpointer user_data, GDestroyNotify user_data_destroy); |
270 | + |
271 | +#endif /* __GST_MIR_ALLOCATOR_H__ */ |
272 | -Index: b/sys/Makefile.am |
273 | -=================================================================== |
274 | +diff --git a/sys/Makefile.am b/sys/Makefile.am |
275 | +index a0d7ca6..90902cb 100644 |
276 | --- a/sys/Makefile.am |
277 | +++ b/sys/Makefile.am |
278 | -@@ -10,6 +10,12 @@ |
279 | +@@ -10,6 +10,12 @@ else |
280 | ANDROID_MEDIA_DIR= |
281 | endif |
282 | |
283 | @@ -2324,8 +2334,8 @@ Index: b/sys/Makefile.am |
284 | if USE_APPLE_MEDIA |
285 | APPLE_MEDIA_DIR=applemedia applemedia-nonpublic |
286 | else |
287 | -Index: b/sys/androidmedia/Makefile.am |
288 | -=================================================================== |
289 | +diff --git a/sys/androidmedia/Makefile.am b/sys/androidmedia/Makefile.am |
290 | +index a04b0ad..4e93271 100644 |
291 | --- a/sys/androidmedia/Makefile.am |
292 | +++ b/sys/androidmedia/Makefile.am |
293 | @@ -1,6 +1,12 @@ |
294 | @@ -2342,7 +2352,7 @@ Index: b/sys/androidmedia/Makefile.am |
295 | gstamc.c \ |
296 | gstamcaudiodec.c \ |
297 | gstamcvideodec.c \ |
298 | -@@ -8,6 +14,7 @@ |
299 | +@@ -8,6 +14,7 @@ libgstandroidmedia_la_SOURCES = \ |
300 | gstamcsurface.c \ |
301 | gstamcsurfacetexture.c \ |
302 | gstjniutils.c |
303 | @@ -2350,7 +2360,7 @@ Index: b/sys/androidmedia/Makefile.am |
304 | |
305 | noinst_HEADERS = \ |
306 | gstamc.h \ |
307 | -@@ -22,21 +29,28 @@ |
308 | +@@ -22,21 +29,28 @@ noinst_HEADERS = \ |
309 | libgstandroidmedia_la_CFLAGS = \ |
310 | -I$(top_srcdir)/gst-libs \ |
311 | -I$(top_builddir)/gst-libs \ |
312 | @@ -2380,11 +2390,11 @@ Index: b/sys/androidmedia/Makefile.am |
313 | androidmedia_java_classesdir = $(datadir)/gst-android/ndk-build/androidmedia/ |
314 | androidmedia_java_classes_DATA = org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java |
315 | +endif |
316 | -Index: b/sys/androidmedia/gstamc-constants.h |
317 | -=================================================================== |
318 | +diff --git a/sys/androidmedia/gstamc-constants.h b/sys/androidmedia/gstamc-constants.h |
319 | +index cc43f61..9e2c7db 100644 |
320 | --- a/sys/androidmedia/gstamc-constants.h |
321 | +++ b/sys/androidmedia/gstamc-constants.h |
322 | -@@ -93,6 +93,8 @@ |
323 | +@@ -93,6 +93,8 @@ enum |
324 | COLOR_Format24BitARGB6666 = 42, |
325 | COLOR_Format24BitABGR6666 = 43, |
326 | COLOR_FormatAndroidOpaque = 0x7F000789, |
327 | @@ -2393,12 +2403,14 @@ Index: b/sys/androidmedia/gstamc-constants.h |
328 | COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100, |
329 | COLOR_INTEL_FormatYUV420PackedSemiPlanar = 0x7fa00e00, |
330 | COLOR_INTEL_FormatYUV420PackedSemiPlanar_Tiled = 0x7fa00f00, |
331 | -@@ -112,8 +114,13 @@ |
332 | +@@ -112,8 +114,15 @@ enum |
333 | * FIXME: Not actually implemented in the video decoder, it will just error out |
334 | * The format seems to be equiv to V4L2_PIX_FMT_NV12MT_16X16 */ |
335 | COLOR_OMX_SEC_FormatNV12Tiled = 0x7fc00002, |
336 | + COLOR_EXYNOS_FormatNV12Tiled = 0x7fc00002, |
337 | + COLOR_EXYNOS_FormatNV21Linear = 0x7f000011, |
338 | ++ COLOR_EXYNOS_FormatYVU420Planar = 0x7F000012, |
339 | ++ COLOR_EXYNOS_Format32bitABGR8888 = 0x7F000013, |
340 | /* YV12: http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12 */ |
341 | COLOR_FormatYV12 = 0x32315659, |
342 | + /* MTK formats. FormatYV12 is used by VP8/9. */ |
343 | @@ -2407,8 +2419,8 @@ Index: b/sys/androidmedia/gstamc-constants.h |
344 | }; |
345 | |
346 | enum |
347 | -Index: b/sys/androidmedia/gstamc.h |
348 | -=================================================================== |
349 | +diff --git a/sys/androidmedia/gstamc.h b/sys/androidmedia/gstamc.h |
350 | +index a640616..e2d6b7d 100644 |
351 | --- a/sys/androidmedia/gstamc.h |
352 | +++ b/sys/androidmedia/gstamc.h |
353 | @@ -24,12 +24,67 @@ |
354 | @@ -2480,7 +2492,7 @@ Index: b/sys/androidmedia/gstamc.h |
355 | typedef struct _GstAmcCodecInfo GstAmcCodecInfo; |
356 | typedef struct _GstAmcCodecType GstAmcCodecType; |
357 | typedef struct _GstAmcCodec GstAmcCodec; |
358 | -@@ -59,16 +114,29 @@ |
359 | +@@ -59,16 +114,29 @@ struct _GstAmcCodecInfo { |
360 | }; |
361 | |
362 | struct _GstAmcFormat { |
363 | @@ -2510,7 +2522,7 @@ Index: b/sys/androidmedia/gstamc.h |
364 | }; |
365 | |
366 | struct _GstAmcBufferInfo { |
367 | -@@ -83,7 +151,15 @@ |
368 | +@@ -83,7 +151,15 @@ extern GQuark gst_amc_codec_info_quark; |
369 | GstAmcCodec * gst_amc_codec_new (const gchar *name, GError **err); |
370 | void gst_amc_codec_free (GstAmcCodec * codec); |
371 | |
372 | @@ -2526,7 +2538,7 @@ Index: b/sys/androidmedia/gstamc.h |
373 | GstAmcFormat * gst_amc_codec_get_output_format (GstAmcCodec * codec, GError **err); |
374 | |
375 | gboolean gst_amc_codec_start (GstAmcCodec * codec, GError **err); |
376 | -@@ -91,18 +167,33 @@ |
377 | +@@ -91,18 +167,33 @@ gboolean gst_amc_codec_stop (GstAmcCodec * codec, GError **err); |
378 | gboolean gst_amc_codec_flush (GstAmcCodec * codec, GError **err); |
379 | gboolean gst_amc_codec_release (GstAmcCodec * codec, GError **err); |
380 | |
381 | @@ -2545,9 +2557,9 @@ Index: b/sys/androidmedia/gstamc.h |
382 | |
383 | gboolean gst_amc_codec_queue_input_buffer (GstAmcCodec * codec, gint index, const GstAmcBufferInfo *info, GError **err); |
384 | +#ifdef HAVE_ANDROID_MEDIA_HYBRIS |
385 | -+gboolean gst_amc_codec_release_output_buffer (GstAmcCodec * codec, gint index, gboolean render, GError **err); |
386 | -+#else |
387 | gboolean gst_amc_codec_release_output_buffer (GstAmcCodec * codec, gint index, gboolean render, GError **err); |
388 | ++#else |
389 | ++gboolean gst_amc_codec_release_output_buffer (GstAmcCodec * codec, gint index, gboolean render, GError **err); |
390 | +#endif |
391 | |
392 | |
393 | @@ -2560,7 +2572,7 @@ Index: b/sys/androidmedia/gstamc.h |
394 | void gst_amc_format_free (GstAmcFormat * format); |
395 | |
396 | gchar * gst_amc_format_to_string (GstAmcFormat * format, GError **err); |
397 | -@@ -118,6 +209,10 @@ |
398 | +@@ -118,6 +209,10 @@ gboolean gst_amc_format_set_string (GstAmcFormat *format, const gchar *key, cons |
399 | gboolean gst_amc_format_get_buffer (GstAmcFormat *format, const gchar *key, guint8 **data, gsize *size, GError **err); |
400 | gboolean gst_amc_format_set_buffer (GstAmcFormat *format, const gchar *key, guint8 *data, gsize size, GError **err); |
401 | |
402 | @@ -2571,11 +2583,11 @@ Index: b/sys/androidmedia/gstamc.h |
403 | GstVideoFormat gst_amc_color_format_to_video_format (const GstAmcCodecInfo * codec_info, const gchar * mime, gint color_format); |
404 | gint gst_amc_video_format_to_color_format (const GstAmcCodecInfo * codec_info, const gchar * mime, GstVideoFormat video_format); |
405 | |
406 | -Index: b/sys/androidmedia/gstamcaudiodec.h |
407 | -=================================================================== |
408 | +diff --git a/sys/androidmedia/gstamcaudiodec.h b/sys/androidmedia/gstamcaudiodec.h |
409 | +index 04e9734..72d68fc 100644 |
410 | --- a/sys/androidmedia/gstamcaudiodec.h |
411 | +++ b/sys/androidmedia/gstamcaudiodec.h |
412 | -@@ -51,6 +51,10 @@ |
413 | +@@ -51,6 +51,10 @@ struct _GstAmcAudioDec |
414 | |
415 | /* < private > */ |
416 | GstAmcCodec *codec; |
417 | @@ -2586,7 +2598,7 @@ Index: b/sys/androidmedia/gstamcaudiodec.h |
418 | |
419 | GstCaps *input_caps; |
420 | GList *codec_datas; |
421 | -@@ -81,6 +85,10 @@ |
422 | +@@ -81,6 +85,10 @@ struct _GstAmcAudioDec |
423 | gboolean draining; |
424 | /* TRUE if the component is drained currently */ |
425 | gboolean drained; |
426 | @@ -2597,8 +2609,9 @@ Index: b/sys/androidmedia/gstamcaudiodec.h |
427 | |
428 | GstFlowReturn downstream_flow_ret; |
429 | }; |
430 | -Index: b/sys/androidmedia/gstamcaudiodechybris.c |
431 | -=================================================================== |
432 | +diff --git a/sys/androidmedia/gstamcaudiodechybris.c b/sys/androidmedia/gstamcaudiodechybris.c |
433 | +new file mode 100644 |
434 | +index 0000000..f361418 |
435 | --- /dev/null |
436 | +++ b/sys/androidmedia/gstamcaudiodechybris.c |
437 | @@ -0,0 +1,1291 @@ |
438 | @@ -3893,11 +3906,12 @@ Index: b/sys/androidmedia/gstamcaudiodechybris.c |
439 | + |
440 | + return ret; |
441 | +} |
442 | -Index: b/sys/androidmedia/gstamchybris.c |
443 | -=================================================================== |
444 | +diff --git a/sys/androidmedia/gstamchybris.c b/sys/androidmedia/gstamchybris.c |
445 | +new file mode 100644 |
446 | +index 0000000..160a006 |
447 | --- /dev/null |
448 | +++ b/sys/androidmedia/gstamchybris.c |
449 | -@@ -0,0 +1,2182 @@ |
450 | +@@ -0,0 +1,2186 @@ |
451 | +/* |
452 | + * Initially based on gstamc.c |
453 | + * |
454 | @@ -5361,14 +5375,18 @@ Index: b/sys/androidmedia/gstamchybris.c |
455 | + GstVideoFormat video_format; |
456 | +} color_format_mapping_table[] = { |
457 | + { |
458 | ++ COLOR_FormatYUV420Flexible, GST_VIDEO_FORMAT_I420}, { |
459 | + COLOR_FormatYUV420Planar, GST_VIDEO_FORMAT_I420}, { |
460 | + COLOR_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, { |
461 | ++ 261, GST_VIDEO_FORMAT_NV12}, { |
462 | + COLOR_TI_FormatYUV420PackedSemiPlanar, GST_VIDEO_FORMAT_NV12}, { |
463 | + COLOR_TI_FormatYUV420PackedSemiPlanarInterlaced, GST_VIDEO_FORMAT_NV12}, { |
464 | + COLOR_QCOM_FormatYUV420SemiPlanar, GST_VIDEO_FORMAT_NV12}, { |
465 | + COLOR_QCOM_FormatYUV420PackedSemiPlanar64x32Tile2m8ka, GST_VIDEO_FORMAT_NV12}, { |
466 | + COLOR_EXYNOS_FormatNV12Tiled, GST_VIDEO_FORMAT_NV12}, { |
467 | + COLOR_EXYNOS_FormatNV21Linear, GST_VIDEO_FORMAT_NV21}, { |
468 | ++ COLOR_EXYNOS_FormatYVU420Planar, GST_VIDEO_FORMAT_YV12}, { |
469 | ++ COLOR_EXYNOS_Format32bitABGR8888, GST_VIDEO_FORMAT_ABGR}, { |
470 | + 256, GST_VIDEO_FORMAT_NV12}, { |
471 | + 263, GST_VIDEO_FORMAT_NV12}, { |
472 | + COLOR_MTK_FormatYV12, GST_VIDEO_FORMAT_YV12} |
473 | @@ -6027,7 +6045,7 @@ Index: b/sys/androidmedia/gstamchybris.c |
474 | + if (g_str_has_prefix (codec_info->name, "OMX.google")) |
475 | + rank = GST_RANK_SECONDARY; |
476 | + else |
477 | -+ rank = GST_RANK_PRIMARY; |
478 | ++ rank = GST_RANK_PRIMARY + 2; |
479 | + |
480 | + ret |= gst_element_register (plugin, element_name, rank, subtype); |
481 | + g_free (element_name); |
482 | @@ -6080,8 +6098,8 @@ Index: b/sys/androidmedia/gstamchybris.c |
483 | + "Android Media Hybris plugin", |
484 | + plugin_init, |
485 | + PACKAGE_VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) |
486 | -Index: b/sys/androidmedia/gstamcvideodec.h |
487 | -=================================================================== |
488 | +diff --git a/sys/androidmedia/gstamcvideodec.h b/sys/androidmedia/gstamcvideodec.h |
489 | +index eca39fe..d43abc7 100644 |
490 | --- a/sys/androidmedia/gstamcvideodec.h |
491 | +++ b/sys/androidmedia/gstamcvideodec.h |
492 | @@ -22,12 +22,20 @@ |
493 | @@ -6107,7 +6125,7 @@ Index: b/sys/androidmedia/gstamcvideodec.h |
494 | |
495 | G_BEGIN_DECLS |
496 | |
497 | -@@ -62,10 +70,19 @@ |
498 | +@@ -62,10 +70,19 @@ struct _GstAmcVideoDec |
499 | /* < private > */ |
500 | GstAmcCodec *codec; |
501 | GstAmcCodecConfig codec_config; |
502 | @@ -6127,7 +6145,7 @@ Index: b/sys/androidmedia/gstamcvideodec.h |
503 | /* Output format of the codec */ |
504 | GstVideoFormat format; |
505 | GstAmcColorFormatInfo color_format_info; |
506 | -@@ -81,6 +98,10 @@ |
507 | +@@ -81,6 +98,10 @@ struct _GstAmcVideoDec |
508 | gboolean started; |
509 | gboolean flushing; |
510 | |
511 | @@ -6138,7 +6156,7 @@ Index: b/sys/androidmedia/gstamcvideodec.h |
512 | GstClockTime last_upstream_ts; |
513 | |
514 | /* Draining state */ |
515 | -@@ -90,18 +111,25 @@ |
516 | +@@ -90,18 +111,25 @@ struct _GstAmcVideoDec |
517 | gboolean draining; |
518 | /* TRUE if the component is drained currently */ |
519 | gboolean drained; |
520 | @@ -6164,7 +6182,7 @@ Index: b/sys/androidmedia/gstamcvideodec.h |
521 | GError *gl_error; |
522 | GMutex gl_lock; |
523 | GCond gl_cond; |
524 | -@@ -110,6 +138,16 @@ |
525 | +@@ -110,6 +138,16 @@ struct _GstAmcVideoDec |
526 | guint gl_ready_frame_count; /* n buffers ready for GL access */ |
527 | guint gl_released_frame_count; /* n buffers released */ |
528 | GQueue *gl_queue; |
529 | @@ -6181,8 +6199,9 @@ Index: b/sys/androidmedia/gstamcvideodec.h |
530 | }; |
531 | |
532 | struct _GstAmcVideoDecClass |
533 | -Index: b/sys/androidmedia/gstamcvideodechybris.c |
534 | -=================================================================== |
535 | +diff --git a/sys/androidmedia/gstamcvideodechybris.c b/sys/androidmedia/gstamcvideodechybris.c |
536 | +new file mode 100644 |
537 | +index 0000000..cff94c4 |
538 | --- /dev/null |
539 | +++ b/sys/androidmedia/gstamcvideodechybris.c |
540 | @@ -0,0 +1,2399 @@ |
541 | @@ -8585,11 +8604,11 @@ Index: b/sys/androidmedia/gstamcvideodechybris.c |
542 | + |
543 | + return TRUE; |
544 | +} |
545 | -Index: b/tests/check/Makefile.am |
546 | -=================================================================== |
547 | +diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am |
548 | +index 1701aa0..8496367 100644 |
549 | --- a/tests/check/Makefile.am |
550 | +++ b/tests/check/Makefile.am |
551 | -@@ -221,6 +221,12 @@ |
552 | +@@ -221,6 +221,12 @@ else |
553 | check_gl= |
554 | endif |
555 | |
556 | @@ -8602,7 +8621,7 @@ Index: b/tests/check/Makefile.am |
557 | VALGRIND_TO_FIX = \ |
558 | elements/mpeg2enc \ |
559 | elements/mplex \ |
560 | -@@ -281,6 +287,7 @@ |
561 | +@@ -281,6 +287,7 @@ check_PROGRAMS = \ |
562 | elements/rtponviftimestamp \ |
563 | elements/id3mux \ |
564 | pipelines/mxf \ |
565 | @@ -8610,8 +8629,9 @@ Index: b/tests/check/Makefile.am |
566 | $(check_mimic) \ |
567 | libs/mpegvideoparser \ |
568 | libs/mpegts \ |
569 | -Index: b/tests/check/pipelines/gstamcvideodec.c |
570 | -=================================================================== |
571 | +diff --git a/tests/check/pipelines/gstamcvideodec.c b/tests/check/pipelines/gstamcvideodec.c |
572 | +new file mode 100644 |
573 | +index 0000000..eb6d9e9 |
574 | --- /dev/null |
575 | +++ b/tests/check/pipelines/gstamcvideodec.c |
576 | @@ -0,0 +1,538 @@ |
577 | @@ -9153,8 +9173,9 @@ Index: b/tests/check/pipelines/gstamcvideodec.c |
578 | +} |
579 | + |
580 | +GST_CHECK_MAIN (gstamcvideodec); |
581 | -Index: b/tests/check/pipelines/gstamcvideodec_egl.c |
582 | -=================================================================== |
583 | +diff --git a/tests/check/pipelines/gstamcvideodec_egl.c b/tests/check/pipelines/gstamcvideodec_egl.c |
584 | +new file mode 100644 |
585 | +index 0000000..56b70ed |
586 | --- /dev/null |
587 | +++ b/tests/check/pipelines/gstamcvideodec_egl.c |
588 | @@ -0,0 +1,56 @@ |
589 | diff --git a/debian/patches/androidmedia-support-COLOR_QCOM_FormatYVU420SemiPlanar32m.patch b/debian/patches/androidmedia-support-COLOR_QCOM_FormatYVU420SemiPlanar32m.patch |
590 | index 8905270..15ccd3d 100644 |
591 | --- a/debian/patches/androidmedia-support-COLOR_QCOM_FormatYVU420SemiPlanar32m.patch |
592 | +++ b/debian/patches/androidmedia-support-COLOR_QCOM_FormatYVU420SemiPlanar32m.patch |
593 | @@ -9,11 +9,17 @@ using same code as COLOR_QCOM_FormatYUV420SemiPlanar |
594 | to handle software conversion. |
595 | |
596 | BugLink: https://bugs.launchpad.net/ubuntu/+source/gst-plugins-bad1.0/+bug/1452386 |
597 | +--- |
598 | + sys/androidmedia/gstamchybris.c | 3 ++- |
599 | + sys/androidmedia/gstamcvideodechybris.c | 1 + |
600 | + 2 files changed, 3 insertions(+), 1 deletion(-) |
601 | |
602 | +diff --git a/sys/androidmedia/gstamchybris.c b/sys/androidmedia/gstamchybris.c |
603 | +index 160a006..06b1cd1 100644 |
604 | --- a/sys/androidmedia/gstamchybris.c |
605 | +++ b/sys/androidmedia/gstamchybris.c |
606 | -@@ -1367,7 +1367,8 @@ |
607 | - COLOR_EXYNOS_FormatNV21Linear, GST_VIDEO_FORMAT_NV21}, { |
608 | +@@ -1475,7 +1475,8 @@ static const struct |
609 | + COLOR_EXYNOS_Format32bitABGR8888, GST_VIDEO_FORMAT_ABGR}, { |
610 | 256, GST_VIDEO_FORMAT_NV12}, { |
611 | 263, GST_VIDEO_FORMAT_NV12}, { |
612 | - COLOR_MTK_FormatYV12, GST_VIDEO_FORMAT_YV12} |
613 | @@ -22,9 +28,11 @@ BugLink: https://bugs.launchpad.net/ubuntu/+source/gst-plugins-bad1.0/+bug/14523 |
614 | }; |
615 | |
616 | static gboolean |
617 | +diff --git a/sys/androidmedia/gstamcvideodechybris.c b/sys/androidmedia/gstamcvideodechybris.c |
618 | +index cff94c4..8f20501 100644 |
619 | --- a/sys/androidmedia/gstamcvideodechybris.c |
620 | +++ b/sys/androidmedia/gstamcvideodechybris.c |
621 | -@@ -1137,6 +1137,7 @@ |
622 | +@@ -1151,6 +1151,7 @@ gst_amc_video_dec_fill_buffer (GstAmcVideoDec * self, gint idx, |
623 | break; |
624 | } |
625 | case COLOR_QCOM_FormatYUV420SemiPlanar: |
LGTM.