mirror of
https://github.com/jojo61/vdr-plugin-softhdcuvid.git
synced 2023-10-10 13:37:41 +02:00
fixed interlaced playback
This commit is contained in:
parent
a01539cf8f
commit
38307c868f
8
codec.c
8
codec.c
@ -537,8 +537,14 @@ next_part:
|
|||||||
*/
|
*/
|
||||||
void CodecVideoFlushBuffers(VideoDecoder * decoder)
|
void CodecVideoFlushBuffers(VideoDecoder * decoder)
|
||||||
{
|
{
|
||||||
|
AVFrame *frame;
|
||||||
|
frame = decoder->Frame;
|
||||||
|
|
||||||
if (decoder->VideoCtx) {
|
if (decoder->VideoCtx) {
|
||||||
avcodec_flush_buffers(decoder->VideoCtx);
|
while (avcodec_receive_frame(decoder->VideoCtx,frame) >= 0) {
|
||||||
|
usleep(1);
|
||||||
|
}
|
||||||
|
// avcodec_flush_buffers(decoder->VideoCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1426,8 +1426,8 @@ static void VideoEnqueue(VideoStream * stream, int64_t pts, int64_t dts, const v
|
|||||||
|
|
||||||
if (avpkt->stream_index + size >= avpkt->size) {
|
if (avpkt->stream_index + size >= avpkt->size) {
|
||||||
|
|
||||||
Warning(_("video: packet buffer too small for %d\n"),
|
// Warning(_("video: packet buffer too small for %d\n"),
|
||||||
avpkt->stream_index + size);
|
// avpkt->stream_index + size);
|
||||||
|
|
||||||
// new + grow reserves FF_INPUT_BUFFER_PADDING_SIZE
|
// new + grow reserves FF_INPUT_BUFFER_PADDING_SIZE
|
||||||
av_grow_packet(avpkt, ((size + VIDEO_BUFFER_SIZE / 2)
|
av_grow_packet(avpkt, ((size + VIDEO_BUFFER_SIZE / 2)
|
||||||
@ -2624,7 +2624,7 @@ void Clear(void)
|
|||||||
// wait for empty buffers
|
// wait for empty buffers
|
||||||
// FIXME: without softstart sync VideoDecode isn't called.
|
// FIXME: without softstart sync VideoDecode isn't called.
|
||||||
for (i = 0; MyVideoStream->ClearBuffers && i < 20; ++i) {
|
for (i = 0; MyVideoStream->ClearBuffers && i < 20; ++i) {
|
||||||
usleep(1 * 1000);
|
usleep(1 * 100);
|
||||||
}
|
}
|
||||||
Debug(3, "[softhddev]%s: %dms buffers %d\n", __FUNCTION__, i,
|
Debug(3, "[softhddev]%s: %dms buffers %d\n", __FUNCTION__, i,
|
||||||
VideoGetBuffers(MyVideoStream));
|
VideoGetBuffers(MyVideoStream));
|
||||||
@ -2703,7 +2703,7 @@ void StillPicture(const uint8_t * data, int size)
|
|||||||
#ifdef STILL_DEBUG
|
#ifdef STILL_DEBUG
|
||||||
fprintf(stderr, "still-picture\n");
|
fprintf(stderr, "still-picture\n");
|
||||||
#endif
|
#endif
|
||||||
for (i = 0; i < (MyVideoStream->CodecID == AV_CODEC_ID_HEVC ? 8 : 10); ++i) {
|
for (i = 0; i < (MyVideoStream->CodecID == AV_CODEC_ID_HEVC ? 8 : 8); ++i) {
|
||||||
const uint8_t *split;
|
const uint8_t *split;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user