Opened 11 years ago

Closed 11 years ago

#5606 closed patch (fixed)

MHEG Update

Reported by: David Matthews <dm@…> Owned by: Stuart Auchterlonie
Priority: minor Milestone: 0.22
Component: mythtv Version: head
Severity: low Keywords:
Cc: stuartm Ticket locked: no

Description

This patch comprises various bug fixes and a few updates related to MHEG on Freesat.

Bugs fixed include:

  1. Fixed problem with text with colour changes (Text.cpp)
  1. Removed erroneous Qt prefixes added in the conversion to Qt4 (freemheg.h). Also change QImage constructors to use correct Format argument (mhi.cpp) for Qt4.
  1. Fixed problems with gaps between display items due to the OSD seeming to align items onto even bit boundaries (mhi.cpp)
  1. Calculate correct size for video when resizing HD. The BBC have just started transmitting MHEG on BBC HD and without this fix the picture may be resized to a quarter of the screen. Also avoid resizing if the size hasn't changed (mhi.cpp, mhi.h)
  1. Rewrite of DrawPolygon?. This is used to draw direction arrows on Freesat and didn't work properly (mhi.cpp)

Added support for Interactible and Slider classes. Sliders are used on Freesat for scrollbars to provide feedback when reading multi-page news items. (various files in libmythfreemheg).

The patch is against SVN head but it's mostly been tested against the fixes branch.

Attachments (5)

mhegupdate.patch (55.7 KB) - added by David Matthews <dm@…> 11 years ago.
fixes-mhegupdate.patch (54.6 KB) - added by David Matthews <dm@…> 11 years ago.
bitmapfix.patch (616 bytes) - added by David Matthews <dm@…> 11 years ago.
5606-qt4-port-v1.patch (10.6 KB) - added by danielk 11 years ago.
Beginnings of a Qt4 port of MHEG code
mheg-qt4.patch (18.1 KB) - added by David Matthews <dm@…> 11 years ago.
Patches for Qt4

Download all attachments as: .zip

Change History (17)

Changed 11 years ago by David Matthews <dm@…>

Attachment: mhegupdate.patch added

comment:1 Changed 11 years ago by stuartm

Cc: stuartm added
Milestone: unknown0.22

comment:2 Changed 11 years ago by Stuart Auchterlonie

Owner: changed from Isaac Richards to Stuart Auchterlonie
Status: newassigned

I've been looking at the QT4 port of this, so i'll take it.

comment:3 Changed 11 years ago by stuartm

I think we'll also accept a patch against -fixes for this issue since the change breaks BBC HD for anyone who has MHEG enabled.

comment:4 Changed 11 years ago by Stuart Auchterlonie

(In [18184]) Refs #5606. David Matthews updates to the MHEG engine.

I'm putting the patch is as is, because it appears to fix the things that don't work currently.

It however still contains some of the QT3 support lib interfaces, but we can deal with those separately.

comment:5 Changed 11 years ago by David Matthews <dm@…>

I'm adding a patch for the fixes branch and also an additional patch for HEAD for another problem I found. When copying a bitmap to produce a tiled image creating an image with the same pixel depth would produce messages about "Invalid index". The patch for the fixes branch includes everything in the previous patch as well as this change.

Changed 11 years ago by David Matthews <dm@…>

Attachment: fixes-mhegupdate.patch added

Changed 11 years ago by David Matthews <dm@…>

Attachment: bitmapfix.patch added

comment:6 Changed 11 years ago by reidjr

Any chance of this being commited to 0.21-fixes ?

comment:7 Changed 11 years ago by Patrick

Thanks, this patch fixes bbc hd for me when applied to fixes, so I would also liketo see it applied in svn. On a related freesat mheg note, is there any fix for the sports multiscreen? When I select it mythtv changes to the stream channel, but I can't select any other multiscreen from the menu, nor can I get off that channel except by the last channel button.

comment:8 Changed 11 years ago by danielk

(In [18762]) Refs #5606. Turns off qt3 compat for libmythtv by default.

There are two things that are now disabled by default because they have not yet been ported, dbox2 support and mheg support. These can be enabled by using --enable-dbox2 and --enable-mheg respectively when running ./configure.

Enabling either one will pull in the qt3 compat library. I'll be attaching a patch to #5606 shortly which does a partial port to Qt4 for MHEG, but someone with access to MHEG streams will need to complete the port.

I highly suggest doing a make distclean, but it should not be required in most cases.

Changed 11 years ago by danielk

Attachment: 5606-qt4-port-v1.patch added

Beginnings of a Qt4 port of MHEG code

Changed 11 years ago by David Matthews <dm@…>

Attachment: mheg-qt4.patch added

Patches for Qt4

comment:9 Changed 11 years ago by David Matthews <dm@…>

I hadn't realised Daniel had actually done quite a bit of the port already when I did this this morning but it looks very similar. I've done a quick test of it and it seems to work fine. Eventually I'd like to remove Qt from within libfreemheg itself since that would make it easier to reuse the code in other projects.

David.

comment:10 Changed 11 years ago by danielk

David, in my patch I used a Qt4 bitBlt (drawImage with a pixmap) for MHIBitmap::Draw(), (in mhi.cpp) but you used pixel by pixel assignment. Does the bitBlt not work, or you just missed it?

I also don't like two C arrays that replace the QPointArray, I'd rather see an stl::vector<MHEGPoint> which keeps track of it's bounds internally; but that's a minor issue.

comment:11 Changed 11 years ago by danielk

(In [18819]) Refs #5606. Applies David Matthews' Qt4 patch for MHEG. This re-enables default compilation of MHEG after you rerun ./configure

comment:12 Changed 11 years ago by Stuart Auchterlonie

Resolution: fixed
Status: assignedclosed

(In [19338]) Closes #5606. Finally backports some updates to the MHEG engine.

This improves the MHEG engine to add a few bit n pieces that weren't implemented before and are now being broadcast in the wild. This has been in head for quite a while now.

Note: See TracTickets for help on using tickets.