Anton Khirnov
d4936548f4
avconv: remove an unused function parameter.
2012-04-06 20:21:07 +02:00
Anton Khirnov
4648fe6324
avconv: remove now pointless variables.
2012-04-06 20:21:07 +02:00
Anton Khirnov
e06d2dfcde
avconv: drop support for building without libavfilter.
...
Since the mandatory memcpy in vsrc_buffer has been eliminated, there
shouldn't be any significant reason to build without lavfi anymore.
This will make upcoming support for complex filtergraphs easier to do.
2012-04-06 20:21:07 +02:00
Anton Khirnov
a03f8ea0a8
vsrc_buffer: when no frame is available, return an error instead of segfaulting.
2012-04-05 09:30:09 +02:00
Anton Khirnov
cfec77aaf8
configure: add dl to frei0r extralibs.
2012-04-05 09:20:03 +02:00
Anton Khirnov
95587d29d7
vsrc_buffer: allow buffering arbitrary number of frames.
2012-04-01 09:04:19 +02:00
Anton Khirnov
416fd90ead
vf_scale: avoid a pointless memcpy in no-op conversion.
...
I.e. just pass the buffer along when src parameters == dst parameters.
2012-04-01 09:04:14 +02:00
Anton Khirnov
63736fe48c
avfiltergraph: try to reduce format conversions in filters.
...
Current code, with a filterchain such as
(input - yuv411) -> (scale - any) -> (sink - any)
will result in yuv420 being chosen for the second link, which is clearly
not right.
This commit attempts to improve in the following way:
repeat until convergence:
loop over all filters
find input link with exactly one format
force this format on all output links of the same type (if possible)
2012-04-01 09:04:09 +02:00
Anton Khirnov
996f9f0c32
avfiltergraph: add an AVClass to AVFilterGraph on next major bump.
...
It will be used for logging, possibly also AVOptions.
2012-04-01 09:03:35 +02:00
Anton Khirnov
ddb4431208
id3v2: fix skipping extended header in id3v2.4
...
In v2.4, the length includes the length field itself.
2012-04-01 09:02:24 +02:00
Anton Khirnov
a839dbb94e
dvenc: print allowed profiles if the video doesn't conform to any of them.
2012-03-28 09:29:04 +02:00
Anton Khirnov
3c6607eb6f
avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size.
...
Otherwise realloc would free it, which would result in double free
later.
2012-03-28 09:28:47 +02:00
Anton Khirnov
e2e165c00f
FATE: add a test for vp8 with changing frame size.
2012-03-28 09:28:29 +02:00
Anton Khirnov
967923abd1
lavf doxy: expand AVStream.codec doxy.
2012-03-26 10:59:43 +02:00
Anton Khirnov
e44ada129c
lavf doxy: improve AVStream.time_base doxy.
...
Remove confusing sentence that implied the user should set the timebase.
Elaborate on how the timebase is set for muxing.
2012-03-26 10:59:43 +02:00
Anton Khirnov
f58b8cc3e3
lavf doxy: add some basic documentation about reading from the demuxer.
2012-03-26 10:59:43 +02:00
Anton Khirnov
10fa4ff7bc
lavf doxy: document passing options to demuxers.
2012-03-26 10:59:43 +02:00
Anton Khirnov
dca9c81d82
lavf doxy: clarify that an AVPacket contains encoded data.
2012-03-26 10:59:42 +02:00
Anton Khirnov
9c47f2b294
APIchanges: mark the place where 0.7 was cut.
2012-03-26 10:08:58 +02:00
Anton Khirnov
75bdd55e77
APIchanges: mark the place where 0.8 was cut.
2012-03-26 10:08:57 +02:00
Anton Khirnov
5d20e7b7ea
APIchanges: fill in missing dates and hashes.
2012-03-26 10:08:56 +02:00
Anton Khirnov
677df4d2ef
pngenc: better upper bound for encoded frame size.
...
Fixes encoding very large pictures.
Thanks to Костя for providing the formula.
2012-03-22 19:50:35 +01:00
Anton Khirnov
a6733202cc
lavf: make av_interleave_packet_per_dts() private.
...
There is no reason for it to be public, it's only meant to be used
internally.
2012-03-20 20:12:16 +01:00
Anton Khirnov
3c90cc2ef2
lavf: deprecate av_read_packet().
...
The caller can achieve the same effect (i.e. getting raw unparsed/mangled
packets) with av_read_frame() and AVFMT_FLAG_NOPARSE |
AVFMT_FLAG_NOFILLIN
2012-03-20 20:12:16 +01:00
Anton Khirnov
0d0b81f941
Generate manpages for AV{Format,Codec}Context AVOptions.
2012-03-20 07:10:06 +01:00
Anton Khirnov
4fea8959d8
doc/avconv: remove entries for AVOptions.
...
Documentation for those will be generated automatically.
2012-03-20 07:09:54 +01:00
Anton Khirnov
5626697104
Move AVFormatContext/AVCodecContext option tables to separate files.
...
This will allow us to automatically generate manpages for them.
2012-03-20 07:09:18 +01:00
Anton Khirnov
40b41be3fa
lavf: use AVStream.discard to disable queueing attached pictures.
2012-03-20 06:53:44 +01:00
Anton Khirnov
01fcc42b90
lavf: requeue attached pictures after seeking.
...
This allows the caller to get them without special code even after
seeking before receiving any data.
2012-03-20 06:52:33 +01:00
Anton Khirnov
713f3062a7
id3v2: set the keyframe flag on attached pictures.
2012-03-20 06:52:07 +01:00
Anton Khirnov
8bc5d90a7e
lavf: remove some disabled code.
2012-03-17 22:37:55 +01:00
Anton Khirnov
f35f8eeb0d
lavf: only set average frame rate for video.
2012-03-17 22:36:56 +01:00
Anton Khirnov
9ade26ee91
lavf: remove a pointless check.
...
Timebase is already checked in avpriv_set_pts_info().
2012-03-17 22:36:48 +01:00
Anton Khirnov
cd9a3c3512
lavf: don't select an attached picture as default stream for seeking.
2012-03-15 14:01:05 +01:00
Anton Khirnov
251422982b
avconv: remove pointless checks.
...
OutputStream.picref is guaranteed to be non-NULL if
get_filtered_video_frame() succeeds.
2012-03-15 09:01:18 +01:00
Anton Khirnov
ce326c1130
avconv: check for get_filtered_frame() failure.
2012-03-15 09:00:55 +01:00
Anton Khirnov
2636e691ce
avconv: remove a pointless check.
...
output_video_filter is always guaranteed to be set and is in fact
dereferenced right above the check.
2012-03-15 09:00:49 +01:00
Anton Khirnov
972880f597
doc/general: update supported devices table.
...
Add libcdio and fbdev, remove v4l1.
2012-03-13 22:01:51 +01:00
Anton Khirnov
29e4046e83
doc/general: add missing @tab to codecs table.
2012-03-13 22:01:51 +01:00
Anton Khirnov
64334ddbbc
avconv: reindent
...
CC: libav-stable@libav.org
2012-03-13 12:21:44 +01:00
Anton Khirnov
6e8be949f1
avconv: link '-passlogfile' option to libx264 'stats' AVOption.
...
Fixes bug 204.
CC: libav-stable@libav.org
2012-03-13 12:21:14 +01:00
Anton Khirnov
d533e395e1
libx264: add 'stats' private option for setting 2pass stats filename.
...
x264 always opens the file itself with fopen, so we cannot use the
standard lavc stats mechanism.
CC: libav-stable@libav.org
2012-03-13 12:20:50 +01:00
Anton Khirnov
9d5c131ece
libx264: fix help text for slice-max-size option.
...
CC: libav-stable@libav.org
2012-03-13 12:20:34 +01:00
Anton Khirnov
018f39ef49
FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
2012-03-06 15:03:36 +01:00
Anton Khirnov
4138cd2907
avconv: add -cpuflags option for setting supported cpuflags.
...
Useful for testing.
2012-03-06 15:03:22 +01:00
Anton Khirnov
4d851f8dcf
cpu: add av_set_cpu_flags_mask().
2012-03-06 15:02:28 +01:00
Anton Khirnov
39da3b223f
avconv: fix counting encoded video size.
...
avcodec_encode_video2() return value is 0 on success, encoded frame size
is stored in the packet.
2012-03-06 10:06:21 +01:00
Anton Khirnov
27c7ca9c12
lavf: deobfuscate read_frame_internal().
...
Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.
The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.
compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.
2012-03-05 18:47:05 +01:00
Anton Khirnov
dcee811505
lavf: make read_from_packet_buffer() more flexible.
...
Make packet buffer a parameter, don't hardcode it to be
AVFormatContext.packet_buffer.
Also move the function higher in the file, since it will be called from
read_frame_internal().
2012-03-05 18:44:45 +01:00
Anton Khirnov
52b0943f10
lavf: factorize freeing a packet buffer.
2012-03-05 18:44:30 +01:00
Anton Khirnov
3faa141d15
cmdutils: use new avcodec_is_decoder/encoder() functions.
...
Fixes listing encoders.
2012-03-04 21:09:35 +01:00
Anton Khirnov
44fe77b350
lavc: make codec_is_decoder/encoder() public.
2012-03-04 21:08:52 +01:00
Anton Khirnov
02beb9826b
lavc: deprecate AVCodecContext.sub_id.
...
In most places where it's used, it's as a pointless write-only field.
Only rv10 decoder actually reads from it, but it stores some internal
version info in it. There is no reason for it to be in a public field.
2012-03-04 21:02:45 +01:00
Anton Khirnov
87392b1fd5
libcdio: add a forgotten AVClass to the private context.
2012-03-04 21:01:41 +01:00
Anton Khirnov
7fb6c9225c
lavc: free the output packet when encoding failed or produced no output.
2012-03-03 06:31:41 +01:00
Anton Khirnov
e42e9b0e4d
lavc: preserve avpkt->destruct in ff_alloc_packet().
...
Also, don't bother with saving/restoring data, av_init_packet doesn't
touch it.
2012-03-03 06:31:41 +01:00
Anton Khirnov
c179c9e19d
lavc: clarify the meaning of AVCodecContext.frame_number.
2012-03-03 06:31:41 +01:00
Anton Khirnov
56bf24ad78
r3d: don't set codec timebase.
...
It's not supposed to be set by demuxers.
Set avg_frame_rate and r_frame_rate instead.
2012-03-02 17:21:45 +01:00
Anton Khirnov
efec3bc65a
electronicarts: set timebase for tgv video.
...
The container has no timestamps and the framerate isn't stored in the
data either.
The decoder sets codec timebase to experimentally found value 1/15. Do
the same for the demuxer too, it should at least be better than the
default 1/90000.
2012-03-02 11:11:38 +01:00
Anton Khirnov
e39400c3a8
electronicarts: parse the framerate for cmv video.
2012-03-02 11:11:38 +01:00
Anton Khirnov
1bb3990b56
ogg: don't set codec timebase
...
Demuxers are not supposed to set it.
2012-03-02 11:11:38 +01:00
Anton Khirnov
1d3144c318
electronicarts: don't set codec timebase
...
Demuxers are not supposed to set it.
Set stream timebase and framerates instead (this is a cfr container with
no timestamps).
2012-03-02 11:11:38 +01:00
Anton Khirnov
10a6e0c346
avs: don't set codec timebase
...
Demuxers are not supposed to set it.
Set r_frame_rate and avg_frame_rate instead.
2012-03-02 11:11:38 +01:00
Anton Khirnov
eb727387fd
lavc: shrink encoded video packet size after encoding.
...
Based on a patch by Nicolas George <nicolas.george <at> normalesup.org>
2012-03-01 22:21:35 +01:00
Anton Khirnov
322537478b
Add a minor bump, changelog/APIchanges entry and some documentation for APIC support.
2012-02-29 14:44:22 +01:00
Anton Khirnov
2dfea12058
mp3enc: write attached pictures (APIC).
2012-02-29 14:37:00 +01:00
Anton Khirnov
c68148b1ea
mp3enc: move mp3_write_xing() further up in the file.
...
It will be need by new functions called from mp3_write_trailer().
2012-02-29 14:36:45 +01:00
Anton Khirnov
ba445f5557
id3v2enc: add a function for writing attached pictures.
...
Unused so far.
2012-02-29 14:31:17 +01:00
Anton Khirnov
24fe1a3b16
id3v2enc: fix writing frame sizes for ID3v2.3
...
Frame sizes in ID3v2.3 are not synchsafe, they are simply 32be numbers.
In practice this bug is not noticeable unless the frame size takes more
than 7 bits (which is almost never for text frames).
2012-02-29 14:30:14 +01:00
Anton Khirnov
411225aabc
id3v2enc: split ff_id3v2_write().
...
This will allow writing the tag in several steps, needed for writing
attached pictures.
2012-02-29 14:26:14 +01:00
Anton Khirnov
c199817748
id3v2enc: make id3v2_put_size take only an AVIOContext.
...
It has no need of full AVFormatContext.
2012-02-29 14:25:33 +01:00
Anton Khirnov
393fd0d89e
id3v2: remove unused ff_id3v2_read().
...
Rename ff_id3v2_read_all to ff_id3v2_read().
2012-02-29 14:19:42 +01:00
Anton Khirnov
079ea6ca5f
lavf: export id3v2 attached pictures as streams.
2012-02-29 14:16:32 +01:00
Anton Khirnov
dd2a4bcfd7
lavf: generic code for exporting attached pictures.
2012-02-29 14:16:25 +01:00
Anton Khirnov
a93b09cb45
id3v2: read attached pictures and export them in ID3v2ExtraMeta.
2012-02-29 14:14:48 +01:00
Anton Khirnov
b73ad74660
lavf: move CodecMime from matroska.h to internal.h
...
it will be useful for attached pictures in ID3v2
2012-02-29 13:57:59 +01:00
Anton Khirnov
eaea76d72c
swfdec: do not set codec timebase.
...
It is not supposed to be set outside of lavc.
Fixes a divide by zero when the stored framerate is 0.
2012-02-29 13:52:55 +01:00
Anton Khirnov
23bfcc066d
mpegvideo_enc: add quantizer_noise_shaping private option.
...
Deprecate corresponding AVCodecContext field.
2012-02-29 07:26:24 +01:00
Anton Khirnov
16b7557b79
lavc: deprecate AVCodecContext.inter_threshold.
...
It's unused.
2012-02-29 07:25:44 +01:00
Anton Khirnov
4f07f8196c
lavc: deprecate AVCodecContext.color_table_id.
...
It's currently only used as temporary storage by the mov demuxer. Make
it use a local variable instead.
2012-02-29 07:25:00 +01:00
Anton Khirnov
e0f68413dd
avplay: remove an unused variable.
2012-02-29 07:24:34 +01:00
Anton Khirnov
63efd83ae1
mpegvideo_enc: add chroma/luma_elim_threshold private options.
...
Deprecate corresponding AVCodecContext fields.
2012-02-29 07:23:31 +01:00
Anton Khirnov
af3d804f9f
mpegvideo_enc: add cbp_rd flag to mpv_flags.
...
Deprecate CODEC_FLAG_CBP_RD.
2012-02-29 07:13:58 +01:00
Anton Khirnov
ff71a383ac
mpegvideo_enc: add qp_rd flag to mpv_flags.
...
Deprecate CODEC_FLAG_QP_RD.
2012-02-29 07:12:10 +01:00
Anton Khirnov
a249f0cc23
mpegvideo_enc: add strict_gop flag to mpv_flags.
...
Deprecate CODEC_FLAG2_STRICT_GOP.
2012-02-29 07:11:02 +01:00
Anton Khirnov
ed019b8e5b
lavc: add -mpv_flags to mpegvideo_enc-based encoders.
...
Deprecate CODEC_FLAG2_SKIP_RD in favor of the corresponding mpv_flags
flag.
2012-02-29 07:09:29 +01:00
Anton Khirnov
f5f5b154e7
doc/APIchanges: fill in missing dates and hashes.
2012-02-27 08:35:32 +01:00
Anton Khirnov
b1edfce08a
lavc: reorder AVCodecContext fields.
...
Put related fields together, move the important ones closer to the
beginning, try to eliminate holes.
2012-02-27 07:09:43 +01:00
Anton Khirnov
1d428004c6
lavc: reorder AVFrame fields.
...
Put related fields together, move the important ones closer to the
beginning, try to eliminate holes.
2012-02-27 07:07:25 +01:00
Anton Khirnov
7929e22bde
lavf: don't guess r_frame_rate from either stream or codec timebase.
...
Neither of those is guaranteed to be connected to framerate in any way
(if it even exists).
Fixes bug 56.
2012-02-26 19:32:33 +01:00
Anton Khirnov
13f6917ca9
avconv: set discard on input streams automatically.
2012-02-26 19:30:50 +01:00
Anton Khirnov
d3783f47ee
lavf: don't set codec timebase in avformat_find_stream_info().
...
It's not supposed to be set outside of lavc.
2012-02-26 07:51:12 +01:00
Anton Khirnov
832ba44d8d
avconv: saner output video timebase.
...
r_frame_rate should in theory have something to do with input framerate,
but in practice it is often made up from thin air by lavf. So unless we
are targeting a constant output framerate, it's better to just use input
stream timebase.
Brings back dropped frames in nuv and cscd tests introduced in
cd1ad18a65
2012-02-26 07:48:45 +01:00
Anton Khirnov
87d7a92b62
rawdec: set timebase to 1/fps.
2012-02-26 07:30:21 +01:00
Anton Khirnov
d43040e28b
avconv: refactor vsync code.
...
No functional changes, just make it more readable.
2012-02-26 07:28:27 +01:00
Anton Khirnov
493a86e25b
FATE: remove a bunch of useless -vsync 0
...
No changes in the test results.
2012-02-26 07:28:04 +01:00
Anton Khirnov
03ca0a5b30
lavc: merge two if()s with the same condition.
2012-02-25 07:48:52 +01:00
Anton Khirnov
d55fa6f9cb
lavc: factorize setting got_packet_ptr in avcodec_encode_video2()
2012-02-25 07:48:46 +01:00
Anton Khirnov
52953d61ca
lavc: signal no output when a NULL frame is passed to audio encoder without delay
2012-02-25 07:48:36 +01:00
Anton Khirnov
655b24c01c
lavf: move the packet keyframe setting code.
...
compute_pkt_fields() is for unreliable estimates or guessing. The
keyframe information from the parser is (at least in theory) reliable,
so it should be used even when the other guessing is disabled with the
AVFMT_FLAG_NOFILLIN flag.
Therefore, move setting the packet keyframe flag based on parser
information from compute_pkt_fields() to read_frame_internal().
2012-02-24 19:43:02 +01:00