Ticket #2287 (closed task: fixed)
Opened 6 years ago
Last modified 3 years ago
mythtv-vid: X11 Video output fixes branch
| Reported by: | danielk | Owned by: | danielk |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | mythtv | Version: | head |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description (last modified by danielk) (diff)
The point of the mythtv-vid branch is to fix some of the long standing deficiencies in the video output classes, for X11 in particular:
Filters
- Add OpenGL Lanczos filter
- Make setting up filters easier with a GUI
- Allow changing the filter set during playback, esp for deinterlacing.
- [DONE] Add support for OpenGL filtering for scaling and YV12->RGB conversion for display
- [DONE] Allow different filter sets for different video and display resolutions.
- [WONTFIX, see #1778] Auto-detect pull-up and apply ivtc filtering
Video output methods
- Implement per-frame video resolution switching
- Support XvMC for MPEG-2 NUV files (and enable transcode to MPEG-2)
- Key xrandr switching to video framerate
- [WONTFIX, VDPAU much more promising] Finish support for XvMC copy to pbuffer + opengl render
OSD rendering
- Fix video frame OSD blending for bob-deint (Filter vert freq in pause + when there is video<->screen framerate mismatch)
- Implement RGB OSD surfaces
- Implement X Composited OSD surfaces
- [DONE] Implement OpenGL OSD surfaces
- [DONE] Key preferred OSD and OSD fade to resolution and video output method.
Attachments
Change History
comment:2 Changed 6 years ago by danielk
(In [11431]) Refs #2287. Merges r10784:11430 from svn head to mythtv-vid.
comment:3 Changed 6 years ago by danielk
comment:4 follow-up: ↓ 10 Changed 6 years ago by danielk
(In [11497]) Refs #2287. Merges -r11430:11496 in svn head to mythtv-vid.
comment:5 Changed 6 years ago by danielk
comment:6 Changed 6 years ago by danielk
comment:7 Changed 6 years ago by danielk
comment:8 Changed 6 years ago by danielk
comment:9 Changed 6 years ago by danielk
(In [11509]) Refs #2123, refs #2287. Allows adding and deleting display profile groups in the Playback Profiles Editor in mythtv-vid.
There are still bugs in this code, please don't open new tickets on them until #2123 is closed; mostly the bugs have to do with screens not repainting appropriately or initial values being screewy, so they can be worked around.
comment:10 in reply to: ↑ 4 Changed 6 years ago by danielk
(In [11608]) Refs #2287. Merges -r11496:11607 in svn head to mythtv-vid.
comment:11 Changed 6 years ago by danielk
comment:12 Changed 6 years ago by danielk
comment:13 Changed 6 years ago by danielk
(In [11806]) Refs #2287. Merges -r11607:11700 in svn head to mythtv-vid
comment:14 Changed 6 years ago by danielk
(In [11807]) Refs #2287. Merges -r11700:11806 in svn head to mythtv-vid.
This breaks some of the UI, this will be addressed in a separate changeset.
comment:15 Changed 6 years ago by danielk
comment:16 Changed 6 years ago by danielk
(In [11811]) Refs #2287. Fixes various problems with the recent merge from head to svn head.
The ConfigurationDialog? needed a Storage implementation, so that it's children could override load() and save(). Also various configuration dialogs were crowded due to the changes in the settings from the last merge. Finally the triggered configuration group had some problems with deleting panes after the merge.
There remain problems with the PlaybackProfileConfig? loading and saving, especially with respect to new configs.
comment:17 Changed 5 years ago by danielk
(In [12221]) Refs #2287. Merges -r11806:12220 in svn head to mythtv-vid.
comment:18 Changed 5 years ago by danielk
(In [12257]) Refs #2287. Merges -r12220:12256 from svn head to mythtv-vid.
comment:19 Changed 5 years ago by danielk
comment:20 Changed 5 years ago by danielk
(In [12676]) Refs #2287. Merges -r12256:12675 from svn head to mythtv-vid.
comment:21 Changed 5 years ago by danielk
(In [12688]) Refs #2287. Adds OSD fade configurable in the video profiles.
Instead of hard coding the disabling of the OSD fade for XvMC and HDTV this changeset makes this a controlable properlty of the video display profile, so you can enable fading when you have a fast GPU or CPU.
If you were already using the mythtv-vid branch, I recommend dropping the displayprofilegroups and displayprofiles tables. Otherwise this property will not be configurable.
comment:22 Changed 5 years ago by danielk
(In [12693]) Refs #2287. Refs #2649. Adds Mark Kendall's OpenGL video rendering to mythtv-vid tree.
I've made this default to being included in ./configure. You just need to select opengl as a video renderer for one of your display profiles to use this. Here it looks pretty rotten with SD material, but looks quite good with HD material.
comment:23 Changed 5 years ago by danielk
comment:24 Changed 5 years ago by danielk
comment:25 Changed 5 years ago by danielk
comment:26 Changed 5 years ago by danielk
comment:27 Changed 5 years ago by Mark.Buechler@…
- Type changed from task to defect
Changing channels to new tuner ignores channel and defaults to stored cardinput.startchan instead with no indication of selected channel in log nor any lines stating it being bad. Tuning from there to desired channel works. I changed from channel 244 to 122 and mythbackend selected the stored channel 9429:
2007-02-05 18:10:23.615 MainServer::HandleAnnounce? Playback 2007-02-05 18:10:23.617 adding: pc4 as a client (events: 0) 2007-02-05 18:10:23.635 TVRec(5): Changing from None to WatchingLiveTV 2007-02-05 18:10:23.641 TVRec(5): HW Tuner: 5->5 2007-02-05 18:10:23.646 DVBChan(2): Opening DVB channel 2007-02-05 18:10:23.648 DVBChan(2): SetChannelByString?(9429): 2007-02-05 18:10:23.653 ChannelBase?(5): Failed to find channel(9429) on current input (DiSEqC v1.3 Input 11) of card (5). 2007-02-05 18:10:23.657 ChannelBase?(5): Found channel(9429) on another input (DiSEqC v1.3 Input 5) of card (5).
comment:29 Changed 5 years ago by danielk
comment:30 Changed 5 years ago by danielk
comment:31 Changed 5 years ago by danielk
comment:32 Changed 5 years ago by John Ball
Hi, It looks like 12737 isn't happy when ivtv drivers aren't installed:
NuppelVideoPlayer.cpp: In member function `void NuppelVideoPlayer::SetDecoder(DecoderBase*)':
NuppelVideoPlayer.cpp:6538: error: `IvtvDecoder' was not declared in this scope
NuppelVideoPlayer.cpp:6538: error: `ivtv' was not declared in this scope
NuppelVideoPlayer.cpp:6538: error: `IvtvDecoder' is not a type
NuppelVideoPlayer.cpp:6538: error: expected `>' before '*' token
NuppelVideoPlayer.cpp:6538: error: expected `(' before '*' token
NuppelVideoPlayer.cpp:6538: error: expected primary-expression before '>' token
NuppelVideoPlayer.cpp:6538: error: expected `)' before ';' token
NuppelVideoPlayer.cpp:6538: warning: unused variable 'IvtvDecoder'
make[2]: *** [NuppelVideoPlayer.o] Error 1
make[2]: Leaving directory `/home/mythtv/src/testing-mythvid/mythtv-vid/libs/libmythtv'
make[1]: *** [sub-libmythtv] Error 2
make[1]: Leaving directory `/home/mythtv/src/testing-mythvid/mythtv-vid/libs'
make: *** [sub-libs] Error 2
I'm using --disable-ivtv. Thanks!
-John
comment:33 Changed 5 years ago by danielk
comment:34 Changed 5 years ago by danielk
comment:35 Changed 5 years ago by danielk
(In [12753]) Refs #2287. Fixes opengl->other video renderer swiching in VideoOutputXv::InputChanged?().
comment:36 Changed 5 years ago by danielk
(In [12758]) Refs #2287. Reworks some ifdef's and silences a couple compile time warnings. This allows all the various video output methods that work on Linux to be enabled/disabled invidually (unless one depends on another, XVideo support is needed for any output method in VideoOutputXv?).
comment:37 Changed 5 years ago by danielk
comment:38 Changed 5 years ago by danielk
comment:39 Changed 5 years ago by danielk
(In [12949]) Refs #2287. Merges r12675:12948 from svn head to mythtv-vid.
comment:40 Changed 5 years ago by danielk
(In [13287]) Refs #2287. Fixes #3044. Fixes #2649. OpenGL video renderer improvements and fixes.
This improves the speed of the YUV->RGB conversion by accessing the texels with greater coherency. This fixes removes a doubled call to the resize filter. This avoids a segfault by leaking some memory (temporary fix).
comment:41 Changed 5 years ago by danielk
(In [13433]) Refs #2287. Merges r12948:13432 from svn head to mythtv-vid.
comment:42 Changed 5 years ago by danielk
(In [13545]) Refs #2287. Merges r13433:13544 from svn head to mythtv-vid
comment:43 Changed 5 years ago by danielk
comment:44 Changed 5 years ago by danielk
(In [13549]) Refs #2287. Fixes bug in XvMC-OpenGL pause handling.
The XvMC-OpenGL video renderer stopped updatating the OSD once the video was paused because PrepareFrame? was doing the compositing step. This changeset moves the compositing step to the Show() method so that the OSD is still updated when the video is paused when using the XvMC-OpenGL video renderer.
comment:45 Changed 5 years ago by danielk
comment:46 Changed 5 years ago by danielk
comment:47 Changed 5 years ago by danielk
comment:48 follow-up: ↓ 123 Changed 5 years ago by danielk
(In [13769]) Refs #2287. Workaround for an apparent nvidia bug that caused blank screens after video rendering method changes.
The problem was noticed by Stanley Kamithi and worked around by Mark Kendal. The video playback window would be blank when switching from OpenGL to XvMC rendering with 8776 and crash when using the 9755 drivers, This may have something to do with the change to using the 3D pipeline to emulate XVideo in the newer drivers. The workaround was simply to unmap and map the subwindow with the OpenGL context instead of deleting and recreating it as we switch between rendering methods. The window and context are still properly deleted when we delete VideoOutputXv? at playback shutdown.
comment:49 Changed 5 years ago by danielk
(In [13770]) Refs #2287. Merges r13544:13769 from svn trunk to mythtv-vid.
comment:50 Changed 5 years ago by danielk
comment:51 Changed 5 years ago by matt.doran@…
As requested by danielk, when enabling the hardware deinterlacing I see errors in the log like this:
2007-06-28 23:45:15.560 VDP: GetFilteredDeint?() : -> 'opengllinearblend' 2007-06-28 23:45:15.564 FilterManager?: failed to load filter 'opengllinearblend', no such filter exists 2007-06-28 23:45:15.564 Couldn't load deinterlace filter opengllinearblend 2007-06-28 23:45:15.564 Using deinterlace method 2007-06-28 23:45:15.564 SetVideoRenderer?(opengl)
This might be expected, because it's doing the deinterlacing in the hardware rather than the software filter ... but it's a bit misleading and will probably cause some confusion.
comment:52 Changed 5 years ago by danielk
(In [14057]) Refs #2287. Some tweaks to videodisplayprofile. This removes the 'last_video_renderer' check in SetVideoRenderer?(), if LoadBestPreferences?() has been called since SetVideoRenderer?() was last called the preferences for the deinterlacers, osd renderers, etc may no longer be compatable with the video renderer, so we need to recheck this.
This also adds some debugging output and names the quartz-accel OSD renderer.
comment:53 Changed 5 years ago by danielk
comment:54 Changed 5 years ago by danielk
comment:55 Changed 5 years ago by danielk
(In [14060]) Refs #2287. Fixes a regression in the ability to enable deinterlacing.
Basically the SetScanType?() just ignored any attempts to enable deinterlacing because we removed the m_DeintSetting from NuppelVidepPlayer? and didn't replace it with anything now that the video renders track the deinterlacing settings.
Changed 5 years ago by danielk
- Attachment osx-video-v4.patch.bz2 added
Patch to add OSX DVDV decoding (not functionning).
comment:56 Changed 5 years ago by danielk
comment:57 Changed 5 years ago by danielk
(In [14063]) Refs #2287. #1279. This applies an updated version of DVDV code to libavcodec.
John Dagliesh wrote the original DVDV code and Nigel did the original merge, see #1279, this just updates the merge to work with the latest changes in how ffmpeg handles codecs and commits the mpeg12.c and dvdv.c portions of the patch.
you need to rerun ./configure before recompiling (to pick up the new codec define.)
comment:58 Changed 5 years ago by danielk
comment:59 Changed 5 years ago by danielk
comment:60 Changed 5 years ago by danielk
(In [14068]) Refs #2287. This makes 3 changes to the VideoOutput::InputChanged?() and a complimentary change to VideoOutput::Create().
The main change is to add a new param "codec_private". The OS X DVDV playback renderer needs access to the DVDV decoder which is created in AvFormatDecoder?. This allows this data to be passed to VideoOutputQuartz? in a generic way which we could reuse in the future without changing the InputChanged?() signature again.
The two smaller changes were things I've wanted in the API for a while, but were too trivial to make the API change for alone. The changes are to: (1) return a ok/failed status from InputChanged?(). Changing the resolution of a video can fail if the resolution exceeds what the hardware is capable of, as in #3680. In [14009], I was able to check the error status after calling InputChanged?() to avoid the segfault. But actually returning this information is much nicer API wise. (2) The other is to use a QSize for the dimensions of the video, this avoids us needing to convert from QSize to ints and back to QSize when calling InputChanged?().
Finally, VideoOutput::Create() just had the "codec_private" paramater added so that we can pass the initial information in when creating a VideoOutput? instance. This wasn't added to VideoOutput::Init() since we can just pass the codec_private into the constructors that need it and keep the changeset much smaller.
comment:61 Changed 5 years ago by danielk
(In [14069]) Refs #2287. Restores ApproveDeintFilter?() check in VideoOutput::SetupDeinterlace?().
ApproveDeintFilter?() got in the way of testing the display profile code, but is still needed when no matching profile is found for a particular video.
comment:62 Changed 5 years ago by danielk
(In [14070]) Refs #2287. Refs #3523. Various minor fixes to VideoOutputQuartz?.
- Changes QuartzData? from a struct to a class, so we can properly initialize all it's variables without an init function.
- Sets data pointer to NULL after deleting the class for easier debugging.
- Calls SetVideoRender?() in the ctor and CreateQuartzBuffers?(), the latter is needed in case there is no quartz video profile, otherwise the VideoOutputBase::Init() call may reset the renderer.
- Sets display_dim and display_aspect properly. This is a prerequisite to addressing #3523,
- Removes incorrect code in VideoOutputQuartz::GetAllowedRenderers?() for enabling DVDV rendering.
- Tidys up some VERBOSE macros.
comment:63 Changed 5 years ago by freedenizen@…
I noticed that Vertical Scaling doesn't appear to be honored by the opengl renderer. I haven't had a chance to test the other overscan options to see if they work or not.
comment:64 Changed 5 years ago by danielk
comment:65 Changed 5 years ago by danielk
comment:66 Changed 5 years ago by danielk
comment:67 Changed 5 years ago by danielk
(In [14098]) Refs #2287. Creates and destroyes the memory allocator needed by Cocoa.
The OS X Cocoa libraries assume that you have a garbage collector allocated and will leak memory if you don't. However it needs a specific garbage collector for each thread which creates some complications. This creates and destroyes the garbage collector needed to handle DVDV stuff.
We really should allocate a garbage collector for each thread in MythTV on the OS X platform, but this addresses the only major memory leak this Cocoa requirement appears to cause. And addresses all the additional memory leaks DVDV could have added to the mix.
comment:68 Changed 5 years ago by danielk
comment:69 Changed 5 years ago by danielk
comment:70 Changed 5 years ago by danielk
comment:71 Changed 5 years ago by danielk
(In [14255]) Refs #2287. Sets the myth binary revision and protocol revisions to numbers that don't conflict with trunk.
This requires plugins to be rebuilt. Basically some of the reports in the mythtv-vid testing threads were caused by not recompiling plugins for mythtv-vid or using a mythtv-vid frontend with a non-mythtv-vid backend this should prevent this type of problem for testers.
comment:72 Changed 5 years ago by danielk
comment:73 Changed 5 years ago by danielk
comment:74 Changed 5 years ago by danielk
(In [14286]) Refs #2287. Merges r14097:14285 from svn head to mythtv-vid.
comment:75 Changed 5 years ago by skamithi
comment:76 Changed 5 years ago by skamithi
comment:77 Changed 5 years ago by danielk
(In [14403]) Refs #2287. Merges r14285:14401 from svn trunk to mythtv-vid.
comment:78 follow-up: ↓ 80 Changed 5 years ago by danielk
(In [14405]) Refs #2287. Merges mythtv-vid to head.
You must rerun ./configure before comiling and recompile and install the plugins after installing this.
Unlike the mythtv-vid branch, compiling OpenGL rendering is disabled due to some instability issues.
There are a few video related things in here:
- Adds Video Profiles and a Video Profiles Editor to Playback config. This allows you to use different rendering methods and deinterlacer options for different video resolutions.
- Adds an accelerated playback "DVDV" for OS X
- This enables compiling XvMC chromakey rendering by default
- This enables compiling DirectFB rendering by default, and adds support for the newish DirectFB 1.0
- This enables compiling PVR-350 rendering by default
- This splits OSD configuration out from the general Playback config. (A separate commit will add this to the external themes.)
Please report any problems on the #2287 mythtv-vid ticket.
comment:79 Changed 5 years ago by danielk
(In [14408]) Refs #2287. Merges r14401:14407 from svn trunk to mythtv-vid.
comment:80 in reply to: ↑ 78 Changed 5 years ago by otto at kolsi dot fi
Replying to danielk:
You must rerun ./configure before comiling and recompile and install the plugins after installing this.
Having problems compiling trunk after merge. Same problem occurs with my two machines (Athlon & PIV Celeron). I have done "make distclean" and re-run configure. Also compiled trunk just minutes before merge and that version compiled fine.
g++ -c -pipe -march=i686 -Wall -W -fomit-frame-pointer -O3 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -D__STDC_CONSTANT_MACROS -fomit-frame-pointer -I/usr/include/freetype2 -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib\" -D_LARGEFILE_SOURCE -DUSING_H264TOOLS -DUSING_X11 -DUSING_XV -DUSING_XVMC -DUSING_XVMCW -DUSING_OPENGL_VSYNC -DUSING_FRONTEND -DUSING_DVB -DUSING_BACKEND -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/local/include -I/usr/include -I../.. -I.. -I../libmyth -I../libavcodec -I../libavutil -I../libmythmpeg2 -Idvbdev -Impeg -Iiptv -I../libmythlivemedia/BasicUsageEnvironment/include -I../libmythlivemedia/groupsock/include -I../libmythlivemedia/liveMedia/include -I../libmythlivemedia/UsageEnvironment/include -I/usr/lib/qt-3.3/include -o NuppelVideoPlayer.o NuppelVideoPlayer.cpp g++ -c -pipe -march=i686 -Wall -W -fomit-frame-pointer -O3 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -D__STDC_CONSTANT_MACROS -fomit-frame-pointer -I/usr/include/freetype2 -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib\" -D_LARGEFILE_SOURCE -DUSING_H264TOOLS -DUSING_X11 -DUSING_XV -DUSING_XVMC -DUSING_XVMCW -DUSING_OPENGL_VSYNC -DUSING_FRONTEND -DUSING_DVB -DUSING_BACKEND -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/local/include -I/usr/include -I../.. -I.. -I../libmyth -I../libavcodec -I../libavutil -I../libmythmpeg2 -Idvbdev -Impeg -Iiptv -I../libmythlivemedia/BasicUsageEnvironment/include -I../libmythlivemedia/groupsock/include -I../libmythlivemedia/liveMedia/include -I../libmythlivemedia/UsageEnvironment/include -I/usr/lib/qt-3.3/include -o vsync.o vsync.cpp vsync.cpp: In destructor ‘virtual OpenGLVideoSync::~OpenGLVideoSync()’: vsync.cpp:456: error: ‘glXDestroyContext’ was not declared in this scope vsync.cpp: In member function ‘virtual bool OpenGLVideoSync::TryInit()’: vsync.cpp:489: error: ‘init_opengl’ was not declared in this scope vsync.cpp:489: error: ‘get_glx_version’ was not declared in this scope vsync.cpp:497: error: ‘glXQueryExtensionsString’ was not declared in this scope vsync.cpp:499: error: ‘has_glx_video_sync_support’ was not declared in this scope vsync.cpp:505: error: ‘GLX_RGBA’ was not declared in this scope vsync.cpp:506: error: ‘GLX_RED_SIZE’ was not declared in this scope vsync.cpp:507: error: ‘GLX_GREEN_SIZE’ was not declared in this scope vsync.cpp:508: error: ‘GLX_BLUE_SIZE’ was not declared in this scope vsync.cpp:514: error: ‘glXChooseVisual’ was not declared in this scope vsync.cpp:544: error: ‘GL_TRUE’ was not declared in this scope vsync.cpp:544: error: ‘glXCreateContext’ was not declared in this scope vsync.cpp:552: error: ‘glXMakeCurrent’ was not declared in this scope vsync.cpp:556: error: ‘gMythGLXGetVideoSyncSGI’ was not declared in this scope vsync.cpp:562: error: ‘GLX_BAD_CONTEXT’ was not declared in this scope vsync.cpp: In function ‘bool checkGLSyncError(const QString&, int)’: vsync.cpp:595: error: ‘GLX_BAD_CONTEXT’ was not declared in this scope vsync.cpp:598: error: ‘GLX_BAD_VALUE’ was not declared in this scope vsync.cpp: In member function ‘virtual void OpenGLVideoSync::Start()’: vsync.cpp:627: error: ‘glXMakeCurrent’ was not declared in this scope vsync.cpp:637: error: ‘gMythGLXGetVideoSyncSGI’ was not declared in this scope vsync.cpp:639: error: ‘gMythGLXWaitVideoSyncSGI’ was not declared in this scope vsync.cpp:642: error: ‘glXMakeCurrent’ was not declared in this scope vsync.cpp: In member function ‘virtual void OpenGLVideoSync::WaitForFrame(int)’: vsync.cpp:661: error: ‘glXMakeCurrent’ was not declared in this scope vsync.cpp:664: error: ‘gMythGLXGetVideoSyncSGI’ was not declared in this scope vsync.cpp:670: error: ‘gMythGLXWaitVideoSyncSGI’ was not declared in this scope vsync.cpp:679: error: ‘gMythGLXWaitVideoSyncSGI’ was not declared in this scope vsync.cpp:684: error: ‘glXMakeCurrent’ was not declared in this scope make[2]: *** [vsync.o] Error 1 make[2]: Leaving directory `/mnt/myth/mythtv/mythtv/libs/libmythtv' make[1]: *** [sub-libmythtv] Error 2 make[1]: Leaving directory `/mnt/myth/mythtv/mythtv/libs' make: *** [sub-libs] Error 2
comment:81 Changed 5 years ago by danielk
comment:82 Changed 5 years ago by danielk
comment:83 Changed 5 years ago by skamithi
comment:84 Changed 5 years ago by danielk
comment:85 Changed 5 years ago by danielk
comment:86 Changed 5 years ago by laga@…
Hi.
- There's a typo in ./configure --help output:
--enable-opengl-video disable opengl based video display
should probably read "enable opengl based video display".
- When editing the video display profile, I can select osd renderers/decoders which were not actually compiled in. Of course, it falls back to sane defaults and lets me watch TV, but it might be better not to display choices which were not compiled in. Just a thought.
Michael
comment:87 Changed 5 years ago by danielk
- Status changed from new to assigned
- Milestone changed from unknown to 0.21
comment:88 Changed 5 years ago by laga@…
Hi,
I'm using an interlaced PAL modeline to drive my TV:
Modeline "720x576pali" 13.88 720 726 794 880 576 580 583 625 -hsync -vsync interlace
My video/osd render method is opengl. When i'm trying to use the normal (software) bodeint, i get the following messages:
2007-09-07 15:44:48.131 VDP: GetFilteredDeint() : opengl -> 'bobdeint' 2007-09-07 15:44:48.132 VDP: GetFilteredDeint() : opengl -> 'bobdeint' 2007-09-07 15:44:48.133 Failed to approve 'bobdeint' deinterlacer 2007-09-07 15:44:48.134 Couldn't load deinterlace filter
However, the hardware bobdeint works:
2007-09-07 15:42:36.081 VDP: GetFilteredDeint() : opengl -> 'openglbobdeint' 2007-09-07 15:42:36.081 GLVid: Creating openglbobdeint filter. 2007-09-07 15:42:36.082 GLVid: Created fragment program openglbobdeint. 2007-09-07 15:42:36.091 GLCtx: Created frame buffer object (720x576). 2007-09-07 15:42:36.092 GLVid: Turning off deinterlacing. 2007-09-07 15:42:36.092 VideoOutputXv: Using deinterlace method openglbobdeint 2007-09-07 15:42:36.092 GLVid: Turning on deinterlacing.
Prior to the mythtv-vid merge, bobdeint would never work for me because my refresh rate was too low. I had to use the patch from #2903 to enable bobdeint (without a deinterlacer, I would get interlace artefacts/stuttering despite my video resolution matching my display resolution - same happens to a lot of other people, too). Now I'm kinda confused by this discrepancy - is it intentional that openglbobdeint works while bobdeint does not?
I should note that I'm using a Twinview setup. CRT-0 is a 19" CRT monitor running at 1280x102, CRT-1 is my TV running said modeline.
comment:89 Changed 5 years ago by danielk
comment:90 Changed 5 years ago by danielk
(In [14451]) Refs #2287. Merges r14407:14450 from svn trunk to mythtv-vid.
comment:91 Changed 5 years ago by danielk
comment:92 Changed 5 years ago by danielk
(In [14453]) Refs #2287. Two bug fixes from Stanley Kamithi for software filtering config.
1st/ we called VideoDisplayProfile::IsFilterAllowed?() with the filter value rather than the correct renderer. 2nd/ The editable ComboBox? is a little buggy so we're returning to a LineEdit? for now.
comment:93 Changed 5 years ago by danielk
comment:94 Changed 5 years ago by danielk
comment:95 Changed 5 years ago by danielk
comment:96 Changed 5 years ago by danielk
comment:97 Changed 5 years ago by skamithi
comment:98 Changed 5 years ago by danielk
comment:99 Changed 5 years ago by danielk
(In [14477]) Refs #2287. Fixes #1842. Fixes #3943. Fixes #3479. Merges mythtv-vid to svn trunk.
After the merge last week, I applied some patches that were waiting in the queue for mythtv-vid.
- Fixes some issues with VIA CN400 drivers not displaying 1080i frames.
- Adds a workaround to for crashes due to bugs in the Intel and VIA OpenGL drivers.
- Allows OpenGL rendering to work with GLX 1.2 for ATI and Intel cards.
- Seperates preconfigured zoom and aspect ratio override modes, "W" is still the binding for zoom, and "Ctrl-W" now overrides the aspect ratio specified in a video file.
- Adds a new OpenGL video renderer output filter from Mark Kendall.
- Reworks some of the OpenGL video renderer locking for greater stability.
comment:101 Changed 5 years ago by skamithi
comment:102 Changed 5 years ago by danielk
comment:103 Changed 5 years ago by skamithi
comment:104 Changed 5 years ago by skamithi
(In [14568]) Refs #2287. merges r14452:14567 from svn head to mythtv-vid.
comment:105 Changed 5 years ago by skamithi
comment:106 Changed 5 years ago by skamithi
comment:107 Changed 5 years ago by skamithi
comment:108 Changed 5 years ago by skamithi
comment:109 Changed 5 years ago by danielk
(In [14590]) Refs #2287. Fix for OpenGL Renderer picture controls, these weren't working for pre-recorded material because the OpenGL filter relied on use_picture_controls to be set before InitVideoBuffers? is called; but they aren't set until after InitVideoBuffers?(); with this change it is set based on the DB setting alone before InitVideoBuffers?().
comment:110 Changed 5 years ago by skamithi
comment:111 Changed 5 years ago by danielk
(In [14599]) Refs #2287. Return a different mpeg version for CODEC_ID_H264 than CODEC_ID_MPEG4.
In ffmpeg, MPEG4 refers to MPEG-4 Part 2 video, while H264 refers to MPEG-4 Part 10 video, and completely different video decoder is used for these two types of MPEG-4 video streams so we need to keep track of this for ffmpeg's sake, using the pseudo MPEG version 5 for MPEG-4 part 10 allows us to do this.
comment:112 Changed 5 years ago by skamithi
(In [14618]) Refs #2287. merge r14574:14612 from trunk to mythtv-vid
comment:113 Changed 5 years ago by skamithi
comment:114 Changed 5 years ago by skamithi
(In [14678]) Refs #843. Refs #2287. change method for embedding TV video in guidegrid and playbackbox. Allows opengl/xv/xvmc-blit rendered TV windows to be embedded. xvmc-opengl doesn't work yet cause xvmc-opengl playback is broken. talking to danielk, there are some thread safety issues with embedded video playback to deal with.
comment:115 Changed 5 years ago by skamithi
comment:116 Changed 5 years ago by skamithi
(In [14709]) Refs #2287. merge r14613:14707 from trunk to mythtv-vid
comment:117 Changed 5 years ago by skamithi
comment:118 Changed 5 years ago by skamithi
comment:119 Changed 5 years ago by skamithi
comment:120 Changed 5 years ago by danielk
(In [14778]) Refs #2287. Merges r14707:14777 from trunk to mythtv-vid
comment:121 Changed 5 years ago by skamithi
comment:122 Changed 4 years ago by skamithi
(In [15159]) Refs #2287. r14961:15157 from trunk to mythtv-vid
comment:123 in reply to: ↑ 48 Changed 4 years ago by dennisoberhoff@…
Replying to danielk:
(In [13769]) Refs #2287. Workaround for an apparent nvidia bug that caused blank screens after video rendering method changes.
The problem was noticed by Stanley Kamithi and worked around by Mark Kendal. The video playback window would be blank when switching from OpenGL to XvMC rendering with 8776 and crash when using the 9755 drivers, This may have something to do with the change to using the 3D pipeline to emulate XVideo in the newer drivers. The workaround was simply to unmap and map the subwindow with the OpenGL context instead of deleting and recreating it as we switch between rendering methods. The window and context are still properly deleted when we delete VideoOutputXv? at playback shutdown.
This Bug, or something similar, seems to be appearing with the latest (beta) Drivers from Nvidia. Closing and reopening the Internal Videoplayer causes an blank Screen.
comment:124 Changed 4 years ago by skamithi
(In [15451]) Refs #2287 r15158:15450 from trunk to mythtv-vid
comment:125 Changed 4 years ago by skamithi
comment:126 Changed 4 years ago by skamithi
(In [15453]) Refs #2287. prevent a crash that occurs when you run opengl renderer with more then 2 openglvideo instances and then you start and stop the tv player several times. e.g opengl with opengl osd or opengl with pip. it crashed with a double link list or Xorg crashes. patch makes openglvideo::initopengl execute one the initial openglvideo instance instead of once per openglvideo instance.
comment:127 Changed 4 years ago by skamithi
comment:128 Changed 4 years ago by skamithi
comment:129 Changed 4 years ago by skamithi
comment:130 Changed 4 years ago by skamithi
comment:131 Changed 4 years ago by skamithi
comment:132 Changed 4 years ago by skamithi
comment:133 Changed 4 years ago by skamithi
comment:134 Changed 4 years ago by skamithi
comment:135 Changed 4 years ago by skamithi
comment:136 Changed 4 years ago by skamithi
comment:137 Changed 4 years ago by skamithi
comment:138 Changed 4 years ago by skamithi
comment:139 Changed 4 years ago by skamithi
(In [16466]) Refs #2287. mythtv-vid: prevent a MythPopupBox? from displaying a mythbackend connection failure while activating the osd menu. it causes a hang.
comment:140 Changed 4 years ago by skamithi
comment:141 Changed 4 years ago by skamithi
comment:142 Changed 4 years ago by skamithi
comment:143 Changed 4 years ago by skamithi
comment:144 Changed 4 years ago by skamithi
comment:145 Changed 4 years ago by skamithi
comment:146 Changed 4 years ago by skamithi
comment:147 Changed 4 years ago by skamithi
comment:148 Changed 4 years ago by skamithi
comment:149 Changed 4 years ago by skamithi
comment:150 Changed 4 years ago by skamithi
comment:151 Changed 4 years ago by skamithi
comment:152 Changed 4 years ago by skamithi
comment:153 Changed 4 years ago by skamithi
comment:154 Changed 4 years ago by skamithi
comment:155 Changed 4 years ago by skamithi
(In [17396]) Refs #5324, Refs #2287. mythtv-vid: commit patch (3) of #5324. Rename key variables in line with VideoOutput?? to make opengl code easier to follow.
comment:156 Changed 4 years ago by skamithi
comment:157 Changed 4 years ago by skamithi
comment:158 Changed 4 years ago by skamithi
comment:159 Changed 4 years ago by skamithi
comment:160 Changed 4 years ago by skamithi
comment:161 Changed 4 years ago by skamithi
comment:162 Changed 4 years ago by skamithi
comment:163 Changed 4 years ago by skamithi
comment:164 Changed 4 years ago by skamithi
comment:165 Changed 4 years ago by skamithi
comment:166 Changed 4 years ago by skamithi
comment:167 Changed 4 years ago by skamithi
comment:168 Changed 4 years ago by skamithi
comment:169 Changed 4 years ago by skamithi
comment:170 Changed 4 years ago by skamithi
comment:171 Changed 4 years ago by skamithi
comment:172 Changed 4 years ago by skamithi
comment:173 Changed 4 years ago by skamithi
comment:174 Changed 4 years ago by skamithi
comment:175 Changed 4 years ago by nigel
(In [17895]) svn merge -r17851:17894 blah:.../trunk/mythtv . Have only tested compilation, not other possible breakage. Refs #2287
comment:176 Changed 4 years ago by skamithi
comment:177 Changed 4 years ago by skamithi
comment:178 Changed 4 years ago by skamithi
comment:179 Changed 4 years ago by skamithi
comment:180 Changed 4 years ago by skamithi
comment:181 Changed 4 years ago by skamithi
(In [17994]) Refs #843, Refs #2287. mythtv-vid: remove code I put in that was supposed to prevent resizing of opengl rendered picture during tv playback startup. It doesn't work. currently if you start EPG at tv playback you'll see nothing in the resized tv window and when you exit the EPG the picture is not resized again properly. Looking for a different solution that will work.
comment:182 Changed 4 years ago by skamithi
(In [18013]) Refs #5324, Refs #2287. apply patch 19. Rewrite of deinterlacing code. Combine YUV2RGB and deinterlacing. Use 3 different fragment programs for progressive, top field and bottom field. Now properly deinterlaces luma and chroma channels and much faster. FrameBufferObjects?? no longer a requirement. patch 18 and 18a, are already applied. this was done through [17954].
comment:183 Changed 4 years ago by skamithi
comment:184 Changed 4 years ago by skamithi
comment:185 Changed 4 years ago by skamithi
(In [18460]) Refs #2287. fix compile issue after last sync with trunk. fix EmbedInWidget? failure on opengl renderer due to [18069].
comment:186 Changed 4 years ago by danielk
(In [18899]) Refs #2287. Merge r18888:18898 from trunk to mythtv-vid, see also [18890].
comment:187 Changed 4 years ago by danielk
comment:188 Changed 4 years ago by danielk
comment:189 Changed 4 years ago by danielk
comment:190 Changed 4 years ago by danielk
comment:191 Changed 4 years ago by danielk
(In [18958]) Refs #2287. Merges r18898:18957 from trunk to mythtv-vid
comment:192 Changed 4 years ago by danielk
(In [18980]) Refs #2287. Refactor of NVP to remove duplication of pointers to things already contained in the PlayerContext?. (mythtv-vid branch)
comment:193 Changed 4 years ago by danielk
(In [18987]) Refs #2287. Begins cleaning up PlayerContext? locking. There are still over a hundred unlocked uses, but the most common uses are now covered.
If your running with this branch right now, please run the frontend with '-v playback', this will print potentially useful lock debugging info in case you manage to trigger a deadlock.
comment:194 Changed 4 years ago by danielk
comment:195 Changed 4 years ago by skamithi
(In [19030]) Refs #2287 Merges r18957:19029 from trunk to mythtv-vid
comment:196 Changed 4 years ago by danielk
comment:197 Changed 4 years ago by danielk
comment:198 Changed 4 years ago by danielk
(In [19033]) Refs #2287. Refs #5324. Applies Mark Kendal's disable textures patch #24 to mythtv-vid; this adds a DisableTextures? method to OpenGLContext to match the EnableTextures? method and uses it in openglvideo instead of raw OpenGL.
comment:199 Changed 4 years ago by danielk
comment:200 Changed 4 years ago by danielk
comment:201 Changed 4 years ago by danielk
comment:202 Changed 4 years ago by danielk
comment:203 Changed 4 years ago by danielk
comment:204 Changed 4 years ago by danielk
(In [19045]) Refs #2287. Fix a locking problem introduced by [19042], basically the commBreakMapLock is non-recursive so it was being locked twice by NVP::AutoCommercialSkip?() after I added a missing locking in NVP::ClearAfterSeek?() which was being called with and without a lock being held but calls SetCommBreakIter?() which requires the lock to be held. Now ClearAfterSeek? is only called when the lock isn't being held.
comment:205 Changed 4 years ago by danielk
comment:206 Changed 4 years ago by danielk
(In [19086]) Refs #2287. Merges r19029:19085 from trunk to mythtv-vid
comment:207 Changed 4 years ago by danielk
comment:208 Changed 4 years ago by danielk
comment:209 Changed 4 years ago by danielk
comment:210 Changed 4 years ago by danielk
comment:211 Changed 4 years ago by danielk
comment:212 Changed 4 years ago by danielk
comment:213 Changed 4 years ago by danielk
(In [19099]) Refs #2287. Various small VideoOutputXv? cleanups.
comment:214 Changed 4 years ago by danielk
comment:215 Changed 4 years ago by danielk
comment:216 Changed 4 years ago by danielk
comment:217 Changed 4 years ago by danielk
(In [19129]) Refs #2287. Converts most of the event loop in the TV class to Qt timer events.
Five untriggered events remain, two need to be initiated by nvp actions, two I don't understand the code well enough, and one I just haven't looked at yet. I'm only checking these remaining untriggered events every 250 ms rather than every 50 ms; since all the stuff that needs to be snappy is now triggered immediately.
The code in tv_play.cpp still needs to be made pretty, more refactoring into PlayerContext? is required, and this is probably buggier than yesterday's code, but it's on it's way to being better. The UI feels significantly snappier than it did a week ago.
comment:218 Changed 3 years ago by danielk
(In [19172]) Refs #2287. Merges r19085:19164 from trunk to mythtv-vid
comment:219 Changed 3 years ago by danielk
(In [19178]) Refs #2287. Merges r19164:19177 from trunk to mythtv-vid
comment:220 Changed 3 years ago by danielk
(In [19182]) Refs #2287. Some VDPAU tweaks for the mythtv-vid branch.
Note there are still some problems
- Resolution changes are not handled by the VDPAU code
- VDPAU is treated as a subset of XVideo, videout_xv.cpp may be simpler if it is treated as a subtype outside of the XVideo range.
- All the other known problems, color in OSD, quality of MPEG-2 decoding, etc.
comment:221 Changed 3 years ago by danielk
(In [19183]) Refs #2287. Cleanup ApproveDeintFilter?() & include vdpau in base class version
comment:222 Changed 3 years ago by danielk
(In [19184]) Refs #2287. Since both VDPAU & OpenGL renderers need the context reinitialized on resolution changes, special cases these in VideoOutputXv::InputChanged?()
comment:223 Changed 3 years ago by danielk
comment:224 Changed 3 years ago by danielk
(In [19187]) Refs #2287. Merges r19177:19186 from trunk to mythtv-vid.
comment:225 Changed 3 years ago by danielk
comment:226 Changed 3 years ago by danielk
(In [19273]) Refs #2287. Merges r19186:19272 from trunk to mythtv-vid.
comment:228 Changed 3 years ago by danielk
(In [19277]) Refs #2287. Don't try to restart LiveTV if we have hit an irrecoverable error in starting LiveTV.
Basically the reasoning is that if we hit an irrecoverable error once, we will likely hit it again and again on each retry.
This could easilly be extended to retry a few times before giving up, but I've only seen this occur with truly irrecoverable errors, such as the recording directory not being mounted. In trunk we set wantsToQuit to true for these irrecoverable errors, but that is not correct, since wantsToQuit indicates that the user wants to quit the app, and when there is an irrecoverable error we really want to show an error dialog then quit..
AFAIK: This problem really only occurs in practice because we haven't ported the error dialogs in the NVP and TV classes to Qt4 yet, but even once we do -- this change will prevent infinite loops if we forget to implement an error exit dialog for some irrecoverable eror.
comment:229 Changed 3 years ago by danielk
(In [19288]) Refs #2287. Make the position map transfer code for in progress recordings a bit more efficient with a GetKeyframePositions?() call in the recorder, and make GetKeyframePosition?() work as documented (returning closest prior position if the frame is not found in the map) instead of returning -1 for non-keyframes.
comment:230 Changed 3 years ago by danielk
comment:231 Changed 3 years ago by danielk
comment:232 Changed 3 years ago by danielk
comment:233 Changed 3 years ago by danielk
(In [19299]) Refs #2287. Return PlayerReadLock? in TV::HandleEndOfPlaybackTimerEvent?, broken by [19298].
comment:234 Changed 3 years ago by danielk
comment:235 Changed 3 years ago by danielk
(In [19311]) Refs #2287. Partially revert [19301], we still need to run processEvents() regularly in TV::StartTV() even if there are no state changes. This is needed for keyboard and other event processing on at least some Qt 4.x releases. Possibly a better solution is to enter the event loop for the thread running StartTV(), but that requires a bit more refactoring...
comment:236 Changed 3 years ago by danielk
comment:237 Changed 3 years ago by markk
comment:238 Changed 3 years ago by markk
comment:239 Changed 3 years ago by markk
(In [19316]) Refs #2287. Initial cross-platform OpenGL support in util-opengl (mythtv-vid).
Primarily adding entry points and defines for any functionality newer than OpenGL 1.1 (unavailable on windows). Also add hooks for required windows and Mac OS X extensions and swap_control on Linux and windows (available by default on OS X).
comment:240 Changed 3 years ago by danielk
comment:241 Changed 3 years ago by markk
comment:242 Changed 3 years ago by danielk
(In [19327]) Refs #2287. Use our X11 lock when processing Qt's X11 calls.
This is theoretically a problem in trunk too, Qt can make an X11 call at the same time as VideoOutputXv?. But it becomes a real segfault producer in mythtv-vid because we have much fewer usleep() calls scattered throughout the code.
comment:243 Changed 3 years ago by danielk
comment:244 Changed 3 years ago by danielk
(In [19329]) Refs #2287. Add some useful debugging to GetFramesWritten?() and make sure we return -1 if the backend returns and error.
comment:245 Changed 3 years ago by danielk
(In [19330]) Refs #2287. Make keyframe map syncing a bit more efficient. First we allow the NVP to pass -1 as the end keyframe to request, which means we want all keyframes greater than the start keyframe this avoids 1 of the two network roundtrips. Second, we use QMap::lowerBound() to find the first keyframe greater than or equal to the start keyframe, and then iterate until we reach the end of the map, this doesn't change the big O performance but makes the code about a 15 times faster in practice.
comment:246 Changed 3 years ago by danielk
comment:247 Changed 3 years ago by danielk
comment:248 Changed 3 years ago by danielk
comment:249 Changed 3 years ago by danielk
(In [19335]) Refs #2287. Merges r19273:19334 from trunk to mythtv-vid
comment:250 Changed 3 years ago by danielk
comment:251 Changed 3 years ago by danielk
(In [19345]) Refs #2287. Cleans up PBP startup.
Use JumpToFrame?() to restart NVPs in the same place in the file, as we do for PIP. Use the currently active NVP's OSD in PBP mode, unless the OSD for the main buffer is a full screen OSD (None are at the moment, so that part is just a stub in playercontext.cpp).
Changed 3 years ago by danielk
- Attachment multi-pip-v1.patch added
Adds Multiple PiP window support.
comment:252 Changed 3 years ago by danielk
The multi-pip-v1.patch has a lot of extraneous changes including debugging that needs to be ripped out, NVP/TV error handling is broken, player teardown is not done correctly for PIP's, and this likely won't compile with video output classes other than XVideo. But, it does finally allow for multiple Picture-in-Picture windows...
Note: After I clean this up I plan to extend PBP as well, so that you can do things like look at all the channels on the current multiplex at once. After that I plan to allow audio output follow you to the currently active player...
comment:253 Changed 3 years ago by danielk
comment:254 Changed 3 years ago by danielk
(In [19373]) Refs #2287. Merges r19334:19372 from trunk to mythtv-vid
comment:255 Changed 3 years ago by danielk
(In [19375]) Refs #2287. VideoOutput? portion of multi PIP patch.
comment:256 Changed 3 years ago by danielk
comment:257 Changed 3 years ago by danielk
comment:258 Changed 3 years ago by danielk
Changed 3 years ago by danielk
- Attachment multi-pip-dbg-only-v9.patch added
Debugging portion of multi-pip patch.. if you want to fix any of the problems, this is a good thing to apply first..
comment:259 Changed 3 years ago by danielk
comment:260 Changed 3 years ago by danielk
comment:261 Changed 3 years ago by danielk
(In [19391]) Refs #2287. When we enter TV::DoEditSchedule?() with a PIP or second PBP window as the active window, use that window for any playback in grid functionality. Also if the main window is the active window, pause any PIP/PBP windows and don't render them until we return to normal playback.
comment:262 Changed 3 years ago by danielk
comment:263 Changed 3 years ago by danielk
(In [19394]) Refs #2287. Improves debugging output for TV::SetActive?()
comment:264 Changed 3 years ago by danielk
comment:265 Changed 3 years ago by danielk
comment:266 Changed 3 years ago by danielk
comment:267 Changed 3 years ago by danielk
comment:268 Changed 3 years ago by danielk
comment:269 Changed 3 years ago by danielk
comment:270 Changed 3 years ago by danielk
(In [19408]) Refs #2287. Cleanup of PlayerContext? (with resulting changes in other files from method renaming.)
comment:271 Changed 3 years ago by danielk
comment:272 Changed 3 years ago by danielk
(In [19414]) Refs #2287. Merges r19372:19413 from trunk to mythtv-vid
comment:273 Changed 3 years ago by danielk
(In [19417]) Refs #2287. Merges mythtv-vid to trunk.
There are a number of changes, probably the most user visible ones are PiP related, but there is also groundwork laid for OpenGL video rendering on OSX and MS Windows, for aspect ratio & zoom on OSX, and a number of operations are more responsive.
Note: Even though this changeset has received a fair bit of testing, it is a 1.1MB patch and there are bound to be things we overlooked. Please report any compilation problems to the mythtv-dev mailing list and open tickets with a repro description, theme used and backtrace for any segfaults or deadlocks.
comment:274 Changed 3 years ago by danielk
comment:275 Changed 3 years ago by danielk
comment:276 Changed 3 years ago by danielk
comment:277 Changed 3 years ago by danielk
comment:278 Changed 3 years ago by markk
(In [19513]) Refs #2287. Merges r19419:19512 from trunk to mythtv-vid.
comment:279 Changed 3 years ago by markk
(In [19535]) Refs #2287. Add a new cross-platform OpenGL video renderer that provides consistent playback across Linux, Windows XP, Vista and Mac OS X.
There are some small remaining issues with xrandr on Linux and PBP sizing across the board.
N.B. Due to a lack of altivec YV12 packing code, performance may be poor on non-intel Macs. N.B. I've been unable to test a windows build for the last few weeks.
comment:280 Changed 3 years ago by markk
comment:281 Changed 3 years ago by markk
comment:282 Changed 3 years ago by markk
(In [19548]) Refs #2287. Merges r19514:19546 from trunk to mythtv-vid.
comment:283 Changed 3 years ago by markk
comment:284 Changed 3 years ago by markk
(In [19664]) Refs #2287. Merges r19547:19663 from trunk to mythtv-vid.
comment:285 Changed 3 years ago by markk
comment:286 Changed 3 years ago by markk
comment:287 Changed 3 years ago by markk
(In [19847]) Refs #2287. Merge r19664:19846 from trunk to mythtv-vid.
comment:288 Changed 3 years ago by markk
comment:289 Changed 3 years ago by markk
comment:290 Changed 3 years ago by markk
comment:291 Changed 3 years ago by markk
comment:292 Changed 3 years ago by markk
(In [19972]) Refs #2287. Merge r19847:19971 from trunk to mythtv-vid.
comment:293 Changed 3 years ago by markk
comment:294 Changed 3 years ago by markk
comment:295 Changed 3 years ago by markk
(In [20077]) Refs #2287. Merge -r19972:20076 from trunk to mythtv-vid.
comment:296 Changed 3 years ago by markk
comment:297 Changed 3 years ago by danielk
- Status changed from accepted to closed
- Resolution set to fixed
Any remaining issues should get their own tickets.
