2012-01-05, 18:02
overflowed Wrote:Thanks robclark, i merged your get additions to my git based on opdenkamps and sd and hd video playback seems to work very well.
I have just two issues, first one is, when i seek the framerate is dropping down for a few seconds to around 3-5fps. This also happens when starting video.
yeah, there are some seek issues.. I'm still trying to figure out how to handle that in a sane way.
The issue is that, since the way dvdplayer uses gst, decoding is happening in a different thread, if I don't do anything we end up feeding in 20-30+ input frames before we start getting output frames. And then later when we seek or pause, it takes ~1sec for video to react.
Recently I've begun experimenting with trying to throttle/flowcontrol things a bit, but it still sometimes gets in a mode where video rendering starts getting late and dropping frames (I think?)
overflowed Wrote:The second one is a little bit stranger, when watching live TV i see four rectangles, the tv image two times on the left side and on the right side two times streched lines:
The top/bottom looking image appears to be interlaced video. I've not worked out how to render interlaced video. Possibly there is some shader tricks that could be employed.
The junk around the outside appears that the buffer is not being cropped. Normally the codec uses buffers that are a bit oversized to deal with cases where reference frames have some block/macroblock content that is moved beyond the visible edge of the picture and back in a future frame. I added some logic in gles2 linux renderer class to deal with the cropping but maybe it is getting reset in some cases?
overflowed Wrote:Something similar i noticed when watching airplay videos.
The debug log says:
15:41:06 T:1350562880 DEBUG: CDVDPlayer::HandleMessages - player started 1
15:41:06 T:1330385984 WARNING: CDVDMessageQueue(video)::Get - asked for new data packet, with nothing available
15:41:06 T:1330385984 NOTICE: fps: 0,000000, pwidth: 720, pheight: 576, dwidth: 1024, dheight: 576
15:41:06 T:1330385984 DEBUG: OutputPicture - change configuration. 720x576. framerate: 0,00. format: EGLIMG
15:41:06 T:1103745568 NOTICE: Using GL_TEXTURE_2D
15:41:06 T:1103745568 DEBUG: GL: Requested render method: 0
15:41:06 T:1103745568 DEBUG: Shader - Loading shader file yuv2rgb_vertex_egl_image_external_gles.glsl
15:41:06 T:1103745568 DEBUG: Shader - Loading shader file yuv2rgb_egl_image_external_gles.glsl
15:41:06 T:1103745568 NOTICE: GL: Selecting eglImage shader
15:41:06 T:1103745568 DEBUG: GL: Vertex Shader compilation log:
15:41:06 T:1103745568 DEBUG: Success.
i think dheight should be 768? I am unsure if this is gstreamer related, but without gst it was fine.
Any suggestions? don't even know where to have a look.