Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc fixes; Hershey fonts support; Static display frames support #17

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

kamalmostafa
Copy link
Contributor

Hershey fonts support:

Static display frames support:

@kamalmostafa
Copy link
Contributor Author

Rebased this patch set, and added two new build fixes:

  • commit 12574cb fixes the build breakage introduced by commit 3fd071e "Update qplayvid to newer ffmpeg APIs"
  • commit dc6ad29 reverts needless duplicate elf section redeclaration

Allow qplayvid to continue to build with pre-version 56 ffmpeg (libav) APIs.

Fixes regression introduced by: 3fd071e Update qplayvid to newer ffmpeg APIs

Signed-off-by: Kamal Mostafa <kamal@whence.com>
This reverts commit 871f851.

These declarations already exist in libol/x86inc.asm, so 871f851 has no useful
effect but yields this new warning:

    libol/imgproc_sse2.asm:42: warning: section flags ignored on section redeclaration

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Allow the build to complete (without playvid and qplayvid) on pre-libav9
distros which do not provide libavresample.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
... for everything except the python stuff.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
... same as the rest of font routines do.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
This framework allows for the implementation of different font types including
dynamically loaded fonts.  Fonts are allocated and loaded via e.g.:

	Font *font = olGetFont(OL_FONT_SOMETHING, "somefontname");

Only OL_FONT_DEFAULT is currently implemented, hence:
	olGetFont(OL_FONT_DEFAULT, "unused")
is equivalent to:
	olGetDefaultFont()

olFreeFont(font) should be called to free fonts returned by olGetFont(),
though freeing the default font is unnecessary (but harmless).

No functional change (until some future type is implemented).

Signed-off-by: Kamal Mostafa <kamal@whence.com>
No functional change.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
No functional change.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
If the libhersheyfont library is installed, build with support for
Hershey vector fonts.  Adds new olFontType OL_HERSHEY_FONT, e.g.:

    Font *olGetFont(OL_HERSHEY_FONT, fontname);
    ...
    olFreeFont(font);

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Demo app for the font engine -- supports the 'default' font and Hershey fonts.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
Handy developer debugging aid; No functional change.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
…eded

Allows rendering of a single static frame, i.e. just one call to olRender()
instead of an olRender()-loop.

Allows for olRender() of empty frames containing no objects.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Improve the handling of "duplicate" frames to allow them to be used
intentionally as successive static display frames, i.e. with arbitrary
asynchronous calls to olRender() instead of an olRender()-loop.

Before this change, each duplicate/static frame included an undesirable
laser-off traversal back to the last-rendered point of the previous frame,
since that traversal gets pre-rendered into the first object.  This change
fixes the undesirable traversal.

Implementation notes:

 - Keep track of the first "real" point and the first "wait" point of the
   first object in each frame (i.e. not including the laser-off traversal
   from the previous frame's last-rendered point).

 - Whenever the process() callback notes that no new frame is available and
   is therefore about to re-output a "duplicate" frame, it now:

     - Computes and outputs a new laser-off traversal from last output
       point to the recorded first real or wait point of the frame (taking
       into account whether a wait is still needed).

     - Skips past (does not output) the old pre-rendered laser-off traversal.

     - disables the audio-passthrough channel output for the duplicate frame.

Signed-off-by: Kamal Mostafa <kamal@whence.com>
Signed-off-by: Kamal Mostafa <kamal@whence.com>
@kamalmostafa
Copy link
Contributor Author

I have rebased this patch set:

  • new version of commit 5855217 fixes the build breakage introduced by commit 3fd071e "Update qplayvid to newer ffmpeg APIs"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants