[mythtv-users] Pi3 Playback problems with 1080i MPEG2?

Peter Bennett cats22 at comcast.net
Sun Jun 5 21:17:40 UTC 2016



----- Original Message -----

From: "Tom Harris" <thom.j.harris at gmail.com> 
To: "Discussion about MythTV" <mythtv-users at mythtv.org> 
Sent: Saturday, June 4, 2016 2:05:02 PM 
Subject: Re: [mythtv-users] Pi3 Playback problems with 1080i MPEG2? 



On Wed, Jun 1, 2016 at 8:39 AM, Tom Harris < thom.j.harris at gmail.com > wrote: 





On Mon, May 30, 2016 at 7:35 AM, Peter Bennett (cats22) < cats22 at comcast.net > wrote: 
> 
> On 05/29/2016 09:58 PM, Tom Harris wrote: 
> > I just set up a new Pi3 frontend on Raspbian Lenny + Peter’s .deb 
> > package for 0.27. 
> > After some tweaking of various settings in raspbian and mythfrontend, 
> > it is working well. 
> > 
> > The one issue is that playback of 1080i content has problems. It 
> > misses frames, pauses, and is generally not watchable. 720p video is 
> > fine. 
> > 
> > I verified a few things in debugging it: content streams are fine, 
> > bandwidth to frontend is fine, settings are correct (as far as I can 
> > tell). I played back the same videos just fine via Kodi’s mythtv 
> > add-on on my Pi2 as well as the Apple TV mythfrontend. 
> > 
> > ‘-v playback’ confirms openmax is enabled. But, there is an error, 
> > which I’m not sure if it’s normal or a real problem: “E AFD: Unknown 
> > decoding error" 
> > 
> > Has anyone else run into this? Any more settings I should check? 
> > 
> Check your playback profile. You should have "Openmax normal" selected. 
> Also edit the profile and check that the decoder and renderer are both 
> set to openmax. Set the number of processors to 4. 

Yes, all of those settings are correct. The other settings on those pages, I just left default: 

‘Deblocking filter’ is selected 
‘OSD fade’ is not selected 
‘OSD renderer’ is soft blend 

Primary deinterlacer: Advanced (HW) 

Fallback deinterlacer: One field 



> 
> Do you have the latest version? There was a bug with dropping frames 
> that has been fixed. "Unknown decoding error" is one message that 
> occurred with that bug. 

Yes, it appears to be current (same version currently downloadable from your site). 

> 
> 
> What type of content is this? Is it MPEG2 or H264? Is it recordings or 
> videos? Is it only one particular recording? 

MPEG2. It’s Comcast cable TV recordings, from several stations - some local NBC/CBS, some national TNT, etc. 

> 
> Are you using an on screen display (e.g. Subtitles or Info)? 

No. No subtitles, etc. 

> 
> If you still have problems let us know your version (mythfrontend 
> --version). 

MythTV Version : v0.27.6-86-ge2ccfdf 
MythTV Branch : raspi/0.27 
Network Protocol : 77 
Library API : 0.27.20151025-1 
QT Version : 5.3.2 
Options compiled in: 
linux profile use_hidesyms using_asa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_dvb using_firewire using_frontend using_hdhomerun using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_qtwebkit using_qtscript using_qtdbus using_sdl using_taglib using_v4l2 using_x11 using_xrandr using_xv using_profiletype using_bindings_perl using_bindings_python using_bindings_php using_mythtranscode using_opengles using_openmax using_ffmpeg_threads using_mheg using_libass using_libxml2 

Here is some more complete output from ‘-v playback’.. anything else I can enable for more debugging detail? 

2016-05-31 19:35:47.336368 I FileRingBuf(myth://mythbackend/1720_20160531230000.mpg): OpenFile(myth://mythbackend/1720_20160531230000.mpg, 2000 ms) 
2016-05-31 19:35:49.477791 I MythCoreContext: Connecting to backend server: 10.1.1.11:6543 (try 1 of 1) 
2016-05-31 19:35:49.502527 I TV: StartPlayer(0, WatchingRecording, main) -- begin 
2016-05-31 19:35:49.502727 I TV: Elapsed time since TV constructor was called: 2709 ms 
2016-05-31 19:35:49.931088 N AudioPlayer: Enabling Audio 
2016-05-31 19:35:50.109956 I Player(0): Stretch Factor 1, allow passthru 
2016-05-31 19:35:50.128786 I AFD: Buffer size: 32768 streamed 0 seekable 1 
2016-05-31 19:35:50.629389 I AFD: Stream #0, has id 0xe23 codec id MPEG2VIDEO, type Video, bitrate 0 at 0x1f67420 
2016-05-31 19:35:50.629440 I AFD: Stream #1, has id 0xe24 codec id AC3, type Audio, bitrate 384000 at 0x1f64570 
2016-05-31 19:35:50.629462 I AFD: codec AC3 has 6 channels 
2016-05-31 19:35:50.629477 I AFD: Looking for decoder for AC3 
2016-05-31 19:35:50.630466 I AFD: Opened codec 0x1f64770, id(AC3) type(Audio) 
2016-05-31 19:35:50.636921 I AFD: Stream #2, has id 0xe25 codec id AC3, type Audio, bitrate 192000 at 0x1f64d70 
2016-05-31 19:35:50.636954 I AFD: codec AC3 has 2 channels 
2016-05-31 19:35:50.636971 I AFD: Looking for decoder for AC3 
2016-05-31 19:35:50.637973 I AFD: Opened codec 0x2450270, id(AC3) type(Audio) 
2016-05-31 19:35:50.638221 I AFD: Trying to select best video track 
2016-05-31 19:35:50.638325 I AFD: Selected track #0 (id 0xe23 codec id MPEG2VIDEO, type Video, bitrate 500000 at 0x1f67420) 
2016-05-31 19:35:50.675151 I VDP: Accepting: cmp(> 0 0) dec(openmax) cpus(4) skiploop(enabled) rend(openmax) osd(softblend) osdfade(disabled) deint(openmaxadvanced,onefield) filt() 
2016-05-31 19:35:50.675233 I VDP: LoadBestPreferences(2048x2048, 0) 
2016-05-31 19:35:50.675309 I VDP: LoadBestPreferences(2048x2048, 60) 
2016-05-31 19:35:50.675362 I VDP: LoadBestPreferences(1920x1080, 60) 
2016-05-31 19:35:50.704657 I DOMX:2 Codec MPEG2VIDEO => OMX_VIDEO_CodingMPEG2 
2016-05-31 19:35:50.707993 I AFD: Using 1 CPUs for decoding 
2016-05-31 19:35:50.708047 I AFD: InitVideoCodec() 0x1f64190 id(MPEG2VIDEO) type (Video). 
2016-05-31 19:35:50.708163 I AFD: Selected FPS is 29.97 (avg 29.97 codec 29.97 container 90000 estimated 29.97) 
2016-05-31 19:35:50.708237 I Player(0): SetFrameInterval ps:1 scan:3 
2016-05-31 19:35:50.708309 I Player(0): detectInterlace(Detect Scan, Interlaced Scan, 29.97, 1080) ->Interlaced Scan 
2016-05-31 19:35:50.708492 I AFD: Using openmax for video decoding 
2016-05-31 19:35:50.708560 I AFD: Opened codec 0x1f64190, id(MPEG2VIDEO) type(Video) 
2016-05-31 19:35:50.752930 I AOBase: Opening audio device 'OpenMAX:hdmi' ch 2(6) sr 48000 sf signed 16 bit reenc 0 
2016-05-31 19:35:50.773447 I Dec: Selected track #1 (type 2) in the Unknown language(0) 
2016-05-31 19:35:50.773522 I Dec: Resyncing position map. posmapStarted = 0 livetv(0) watchingRec(1) 
2016-05-31 19:35:51.427047 I Dec: Position map filled from DB to: 388010 
2016-05-31 19:35:51.519841 I Dec: Duration map filled from DB to: 388010 
2016-05-31 19:35:51.529885 I Dec: SyncPositionMap watchingrecording, from DB: 17072 entries 
2016-05-31 19:35:51.529991 I Player(0): Filling position map from 388011 to end 
2016-05-31 19:35:51.562345 I Dec: Position map filled from Encoder to: 388070 
2016-05-31 19:35:51.562516 I Dec: Duration map filled from Encoder to: 388070 
2016-05-31 19:35:51.562550 I Dec: SyncPositionMap watchingrecording total: 17076 entries 
2016-05-31 19:35:51.562600 I Dec: SyncPositionMap, new totframes: 388070, new length: 12948, posMap size: 17076 
2016-05-31 19:35:51.571581 I AFD: Partial position map found 
2016-05-31 19:35:51.571619 I AFD: Successfully opened decoder for file: "myth://mythbackend/1720_20160531230000.mpg". novideo(0) 
2016-05-31 19:35:51.638587 I VideoOutput: Allowed renderers: xv-blit,xshm,xlib,openmax 
2016-05-31 19:35:51.638644 I VideoOutput: Allowed renderers (filt: openmax): openmax 
2016-05-31 19:35:51.681016 I VDP: Accepting: cmp(> 0 0) dec(openmax) cpus(4) skiploop(enabled) rend(openmax) osd(softblend) osdfade(disabled) deint(openmaxadvanced,onefield) filt() 
2016-05-31 19:35:51.681067 I VDP: LoadBestPreferences(2048x2048, 0) 
2016-05-31 19:35:51.681135 I VDP: LoadBestPreferences(2048x2048, 60) 
2016-05-31 19:35:51.681188 I VDP: LoadBestPreferences(1920x1080, 60) 
2016-05-31 19:35:51.681254 I VideoOutput: Preferred renderer: openmax 
2016-05-31 19:35:51.681285 I VideoOutput: Trying video renderer: 'openmax' 
2016-05-31 19:35:51.976045 I VDP: Accepting: cmp(> 0 0) dec(openmax) cpus(4) skiploop(enabled) rend(openmax) osd(softblend) osdfade(disabled) deint(openmaxadvanced,onefield) filt() 
2016-05-31 19:35:51.976099 I VDP: LoadBestPreferences(2048x2048, 0) 
2016-05-31 19:35:51.976171 I VDP: LoadBestPreferences(2048x2048, 60) 
2016-05-31 19:35:52.027648 I VideoOutWindow::SetPIPState. pip_state: 0] 
2016-05-31 19:35:52.027702 I VDP: LoadBestPreferences(2048x2048, 29.97) 
2016-05-31 19:35:52.027815 I VOMX:3 Init vbuf=1920x1088 vdisp=1920x1080 aspect=1.77778 win=0,0,1920x1080 codec=MPEG2 
2016-05-31 19:35:52.027855 I Snapping width to avoid scaling: width: 1920, left: 0 
2016-05-31 19:35:52.027888 I Display Rect left: 0, top: 135, width: 1920, height: 810, aspect: 1.33333 
2016-05-31 19:35:52.027920 I Video Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.027949 I VDP: LoadBestPreferences(1920x1088, 29.97) 
2016-05-31 19:35:52.027993 I Snapping width to avoid scaling: width: 1920, left: 0 
2016-05-31 19:35:52.028025 I Display Rect left: 0, top: 135, width: 1920, height: 810, aspect: 1.33333 
2016-05-31 19:35:52.028061 I Video Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.028091 I VDP: SetVideoRenderer(openmax) 
2016-05-31 19:35:52.028115 I VDP: SetVideoRender(openmax) == GetVideoRenderer() 
2016-05-31 19:35:52.029805 E X11 ModeLine query returned zeroes 
2016-05-31 19:35:52.030347 I VideoOutput: Pixel dimensions: Screen 1920x1080, window 1920x1080 
2016-05-31 19:35:52.030404 I VideoOutput: Actual display dimensions: 508x286 mm Aspect: 1.77622 
2016-05-31 19:35:52.030538 I VideoOutput: Estimated window dimensions: 508x286 mm Aspect: 1.77622 
2016-05-31 19:35:52.136229 I Snapping height to avoid scaling: height: 1080, top: 0 
2016-05-31 19:35:52.136281 I Snapping width to avoid scaling: width: 1920, left: 0 
2016-05-31 19:35:52.136347 I Display Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.136414 I Video Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.136531 I VOMX:3 SetVideoRect display=0,0,1920x1080 (1.77622) video=0,0,1920x1080 (1.77778) 
2016-05-31 19:35:52.205637 I Over/underscan. V: 0, H: 0 
2016-05-31 19:35:52.205687 I Snapping height to avoid scaling: height: 1080, top: 0 
2016-05-31 19:35:52.205706 I Snapping width to avoid scaling: width: 1920, left: 0 
2016-05-31 19:35:52.205747 I Display Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.205780 I Video Rect left: 0, top: 0, width: 1920, height: 1080, aspect: 1.77778 
2016-05-31 19:35:52.205960 I Player(0): LoadFilters(''..) -> 0x0 
2016-05-31 19:35:52.242865 I Player(0): Decoder thread starting. 
2016-05-31 19:35:52.259468 I OSD: Loaded window osd_message 
2016-05-31 19:35:52.272461 I OSD: Loaded window osd_input 
2016-05-31 19:35:52.304081 E MythFontProperties: Failed to load 'Liberation Sans', got 'DejaVu Sans' instead 
Location: /usr/share/mythtv/themes/Terra/osd.xml @ 119 
Name: 'timefont' Type: 'fontdef' 
2016-05-31 19:35:52.308133 I OSD: Loaded window program_info 
2016-05-31 19:35:52.325793 E MythFontProperties: Failed to load 'Liberation Sans', got 'DejaVu Sans' instead 
Location: /usr/share/mythtv/themes/Terra/osd.xml @ 247 
Name: 'timefont' Type: 'fontdef' 
2016-05-31 19:35:52.329043 I OSD: Loaded window browse_info 
2016-05-31 19:35:52.340911 I OSD: Loaded window osd_status 
2016-05-31 19:35:52.356016 I OSD: Loaded window osd_program_editor 
2016-05-31 19:35:52.394023 I OSD: Loaded window osd_debug 
2016-05-31 19:35:52.394120 I OSD: Loaded OSD: size 1920x1080 offset 0+0 
2016-05-31 19:35:52.394604 I OSD: Created window aa_OSD_SUBTITLES 
2016-05-31 19:35:52.394787 I Player(0): ClearAfterSeek(0) 
2016-05-31 19:35:52.396431 E X11 ModeLine query returned zeroes 
2016-05-31 19:35:52.396708 I VDP: GetFilteredDeint() : openmax -> 'openmaxadvanced' 
2016-05-31 19:35:52.396782 I VOMX:3 SetupDeinterlace switching on 'openmaxadvanced' 
2016-05-31 19:35:52.397203 I VSYNC: DRMVideoSync: Could not open device /dev/dri/card0, No such file or directory 
2016-05-31 19:35:52.397324 E VSYNC: RTCVideoSync: Could not open /dev/rtc: 
eno: No such file or directory (2) 
2016-05-31 19:35:52.398550 E X11 ModeLine query returned zeroes 
2016-05-31 19:35:52.398790 I Player(0): Video timing method: USleep with busy wait 
2016-05-31 19:35:52.398867 I Player(0): Display Refresh Rate: 59.941 Video Frame Rate: 29.970 
2016-05-31 19:35:52.398921 I Player(0): SetFrameInterval ps:1 scan:1 
2016-05-31 19:35:52.402965 I playCtx: StartPlaying(): took 0 ms to start player. 
2016-05-31 19:35:52.403052 I TV: Created player. 
2016-05-31 19:35:52.403146 I TV: StartPlayer(0, WatchingRecording, main) -- end ok 
2016-05-31 19:35:52.403280 I TV: Changing from None to WatchingRecording 
2016-05-31 19:35:52.442642 I TV: DrawUnusedRects() -- begin 
2016-05-31 19:35:52.442686 I TV: DrawUnusedRects() -- end 
2016-05-31 19:35:52.442857 I TV: Main UI disabled. 
2016-05-31 19:35:52.442885 I TV: HandleStateChange(0) -- end 
2016-05-31 19:35:52.443040 I TV: tv->Playback() -- end 
2016-05-31 19:35:52.443099 I TV: Entering main playback loop. 
2016-05-31 19:35:52.481832 I DOMX:2 SettingsChanged - begin 
2016-05-31 19:35:52.483807 I OMX:2 Port 131: output, bufs=2(1) bufsize=3133440 at 16 discontiguous, disabled, unpopulated 
2016-05-31 19:35:52.483963 I OMX:2 Port 131: video, w=1920 h=1080 stride=1920 sliceH=1088 bps=0 fps=29.97 compress=OMX_VIDEO_CodingUnused enc=OMX_COLOR_FormatYUV420PackedPlanar 
2016-05-31 19:35:52.484300 I DOMX:2 OMX_InterlaceFieldsInterleavedUpperFirst 
2016-05-31 19:35:52.484466 I DOMX:2 Pixel aspect x/y = 1/1 
2016-05-31 19:35:52.499934 I ScreenSaverX11Private: DPMS Deactivated 1 
2016-05-31 19:35:52.501348 I Player(0): Waiting for video buffers... 
2016-05-31 19:35:52.504373 I DOMX:2 SettingsChanged - end 
2016-05-31 19:35:52.504407 E AFD: Unknown decoding error 
2016-05-31 19:35:52.569794 I VDP: GetFilteredDeint() : openmax -> 'openmaxadvanced' 
2016-05-31 19:35:52.569854 I Player(0): Enabled deinterlacing 
2016-05-31 19:35:53.019851 I VideoOutput: Created YV12 OSD. 
2016-05-31 19:35:53.029279 I TV: DrawUnusedRects() -- begin 
2016-05-31 19:35:53.029310 I TV: DrawUnusedRects() -- end 
2016-05-31 19:35:53.033187 I TV: DrawUnusedRects() -- begin 
2016-05-31 19:35:53.033217 I TV: DrawUnusedRects() -- end 
2016-05-31 19:35:53.131675 I TV: DrawUnusedRects() -- begin 
2016-05-31 19:35:53.131711 I TV: DrawUnusedRects() -- end 
2016-05-31 19:35:53.171827 I Player(0): Video is 6.27117 frames behind audio (too slow), dropping frame to catch up. 
2016-05-31 19:35:53.189281 I Player(0): Video is 10.7273 frames behind audio (too slow), dropping frame to catch up. 

(snip.. it keeps generating messages about skipping frames, etc.) 




I scanned through all the list postings about Pi setup to verify my settings. The only one that differed in some posts was the number of CPU cores used for playback. I changed mine from 4 to 1, but that made no difference. 

I also installed Kodi on raspbian, as a sanity check on the hardware/software/network, and playback is perfect in Kodi with the mythtv.pvr add-on playback the same recordings in Kodi that didn’t play well in mythtv. I’m not sure where to go from here.. is there any way to get more debugging information out of OpenMax to narrow down the issue? 



Other things to check 
- GPU memory, must be at least 128MB, but try 256MB to see if that helps 
- Perhaps some other process is using CPU. Try running top from ssh while playing back and see if anything other than mythfrontend is using lots of CPU. 
- Is the mpeg2 license correctly installed? 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20160605/8b2f9770/attachment.html>


More information about the mythtv-users mailing list