]> git.pld-linux.org Git - packages/cinelerra-cv.git/blame - cinelerra-cv-ffmpeg.patch
- ffmpeg-devel >= 0.7.1 required
[packages/cinelerra-cv.git] / cinelerra-cv-ffmpeg.patch
CommitLineData
addf3906 1Fix build with ffmpeg/libav trunk / 0.7
2
3Index: cinelerra-20101104/cinelerra/ffmpeg.C
4===================================================================
5--- cinelerra-20101104.orig/cinelerra/ffmpeg.C
6+++ cinelerra-20101104/cinelerra/ffmpeg.C
7@@ -364,12 +364,15 @@ int FFMPEG::decode(uint8_t *data, long d
8
9 // NOTE: frame must already have data space allocated
10
11+ AVPacket pkt;
12 got_picture = 0;
13- int length = avcodec_decode_video(context,
14+ av_init_packet( &pkt );
15+ pkt.data = data;
16+ pkt.size = data_size;
17+ int length = avcodec_decode_video2(context,
18 picture,
19 &got_picture,
20- data,
21- data_size);
22+ &pkt);
23
24 if (length < 0) {
25 printf("FFMPEG::decode error decoding frame\n");
26Index: cinelerra-20101104/quicktime/qtffmpeg.c
27===================================================================
28--- cinelerra-20101104.orig/quicktime/qtffmpeg.c
29+++ cinelerra-20101104/quicktime/qtffmpeg.c
30@@ -181,6 +181,7 @@ static int decode_wrapper(quicktime_t *f
31
32 if(!result)
33 {
34+ AVPacket pkt;
35
36
37 // No way to determine if there was an error based on nonzero status.
38@@ -189,11 +190,13 @@ static int decode_wrapper(quicktime_t *f
39 ffmpeg->decoder_context[current_field]->skip_frame = AVDISCARD_NONREF /* AVDISCARD_BIDIR */;
40 else
41 ffmpeg->decoder_context[current_field]->skip_frame = AVDISCARD_DEFAULT;
42- result = avcodec_decode_video(ffmpeg->decoder_context[current_field],
43+ av_init_packet( &pkt );
44+ pkt.data = ffmpeg->work_buffer;
45+ pkt.size = bytes + header_bytes;
46+ result = avcodec_decode_video2(ffmpeg->decoder_context[current_field],
47 &ffmpeg->picture[current_field],
48 &got_picture,
49- ffmpeg->work_buffer,
50- bytes + header_bytes);
51+ &pkt);
52
53
54
55Index: cinelerra-20101104/quicktime/wma.c
56===================================================================
57--- cinelerra-20101104.orig/quicktime/wma.c
58+++ cinelerra-20101104/quicktime/wma.c
59@@ -195,11 +195,14 @@ printf("decode 2 %x %llx %llx\n", chunk_
60 chunk_size);
61 #else
62 bytes_decoded = AVCODEC_MAX_AUDIO_FRAME_SIZE;
63- result = avcodec_decode_audio2(codec->decoder_context,
64+ AVPacket pkt;
65+ av_init_packet( &pkt );
66+ pkt.data = codec->packet_buffer;
67+ pkt.size = chunk_size;
68+ result = avcodec_decode_audio3(codec->decoder_context,
69 (int16_t*)(codec->work_buffer + codec->output_size * sample_size),
70 &bytes_decoded,
71- codec->packet_buffer,
72- chunk_size);
73+ &pkt);
74 #endif
75
76 pthread_mutex_unlock(&ffmpeg_lock);
This page took 0.040248 seconds and 4 git commands to generate.