Anton Khirnov
3e175a2a55
avconv: mark attachment streams as immediately finished
...
There are never any packets for those streams.
Fixes an infinite loop with -attach.
2013-03-15 08:59:27 +01:00
Anton Khirnov
fce68c9355
pthread: unref the decoded but not returned frames on close.
...
Fixes memleaks when frame mt is used and the decoder is not flushed at
the end.
2013-03-11 18:30:35 +01:00
Anton Khirnov
555000c7d5
h264: check that DPB is allocated before accessing it in flush_dpb()
2013-03-11 18:30:31 +01:00
Anton Khirnov
d0a863ac89
vf_hqdn3d: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Anton Khirnov
887d31d455
vf_gradfun: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:34 +01:00
Anton Khirnov
c2597c5a0a
h264_refs: cosmetics, reformat
2013-03-11 18:24:56 +01:00
Anton Khirnov
f08fefc4d0
h264: remove a useless svq3 condition
...
The svq3 decoder does not call ff_h264_frame_start() anymore.
2013-03-11 18:24:36 +01:00
Anton Khirnov
07054015cf
mpegvideo: remove FMT_H264
2013-03-11 18:24:25 +01:00
Anton Khirnov
ee8704916d
mpegvideo: reindent
2013-03-11 18:24:16 +01:00
Anton Khirnov
19cac8e301
mpegvideo: remove useless references to h264 and svq3
...
The h264 decoder does not use mpegvideo anymore. The svq3 decoder only
uses ff_draw_horiz_band().
2013-03-11 18:24:06 +01:00
Anton Khirnov
85a5bc054c
lavf: remove disabled FF_API_R_FRAME_RATE cruft
2013-03-11 18:23:50 +01:00
Anton Khirnov
7b486ab13b
lavf: remove disabled FF_API_AV_GETTIME cruft
2013-03-11 18:23:18 +01:00
Anton Khirnov
32e5194969
lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft
2013-03-11 18:23:10 +01:00
Anton Khirnov
435c2a31ad
lavf: remove disabled FF_API_READ_PACKET cruft
2013-03-11 18:23:02 +01:00
Anton Khirnov
c7e044c61b
lavf: remove disabled FF_API_APPLEHTTP_PROTO cruft
2013-03-11 18:22:54 +01:00
Anton Khirnov
0a7c4daf46
lavf: remove disabled FF_API_CLOSE_INPUT_FILE cruft
2013-03-11 18:22:45 +01:00
Anton Khirnov
d6ed604cf4
lavc: remove disabled FF_API_IDCT cruft
2013-03-11 18:22:37 +01:00
Anton Khirnov
3bcdf8dcb9
lavc: remove disabled FF_API_SNOW cruft
2013-03-11 18:22:26 +01:00
Anton Khirnov
fcb07e8b33
lavc: remove disabled FF_API_MMI cruft
2013-03-11 18:22:18 +01:00
Anton Khirnov
de27d2b92f
lavc: remove disabled FF_API_LIBMPEG2 cruft
2013-03-11 18:21:54 +01:00
Anton Khirnov
0517c9e098
lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft
2013-03-11 18:21:32 +01:00
Anton Khirnov
669cc0f364
lavc: fix get_buffer() compatibility layer for audio.
...
planes - FF_ARRAY_ELEMS would be evaluated as unsigned and underflow
instead of being negative as was intended.
2013-03-10 22:19:52 +01:00
Anton Khirnov
98cec5c84f
ratecontrol: remove an unused variable
2013-03-10 22:19:52 +01:00
Anton Khirnov
e2c2974120
vorbisdec: do not leak the first frame.
2013-03-10 22:16:26 +01:00
Anton Khirnov
adfa53d67c
lavc: remove disabled FF_API_VDA_ASYNC cruft
2013-03-09 08:37:11 +01:00
Anton Khirnov
bdd1567c35
lavc: remove disabled FF_API_CODEC_ID cruft
2013-03-09 08:37:08 +01:00
Anton Khirnov
7d42fd6bb9
lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
845017105f
lavc: remove disabled FF_API_DSP_MASK cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
d03a94e2b7
lavc: remove disabled FF_API_SUB_ID cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
2a11369523
lavc: remove disabled FF_API_INTER_THRESHOLD cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
9d6cf81f02
lavc: remove disabled FF_API_COLOR_TABLE_ID cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
3b0f586f07
lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
0f24a3ca99
lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
f073b1500e
lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
5d606863c3
lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft
2013-03-09 08:36:40 +01:00
Anton Khirnov
6327c10702
atomic: fix CAS with armcc.
...
On the current code, armcc will fail with:
"libavutil/atomic_gcc.h", line 52: Error: #2771 : first argument must be
a pointer to integer or enumeration type
2013-03-09 08:36:40 +01:00
Anton Khirnov
e7553f4c78
avconv: do not silently ignore unused codec AVOptions.
...
Print an error and abort when the option is of the wrong type (decoding
for output file or vice versa), since this could never be correct for
any input or output configuration.
Print a warning and continue when the option is of the correct type,
just unused, so same commandlines can be reused for different kinds of
input or output files.
2013-03-08 14:15:51 +01:00
Anton Khirnov
db2d65ce1e
avconv: fix a typo
2013-03-08 14:14:25 +01:00
Anton Khirnov
64bfc3e205
FATE: replace -vb with -b:v
...
The -{vas}<option> syntax is now obsolete and deprecated, and has never
been documented or encouraged.
2013-03-08 14:14:17 +01:00
Anton Khirnov
6deae8e053
FATE: remove the -dct option from some decoding tests.
...
It is an encoding option, it has no effect when applied to decoding.
2013-03-08 14:14:05 +01:00
Anton Khirnov
41d2008b15
avconv: use a local variable for InputFile in open_input_file().
...
This is shorter and more readable.
2013-03-08 14:13:46 +01:00
Anton Khirnov
1da54e908e
avconv: use a local variable for OutputFile in open_output_file().
...
This is shorter and more readable.
2013-03-08 14:13:39 +01:00
Anton Khirnov
9d3009c6c4
avconv: print an error on applying options of the wrong type.
...
I.e. input options to output files or vice versa.
2013-03-08 14:12:43 +01:00
Anton Khirnov
7c45087b84
lavc: update the fallback versions of ff_thread_*
...
Fixes build without threads after
759001c534 .
2013-03-08 10:22:10 +01:00
Anton Khirnov
f86d66bcfa
vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
...
CC:libav-stable@libav.org
2013-03-08 08:12:41 +01:00
Anton Khirnov
4c0080b7e7
wmaprodec: return an error, not 0, when the input is too small.
...
Returning 0 may result in an infinite loop in valid calling programs. A
decoder should never return 0 without producing any output.
CC:libav-stable@libav.org
2013-03-08 08:12:26 +01:00
Anton Khirnov
cacad1c058
wmaprodec: require block_align to be set.
...
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.
CC:libav-stable@libav.org
2013-03-08 08:12:16 +01:00
Anton Khirnov
ea1136baaf
wmadec: require block_align to be set.
...
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.
CC:libav-stable@libav.org
2013-03-08 08:12:03 +01:00
Anton Khirnov
3ba40ebb6c
ivi_common: do not call MC for intra frames when dc_transform is unset
...
CC:libav-stable@libav.org
2013-03-08 08:11:46 +01:00
Anton Khirnov
3e2f200237
roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
...
When there is just 1 byte remanining in the buffer, nothing will be read
and the loop will continue forever. Check that there are at least 8
bytes, which are always read at the beginning.
CC:libav-stable@libav.org
2013-03-08 08:11:35 +01:00
Anton Khirnov
8a49d2bcbe
xxan: fix invalid memory access in xan_decode_frame_type0()
...
The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.
CC:libav-stable@libav.org
2013-03-08 08:11:22 +01:00
Anton Khirnov
6c7d339afc
tty: set avg_frame_rate.
...
The container does not store any timestamps and is CFR-only.
2013-03-08 08:11:05 +01:00
Anton Khirnov
bde48aa92d
FATE: enable multiple slices in the ffv1 vsynth test
...
This allows us to test the slice threading code.
2013-03-08 08:10:52 +01:00
Anton Khirnov
d243896987
ffv1: fix calculating slice dimensions for version 2
...
It got broken in 0f13cd3187 .
CC:libav-stable@libav.org
2013-03-08 08:10:02 +01:00
Anton Khirnov
7b89cd20d8
eamad: allocate a dummy reference frame when the real one is missing
...
CC:libav-stable@libav.org
2013-03-08 08:09:51 +01:00
Anton Khirnov
0651e892e1
Replace remaining includes of audioconvert.h with channel_layout.h
2013-03-08 07:42:13 +01:00
Anton Khirnov
542b83fc90
Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.
2013-03-08 07:42:09 +01:00
Anton Khirnov
d8b31be6ca
Add the bumps and APIchanges entries for reference counted buffers changes.
2013-03-08 07:41:49 +01:00
Anton Khirnov
8df23e938b
lavc: postpone the removal of request_channels API.
...
Its replacement is still not ready.
2013-03-08 07:41:42 +01:00
Anton Khirnov
1296b1f6c0
AVFrame: deprecate all now unused fields
2013-03-08 07:41:21 +01:00
Anton Khirnov
ddcca4ba07
lavc: stop setting AVFrame.motion_subsample_log2
...
It is not used inside lavc anywhere and now it makes no sense to export
it.
2013-03-08 07:41:14 +01:00
Anton Khirnov
e7bbfc4242
avserver: don't set deprecated options.
2013-03-08 07:41:07 +01:00
Anton Khirnov
354468fc12
avplay: switch to new refcounted frames API
...
Remove now unused cmdutils get_buffer() implementation.
2013-03-08 07:40:59 +01:00
Anton Khirnov
9b2dc29534
avconv: convert to new refcounted AVFrame API
2013-03-08 07:40:50 +01:00
Anton Khirnov
37045e4229
mpegvideo: drop vismv code
...
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
2013-03-08 07:40:41 +01:00
Anton Khirnov
2eba9087f3
lavc: make up a fake frame channel layout when there is no real one.
...
This should ensure that a valid channel layout is always set on a frame,
until a better solution is implemented.
2013-03-08 07:40:06 +01:00
Anton Khirnov
192f1984b1
lavc: limit maximum number of channels to 63
...
This is the most that can be represented with the current channel layout
system. This limit should be raised/removed when a better system is
implemented.
2013-03-08 07:39:53 +01:00
Anton Khirnov
15ec0450b4
lavc: allow decoders to override frame parameters.
2013-03-08 07:39:44 +01:00
Anton Khirnov
3b199d29cd
lavc decoders: properly initialize AVFrame.
2013-03-08 07:39:37 +01:00
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
2013-03-08 07:38:30 +01:00
Anton Khirnov
6e7b50b427
mpegvideo_enc: drop support for reusing the input motion vectors.
...
This misfeature is most likely completely useless and conflicts with
removing the mpegvideo-specific fields from AVFrame. In the improbable
case it is actually useful, it should be reimplemented in a better way.
2013-03-08 07:37:45 +01:00
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Anton Khirnov
77b2cd7b41
AVFrame: add side data.
2013-03-08 07:37:01 +01:00
Anton Khirnov
7ecc2d403c
Move AVFrame from lavc to lavu.
...
Add AVBuffer-based reference counting API to it.
2013-03-08 07:36:15 +01:00
Anton Khirnov
ad0c9f2d5d
lavc: move AVFrame.hwaccel_picture_private to Picture.
...
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
2013-03-08 07:36:01 +01:00
Anton Khirnov
1a5e913016
pthread: avoid copying input packets when possible.
2013-03-08 07:35:14 +01:00
Anton Khirnov
1afddbe59e
avpacket: use AVBuffer to allow refcounting the packets.
...
This will allow us to avoid copying the packets in many cases.
This breaks ABI.
2013-03-08 07:33:45 +01:00
Anton Khirnov
1cec0624d0
AVBuffer: add a new API for buffer pools
2013-03-08 07:33:28 +01:00
Anton Khirnov
8e401dbe90
lavu: add a new API for reference-counted data buffers.
2013-03-08 07:33:03 +01:00
Anton Khirnov
437211ae73
h264: set ref_count to 0 for intra slices.
...
CC:libav-stable@libav.org
2013-03-02 10:27:13 +01:00
Anton Khirnov
668e16a0dd
h264: on reference overflow, reset the reference count to 0, not 1.
...
Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.
CC:libav-stable@libav.org
2013-03-02 10:27:03 +01:00
Anton Khirnov
e671d3ad6c
h264: do not copy ref count/ref2frm when updating per-frame context
...
They are filled in decode_slice_header() anyway.
2013-03-02 10:26:50 +01:00
Anton Khirnov
d8a74d1d95
qtrle: use AV_LOG_ERROR in an error message.
2013-02-23 13:06:12 +01:00
Anton Khirnov
7b4f91155b
qtrle: cosmetics, reformat CHECK_PIXEL_PTR() macro
2013-02-23 13:06:08 +01:00
Anton Khirnov
e106592447
qtrle: add more checks against pixel_ptr being negative.
...
CC:libav-stable@libav.org
2013-02-23 13:05:54 +01:00
Anton Khirnov
4f3b058c84
cavs: initialize various context tables to 0
...
Avoids crashes with corrupted files.
CC:libav-stable@libav.org
2013-02-23 13:05:43 +01:00
Anton Khirnov
0dff40bfb9
mlpdec: do not try to allocate a zero-sized output buffer.
...
CC:libav-stable@libav.org
2013-02-23 13:05:31 +01:00
Anton Khirnov
56daf10e03
mov: use the format context for logging.
...
CC:libav-stable@libav.org
2013-02-23 13:05:16 +01:00
Anton Khirnov
ddfe1246d9
flicvideo: avoid an infinite loop in byte run compression
...
When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.
CC:libav-stable@libav.org
2013-02-23 09:22:30 +01:00
Anton Khirnov
067432c1c9
loco: check that there is data left after decoding a plane.
...
CC:libav-stable@libav.org
2013-02-23 09:20:42 +01:00
Anton Khirnov
de6dfa2bb8
lagarith: avoid infinite loop in lag_rac_refill()
...
range == 0 happens with corrupted files
CC:libav-stable@libav.org
2013-02-23 09:16:32 +01:00
Anton Khirnov
f935aca44c
av_memcpy_backptr: avoid an infinite loop for back = 0
...
CC:libav-stable@libav.org
2013-02-23 09:16:15 +01:00
Anton Khirnov
8097fc9a2d
4xm: check the return value of read_huffman_tables().
...
CC:libav-stable@libav.org
2013-02-23 09:13:08 +01:00
Anton Khirnov
1f8f43a5b5
error_resilience: add required headers.
2013-02-17 06:46:43 +01:00
Anton Khirnov
2c54155407
h264: deMpegEncContextize
...
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.
The nontrivial parts are:
1) extracting a simplified version of the frame management code from
mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
its own more complex system already and those were set only to appease
the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
for dxva, the draw_horiz_band() call is moved from
ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
because it's now different for h264 and MpegEncContext-based
decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
added some very simplistic frame management instead and dropped the
use of ff_h264_frame_start(). Because of this I also had to move some
initialization code to svq3.
Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-02-15 16:35:16 +01:00
Anton Khirnov
1d0feb5d1a
mpegvideo: split ff_draw_horiz_band().
...
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Anton Khirnov
54974c6298
error_resilience: decouple ER from MpegEncContext
2013-02-15 16:10:11 +01:00
Anton Khirnov
d9ebb00dcb
svq3: remove a pointless if()
...
The H264 context is always uninitialized at this point.
2013-02-15 16:09:52 +01:00
Anton Khirnov
2491f9ee29
h264: remove a pointless if()
...
!encoding is always true, we do not have a H.264 encoder
2013-02-15 16:09:45 +01:00
Anton Khirnov
68f930d218
h264: simplify calls to ff_er_add_slice().
...
partitioned_frame is never set for h264 (as easily seen from git grep).
2013-02-15 16:09:37 +01:00