projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update about text, fix timeline update using open edit nested edl
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
ffmpeg.C
diff --git
a/cinelerra-5.1/cinelerra/ffmpeg.C
b/cinelerra-5.1/cinelerra/ffmpeg.C
index 58d280c00edf60315dd93d383e05196d9ee04a49..493be6abeace4e55e9eac4177964649a63c6fc2e 100644
(file)
--- a/
cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/
cinelerra-5.1/cinelerra/ffmpeg.C
@@
-428,14
+428,14
@@
int FFStream::decode_activate()
avctx->thread_count = ffmpeg->ff_cpus();
ret = avcodec_open2(avctx, decoder, &copts);
}
avctx->thread_count = ffmpeg->ff_cpus();
ret = avcodec_open2(avctx, decoder, &copts);
}
+ AVFrame *hw_frame = 0;
if( ret >= 0 && hw_type != AV_HWDEVICE_TYPE_NONE ) {
if( ret >= 0 && hw_type != AV_HWDEVICE_TYPE_NONE ) {
- AVFrame *frame = av_frame_alloc();
- if( !frame ) {
+ if( !(hw_frame=av_frame_alloc()) ) {
fprintf(stderr, "FFStream::decode_activate: av_frame_alloc failed\n");
ret = AVERROR(ENOMEM);
}
if( ret >= 0 )
fprintf(stderr, "FFStream::decode_activate: av_frame_alloc failed\n");
ret = AVERROR(ENOMEM);
}
if( ret >= 0 )
- ret = decode(frame);
+ ret = decode(
hw_
frame);
}
if( ret < 0 && hw_type != AV_HWDEVICE_TYPE_NONE ) {
ff_err(ret, "HW device init failed, using SW decode.\nfile:%s\n",
}
if( ret < 0 && hw_type != AV_HWDEVICE_TYPE_NONE ) {
ff_err(ret, "HW device init failed, using SW decode.\nfile:%s\n",
@@
-444,7
+444,7
@@
int FFStream::decode_activate()
avcodec_free_context(&avctx);
av_buffer_unref(&hw_device_ctx);
hw_device_ctx = 0;
avcodec_free_context(&avctx);
av_buffer_unref(&hw_device_ctx);
hw_device_ctx = 0;
- av_frame_free(&frame);
+ av_frame_free(&
hw_
frame);
hw_type = AV_HWDEVICE_TYPE_NONE;
int flags = AVSEEK_FLAG_BACKWARD | AVSEEK_FLAG_ANY;
int idx = st->index;
hw_type = AV_HWDEVICE_TYPE_NONE;
int flags = AVSEEK_FLAG_BACKWARD | AVSEEK_FLAG_ANY;
int idx = st->index;
@@
-454,7
+454,7
@@
int FFStream::decode_activate()
ret = 0;
continue;
}
ret = 0;
continue;
}
- probe_frame = frame;
+ probe_frame =
hw_
frame;
if( ret >= 0 )
reading = 1;
else
if( ret >= 0 )
reading = 1;
else