And... what exactly is the extradata? I can log it if I understand what it is. I mean, should I log it with %s? I'm waiting for a stream? a number?
On Sun, Jan 31, 2021 at 12:22 PM Vitor Dall'Acqua <[email protected]> wrote: > I notice the extradata byte missing but that's not the case, I believe, > because > 1. it's a different file (couldn't get Kodi to load the playlist for the > background menu video) > 2. I see that this value changes from video to video. > > Now that I got it to actually request the configure method to the decoder > this is the output from the logcat: > > 01-31 12:52:05.099 2467 2814 I OMXClient: IOmx service obtained > 01-31 12:52:05.099 19053 19062 I OMXMaster: > makeComponentInstance(OMX.Nvidia.h265.encoder) in [email protected] process > 01-31 12:52:05.133 3365 3365 D SurfaceFlinger: duplicate layer name: > changing SurfaceView - org.xbmc.kodi19DV/org.xbmc.kodi19DV.Main to > SurfaceView - org.xbmc.kodi19DV/org.xbmc.kodi19DV.Main#1 > 01-31 12:52:05.134 3365 3365 D SurfaceFlinger: duplicate layer name: > changing Background for -SurfaceView - > org.xbmc.kodi19DV/org.xbmc.kodi19DV.Main to Background for -SurfaceView - > org.xbmc.kodi19DV/org.xbmc.kodi19DV.Main#1 > 01-31 12:52:05.167 2467 2467 D XBMCVideoPlayView: Created > 01-31 12:52:05.167 2467 2467 D XBMCVideoPlayView: Changed, format:-2, > width:1920, height:1080 > 01-31 12:52:05.168 2467 2654 D Kodi : 2021-01-31 12:52:05.168 T:2654 > DEBUG <general>: CDVDVideoCodecAndroidMediaCodec::InjectExtraData > 01-31 12:52:05.168 2467 2654 D XBMCVideoPlayView: getSurface() = > Surface(name=null)/@0x2c84213 > 01-31 12:52:05.171 2467 2813 D SurfaceUtils: connecting to surface > 0x294e2f9010, reason connectToSurface > 01-31 12:52:05.171 2467 2813 I MediaCodec: [OMX.Nvidia.h265.encoder] > setting surface generation to 2526213 > 01-31 12:52:05.171 2467 2813 D SurfaceUtils: disconnecting from surface > 0x294e2f9010, reason connectToSurface(reconnect) > 01-31 12:52:05.172 2467 2813 D SurfaceUtils: connecting to surface > 0x294e2f9010, reason connectToSurface(reconnect) > 01-31 12:52:05.172 19053 19062 E OMXNodeInstance: > setParameter(0x46927a80:Nvidia.h265.encoder, > ParamStandardComponentRole(0x1000017)) ERROR: UnsupportedSetting(0x80001019) > 01-31 12:52:05.173 2467 2814 W ACodec : [OMX.Nvidia.h265.encoder] > Failed to set standard component role 'video_decoder.hevc'. > 01-31 12:52:05.173 2467 2814 E ACodec : [OMX.Nvidia.h265.encoder] > configureCodec returning error -1010 > 01-31 12:52:05.173 2467 2814 E ACodec : signalError(omxError > 0x80001001, internalError -1010) > 01-31 12:52:05.173 2467 2813 E MediaCodec: Codec reported err > 0xfffffc0e, actionCode 0, while in state 3 > 01-31 12:52:05.173 2467 2813 D SurfaceUtils: disconnecting from surface > 0x294e2f9010, reason disconnectFromSurface > 01-31 12:52:05.173 2467 2654 E MediaCodec: configure failed with err > 0xfffffc0e, resetting... > 01-31 12:52:05.176 2467 2814 I OMXClient: IOmx service obtained > 01-31 12:52:05.176 19053 19062 I OMXMaster: > makeComponentInstance(OMX.Nvidia.h265.encoder) in [email protected] process > 01-31 12:52:05.178 2467 2654 E Kodi : 2021-01-31 12:52:05.178 T:2654 > ERROR <general>: CDVDVideoCodecAndroidMediaCodec::ConfigureMediaCodec: > configure failed > > android works as a blackbox so send to the decoder, and the decoder will > play. > > On Sun, Jan 31, 2021 at 12:14 PM Petri Hintukainen < > [email protected]> wrote: > >> su, 2021-01-31 kello 11:06 -0300, Vitor Dall'Acqua kirjoitti: >> > Already tested your latest commits, Petri. Much faster and the logs >> > are much cleaner. Thank you. >> >> I wrote those changes long time ago, but I didn't notice any measurable >> speedup (not even when playing .iso over SMB). I guess the difference >> is you're not using mounted filesystem, so you don't have any OS level >> caching. >> >> > I'm still working my way with the hardware rendering. >> > Sadly I can't debug this on windows with visual studio, >> > bitstreamconverter isn't used neither androidmediacodec obviously. >> > So, I'm back at changing things with a notepad, compiling and >> > testing. >> > >> > >> > Here is a log of how the m2ts stream played from a playlist should >> > work: >> > 2021-01-31 10:45:20.913 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open hints: Width 3840 x Height >> > 2160, Fpsrate 24000 / Fpsscale 1001, CodecID 173, Level 153, Profile >> > 2, PTS_invalid 0, Tag 1447904328, Extradata-Size: 115 >> > 2021-01-31 10:45:20.913 T:19521 INFO <general>: >> > CBitstreamConverter::Open Invalid hvcC >> > 2021-01-31 10:45:20.913 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.mp2.decoder >> > 2021-01-31 10:45:20.917 T:13323 INFO <general>: [WHITELIST] >> > Searching the whitelist for: width: 3840, height: 2160, fps: 23.976, >> > 3D: false >> > 2021-01-31 10:45:20.917 T:13323 DEBUG <general>: [WHITELIST] Using >> > the default whitelist because the user whitelist is empty >> > 2021-01-31 10:45:20.919 T:13323 DEBUG <general>: [WHITELIST] >> > Searching for an exact resolution with an exact refresh rate >> > 2021-01-31 10:45:20.920 T:13323 DEBUG <general>: [WHITELIST] >> > Matched an exact resolution with an exact refresh rate 3840x2160 @ >> > 23.976025 - Full Screen (27) >> > 2021-01-31 10:45:20.920 T:13323 INFO <general>: Display resolution >> > ADJUST : 3840x2160 @ 23.976025 - Full Screen (27) (weight: 0.000) >> > 2021-01-31 10:45:20.924 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.wma.decoder >> > 2021-01-31 10:45:20.924 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.h264.decode >> > 2021-01-31 10:45:20.925 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.DOVI.decode >> > 2021-01-31 10:45:20.925 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.h263.decode >> > 2021-01-31 10:45:20.926 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open Testing >> > codec:OMX.Nvidia.h265.decode >> > 2021-01-31 10:45:20.927 T:13332 DEBUG <general>: Could not acquire >> > timestamp >> > 2021-01-31 10:45:21.073 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open >> > m_codecname(OMX.Nvidia.h265.decode), colorFormat(2135033992) >> > 2021-01-31 10:45:21.073 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open >> > m_codecname(OMX.Nvidia.h265.decode), colorFormat(21) >> > 2021-01-31 10:45:21.163 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::InjectExtraData >> > 2021-01-31 10:45:21.220 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec:: width(3840), height(2160), >> > stride(0), slice-height(0), color-format(0) >> > 2021-01-31 10:45:21.220 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec:: crop-left(0), crop-top(0), crop- >> > right(3839), crop-bottom(2159) >> > 2021-01-31 10:45:21.220 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec:: Multi-Surface Rendering >> > 2021-01-31 10:45:21.220 T:19521 INFO <general>: >> > CDVDVideoCodecAndroidMediaCodec:: Open Android MediaCodec >> > OMX.Nvidia.h265.decode >> > 2021-01-31 10:45:21.220 T:19521 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::UpdateFpsDuration fpsRate:24000 >> > fpsscale:1001, fpsDur:41708 >> > 2021-01-31 10:45:21.221 T:19521 DEBUG <general>: >> > CVideoPlayerVideo::OpenStream - open stream with codec id: 173 >> > >> > and this is how it works during a menu: >> > >> > >> > 2021-01-31 10:33:58.032 T:13409 INFO <general>: >> > ffmpeg[0x2965bbd040X]: Duration: N/A, start: 600.000000, bitrate: >> > N/A >> > 2021-01-31 10:33:58.032 T:13409 INFO <general>: >> > ffmpeg[0x2965bbd040X]: Program 1 >> > 2021-01-31 10:33:58.033 T:13409 INFO <general>: >> > ffmpeg[0x2965bbd040X]: Stream #0:0[0x1011]: Video: hevc (Main 10) >> > (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), >> > 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 >> > tbc >> > 2021-01-31 10:33:58.033 T:13409 DEBUG <general>: >> > CDVDDemuxFFmpeg::AddStream ID: 0 >> > 2021-01-31 10:33:58.033 T:13409 INFO <general>: Opening stream: 0 >> > source: 256 >> > 2021-01-31 10:33:58.033 T:13409 INFO <general>: [WHITELIST] >> > Searching the whitelist for: width: 3840, height: 2160, fps: 23.976, >> > 3D: false >> > 2021-01-31 10:33:58.033 T:13409 DEBUG <general>: [WHITELIST] Using >> > the default whitelist because the user whitelist is empty >> > 2021-01-31 10:33:58.034 T:13409 DEBUG <general>: [WHITELIST] >> > Searching for an exact resolution with an exact refresh rate >> > 2021-01-31 10:33:58.034 T:13409 DEBUG <general>: [WHITELIST] >> > Matched an exact resolution with an exact refresh rate 3840x2160 @ >> > 23.976025 - Full Screen (27) >> > 2021-01-31 10:33:58.034 T:13409 INFO <general>: Display resolution >> > ADJUST : 3840x2160 @ 23.976025 - Full Screen (27) (weight: 0.000) >> > 2021-01-31 10:33:58.069 T:13409 INFO <general>: Creating video >> > codec with codec id: 173 >> > 2021-01-31 10:33:58.071 T:13409 DEBUG <general>: >> > CDVDVideoCodecAndroidMediaCodec::Open hints: Width 3840 x Height >> > 2160, Fpsrate 24000 / Fpsscale 1001, CodecID 173, Level 153, Profile >> > 2, PTS_invalid 0, Tag 1447904328, Extradata-Size: 114 >> > 2021-01-31 10:33:58.071 T:13409 INFO <general>: >> > CBitstreamConverter::Open Invalid hvcC >> > 2021-01-31 10:33:58.073 T:13409 ERROR <general>: >> > CDVDVideoCodecAndroidMediaCodec:: Failed to create Android MediaCodec >> > 2021-01-31 10:33:58.074 T:13409 INFO <general>: >> > CDVDVideoCodecFFmpeg::Open() Using codec: HEVC (High Efficiency Video >> > Coding) >> > 2021-01-31 10:33:58.074 T:13409 DEBUG <general>: >> > CDVDVideoCodecFFmpeg - Updated codec: ff-hevc >> > 2021-01-31 10:33:58.074 T:13409 DEBUG <general>: >> > CVideoPlayerVideo::OpenStream - open stream with codec id: 173 >> > >> > It's not the exact same stream but you get the idea. >> > It is failing to use the nvidia decoder: OMX.Nvidia.h265.decode and >> > using ffmpeg as software rendering. >> > >> > >> > >> https://github.com/xbmc/xbmc/blob/c01b0f5778c7397325e29238a861d8dc62289e2b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecAndroidMediaCodec.cpp >> > >> > removing the goto fail results in crash. >> > basically it is failing to get m_codec. >> > >> > But as you can see the invalid hvcC isn't the problem. It must be >> > something in this decoder instructions. >> >> In some of the older logs it looks like codec extradata is missing when >> opening the codec ? >> And, in this log, there is one byte difference in extradata size. >> >> Maybe you could log extradata size and few first bytes in >> InjectExtradata() ? >> >> >> _______________________________________________ >> libbluray-devel mailing list >> [email protected] >> https://mailman.videolan.org/listinfo/libbluray-devel >> >
_______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
