Reynaldo H. Verdejo Pinochet
32861ab0a7
eglglessink: Move DAR query & store to surface init
...
The DAR (display's pixel aspect ratio) should remain a
constant at runtime so there's no point on repeatedly
query and store this value. Doing it at surface setup
should be enough. As an added bonus this change should
make rendering a bit faster.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
406630a294
eglglessink: Don't signal the GCond too often
2012-10-18 14:35:19 +02:00
Sebastian Dröge
82dc2a3544
eglglessink: Add myself as author
2012-10-18 14:35:19 +02:00
Sebastian Dröge
87a028a0a4
eglglessink: Make sure to always reset the display region in start()
2012-10-18 14:35:19 +02:00
Sebastian Dröge
28fe3f7888
eglglessink: Also commit missing changes to the header file
2012-10-18 14:35:19 +02:00
Sebastian Dröge
610e33b049
eglglessink: Also include $(GST_BASE_CFLAGS)
2012-10-18 14:35:19 +02:00
Sebastian Dröge
caf9d1febd
eglglessink: Fix race condition
2012-10-18 14:35:19 +02:00
Sebastian Dröge
99f738bbc0
eglglessink: Refactor rendering and all context specific GL things into a separate thread
...
Also fixes some threading related problems.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
11ec917ee0
eglglessink: Re-add accidentially reverted commit
2012-10-18 14:35:19 +02:00
Sebastian Dröge
ba3274c8f0
eglglessink: Remove unneeded flow_lock
...
Use the object lock in the few places necessary, everything
else is protected by other things already.
Also store the context directly inside the instance struct
instead of allocating some memory for it.
2012-10-18 14:35:19 +02:00
Sebastian Dröge
2b3279c9b5
eglglessink: Fix debug output and constant names
2012-10-18 14:35:19 +02:00
Sebastian Dröge
1f0bf75075
eglglessink: start()/stop() is called in READY<->NULL in basesink
...
But this should be called in PAUSED<->READY.
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
d2dcecfc8a
eglglessink: Fix for outbound DAR reported by EGL
...
Some EGL implementations don't honor the spec
requirement of returning DAR values as w/h *
EGL_DISPLAY_SCALING.
This changeset:
- Fixes rendering on the Samsung Galaxy III
- Fixes wrong check on required 1.2 EGL version
- Reorders the code a bit.
2012-10-18 14:35:18 +02:00
Sebastian Dröge
dde62cee8e
eglglessink: Fix crashes if there are no EGL or GLES extensions
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a317f6936c
eglglessink: Fix crash at element instantiation
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
af009b7de7
eglglessink: GLSL: Save one extra texture lookup
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
0ed02803f7
eglglessink: GLSL: Minor named index access tweak xyz -> rgb
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
5c2b1dc631
eglglessink: GLSL: Assorted fixes to optimized code
...
- Don't copy over opos as it's already a vec2
- Fix index order access at frag_YUY2_YVYU_UYVY_prog
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
73d865091c
eglglessink: GLSL: Planar YUV converters optimization
...
- Use consts for the transform's offset and cofficients values
- Use dot product instead of mult and add
- Avoid unneeded texture lookups
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
846e77871b
Geglglessink: LSL: Optimize frag_YUY2_YVYU_UYVY_prog
...
- Avoid repeatedly performing the texture lookup
- Use consts for the transform's offset and cofficients values
- Use the dot product instead of the explicit mult and add
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
eb8f7d63d5
eglglessink: GLSL: Drop unneded nxy vec2
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
bb0b872644
eglglessink: Fix missing double quotation mark in GLSL code
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a95834a491
eglglessink: GLSL: Optimize frag_AYUV_prog
...
- Avoid repeatedly performing the texture lookup
- Use consts for the transform's offset and cofficients values
- Use the dot product instead of the explicit mult and add
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
a7a2dcc433
eglglessink: Documentation: GstEglGlesSink struct
2012-10-18 14:35:18 +02:00
Reynaldo H. Verdejo Pinochet
38ca631a7a
eglglessink: Documentation: GstEglGlesBuffer struct (DRAFT)
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
c27c11582e
eglglessink: Documentation: GstEglGlesImageFmt struct
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
945b11fd02
eglglessink: Documentation: GstEglGlesRenderContext struct
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
d97b3dba60
eglglessink: Assorted doc and reordering fixes
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
031b6a57ac
eglglessink: Documentation: Element properties
...
Brief explanatory comments plus some reordering
to group default setting of properties and runtime
flags values.
2012-10-18 14:35:17 +02:00
Sebastian Dröge
81463a1cb7
eglglessink: Add support for YVYU
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
95a223a030
eglglessink: Documentation: GLSL Shaders
...
Brief explanatory comments plus some rerdering
to group packed/planar converters.
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
731be48dac
eglglessink: Documentation: Element overview
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
1eef329725
eglglessink: Refactor REORDER shader.
...
Avoid unneededly calling texture2D() 3 consecutive times.
2012-10-18 14:35:17 +02:00
Sebastian Dröge
c91238a2af
eglglessink: Fix handling of caps changes by only releasing what needs to be released
...
And not terminating the display connection
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
310e5111b7
eglglessink: Move display_region reset to locked section
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
884e5fa173
eglglessink: Reset display_region dims at caps renego
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
f28f5df29e
eglglessink: Cosmetics
2012-10-18 14:35:17 +02:00
Reynaldo H. Verdejo Pinochet
c255aa5dd4
eglglessink: Don't access local value from struct
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
2ab9de8e4f
eglglessink: Terminate display connection at caps renego
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
734ac85bb4
eglglessink: Cosmetics
2012-10-18 14:35:16 +02:00
Sebastian Dröge
e022fc5389
eglglessink: Only attach the context once to the streaming thread
2012-10-18 14:35:16 +02:00
Sebastian Dröge
09b3518bae
eglglessink: Make the context current for the thread and unbind it again around every use
...
This fixes some crashes and leaking of our context into other
OpenGL code on the same thread.
2012-10-18 14:35:16 +02:00
Sebastian Dröge
113253b292
eglglessink: Improve cleanup
2012-10-18 14:35:16 +02:00
Sebastian Dröge
70d077acd8
eglglessink: Remove unused label
2012-10-18 14:35:16 +02:00
Sebastian Dröge
f058b5d78b
eglglessink: Allow setting a NULL handle
2012-10-18 14:35:16 +02:00
Sebastian Dröge
fc0dc0055a
eglglessink: Revert "Do not update_surface_dims() once per frame"
...
This reverts commit 82103376ede2bc7c63dd699f5982168660f67852.
We have to update the surface dimensions on every frame to
make sure that we get notified about updates. This happens
for example if the Android window gets re-layouted because
a widget takes more space than before.
2012-10-18 14:35:16 +02:00
Reynaldo H. Verdejo Pinochet
a818d5c771
eglglessink: Do not update_surface_dims() once per frame
...
And.. Upgrade debug message to warging on weird DAR.
Correct fix to avoid spaming with this message
once per each frame is avoid calling update_surface_dims()
at render_and_display(). This is handled at egl surface
init.
2012-10-18 14:35:16 +02:00
Sebastian Dröge
162f63e064
eglglessink: And downgrade another warning too
2012-10-18 14:35:16 +02:00
Sebastian Dröge
7307ddd54b
eglglessink: Downgrade GST_WARNING to GST_DEBUG
2012-10-18 14:35:16 +02:00
Sebastian Dröge
8dabfbfca8
eglglessink: Add some {} to if statements make them work as expected
2012-10-18 14:35:16 +02:00