mirror of
https://github.com/jojo61/vdr-plugin-softhdcuvid.git
synced 2025-03-01 10:39:28 +00:00
Cleanup of broken mpeg fix
This commit is contained in:
parent
7a31761c89
commit
f741dff042
5
codec.c
5
codec.c
@ -490,7 +490,7 @@ void CodecVideoDecode(VideoDecoder *decoder, const AVPacket *avpkt) {
|
|||||||
decoder->filter = 2;
|
decoder->filter = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (decoder->filter == 2 && (frame->height != 720)) { // broken ZDF sends Interlaced flag
|
if (decoder->filter == 2) {
|
||||||
push_filters(video_ctx, decoder->HwDecoder, frame);
|
push_filters(video_ctx, decoder->HwDecoder, frame);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -561,8 +561,7 @@ next_part:
|
|||||||
decoder->filter = 2;
|
decoder->filter = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (frame->interlaced_frame && decoder->filter == 2 &&
|
if (decoder->filter == 2)) {
|
||||||
(frame->height != 720)) { // broken ZDF sends Interlaced flag
|
|
||||||
ret = push_filters(video_ctx, decoder->HwDecoder, frame);
|
ret = push_filters(video_ctx, decoder->HwDecoder, frame);
|
||||||
// av_frame_unref(frame);
|
// av_frame_unref(frame);
|
||||||
continue;
|
continue;
|
||||||
|
4
video.c
4
video.c
@ -2691,8 +2691,6 @@ int push_filters(AVCodecContext *dec_ctx, CuvidDecoder *decoder, AVFrame *frame)
|
|||||||
while ((ret = av_buffersink_get_frame(decoder->buffersink_ctx, filt_frame)) >= 0) {
|
while ((ret = av_buffersink_get_frame(decoder->buffersink_ctx, filt_frame)) >= 0) {
|
||||||
filt_frame->pts /= 2;
|
filt_frame->pts /= 2;
|
||||||
decoder->Interlaced = 0;
|
decoder->Interlaced = 0;
|
||||||
// printf("vaapideint video:new %#012" PRIx64 " old %#012" PRIx64
|
|
||||||
// "\n",filt_frame->pts,frame->pts);
|
|
||||||
CuvidSyncRenderFrame(decoder, dec_ctx, filt_frame);
|
CuvidSyncRenderFrame(decoder, dec_ctx, filt_frame);
|
||||||
filt_frame = av_frame_alloc(); // get new frame
|
filt_frame = av_frame_alloc(); // get new frame
|
||||||
}
|
}
|
||||||
@ -2981,7 +2979,7 @@ static enum AVPixelFormat Cuvid_get_format(CuvidDecoder *decoder, AVCodecContext
|
|||||||
CuvidUpdateOutput(decoder); // update aspect/scaling
|
CuvidUpdateOutput(decoder); // update aspect/scaling
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef YADIF
|
#if defined YADIF && defined CUVID
|
||||||
if (VideoDeinterlace[decoder->Resolution] == VideoDeinterlaceYadif) {
|
if (VideoDeinterlace[decoder->Resolution] == VideoDeinterlaceYadif) {
|
||||||
deint = 0;
|
deint = 0;
|
||||||
ist->filter = 1; // init yadif_cuda
|
ist->filter = 1; // init yadif_cuda
|
||||||
|
Loading…
x
Reference in New Issue
Block a user