From 93357fb1cd6095988721052185d70161d1fc2e79 Mon Sep 17 00:00:00 2001 From: Johns Date: Wed, 24 Jul 2013 20:06:05 +0200 Subject: [PATCH] Add compile time selectable h264 trickspeed workaround. --- ChangeLog | 1 + Makefile | 1 + Todo | 1 + softhddev.c | 6 +++--- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 44ed081..e4167e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ User johns Date: + Add compile time selectable h264 trickspeed workaround. Use ffmpeg new names AVCodecID, AV_CODEC_... . Fix bug: video lagging behind after recording stop. Reduce PES error messages. diff --git a/Makefile b/Makefile index 3d77fd6..5a9af40 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,7 @@ CONFIG += -DUSE_PIP # PIP support #CONFIG += -DNO_TS_AUDIO # disable ts audio parser #CONFIG += -DUSE_TS_VIDEO # build new ts video parser #CONFIG += -DUSE_MPEG_COMPLETE # support only complete mpeg packets +#CONFIG += -DH264_EOS_TRICKSPEED # insert seq end packets for trickspeed CONFIG += -DUSE_VDR_SPU # use VDR SPU decoder. #CONFIG += -DUSE_SOFTLIMIT # (tobe removed) limit the buffer fill diff --git a/Todo b/Todo index 725a264..863de11 100644 --- a/Todo +++ b/Todo @@ -44,6 +44,7 @@ video: crash with ffmpeg without vaapi and vdpau. still-picture of PES recordings should use VideoMpegEnqueue. convert PIX_FMT_... PixelFormat to new names AV_PIX_FMT_..., AVPixelFormat. + atmo service support 3D grab vdpau: software deinterlace path not working. diff --git a/softhddev.c b/softhddev.c index 1eefc82..efbbed8 100644 --- a/softhddev.c +++ b/softhddev.c @@ -2224,7 +2224,7 @@ int PlayVideo3(VideoStream * stream, const uint8_t * data, int size) && check[1] == 0x09 && !check[3] && !check[4]) { // old PES HDTV recording z == 2 -> stronger check! if (stream->CodecID == AV_CODEC_ID_H264) { -#if 0 +#ifdef H264_EOS_TRICKSPEED // this should improve ffwd+frew, but produce crash in ffmpeg // with some streams if (stream->TrickSpeed && pts != (int64_t) AV_NOPTS_VALUE) { @@ -2235,8 +2235,8 @@ int PlayVideo3(VideoStream * stream, const uint8_t * data, int size) // 1-5=SLICE 6=SEI 7=SPS 8=PPS // NAL SPS sequence parameter set if ((check[7] & 0x1F) == 0x07) { - VideoNextPacket(AV_CODEC_ID_H264); - VideoEnqueue(AV_NOPTS_VALUE, seq_end_h264, + VideoNextPacket(stream, AV_CODEC_ID_H264); + VideoEnqueue(stream, AV_NOPTS_VALUE, seq_end_h264, sizeof(seq_end_h264)); } }