Anton Khirnov
cd1ad18a65
rawenc: switch to encode2().
...
This changes a number of FATE results, since before this commit, the
timestamps in all tests using rawenc were made up by lavf.
In most cases, the previous timestamps were completely bogus.
In some other cases -- raw formats, mostly h264 -- the new timestamps
are bogus as well. The only difference is that timestamps invented by
the muxer are replaced by timestamps invented by the demuxer.
cscd -- avconv sets output codec timebase from r_frame_rate
and r_frame_rate is in this case some guessed number 31.42 (377/12),
which is not accurate enough to represent all timestamps. This results
in some frames having duplicate pts. Therefore, vsync 0 needs to be
changed to vsync 2 and avconv drops two frames. A proper fix in the
future would be to set output timebase to something saner in avconv.
nuv -- previous timestamps for video were wrong AND the cscd
comment applies, one frame is dropped.
vp8-signbias -- the file contains two frames with identical timestamps,
so -vsync 0 needs to be removed/changed to -vsync 2 and avconv drops one
frame.
vc1-ism -- apparrently either the demuxer lies about timestamps or the
file is broken, since dts == pts on all packets, but reordering clearly
takes place.
2012-02-08 21:51:24 +01:00
Anton Khirnov
38d5533228
pixdesc: mark pseudopaletted formats with a special flag.
...
This makes it possible to dintinguish them from PAL8.
Fixes an invalid write in avpicture_layout().
2012-02-08 21:01:31 +01:00
Anton Khirnov
8e37038a34
avconv: switch to avcodec_encode_video2().
2012-02-08 21:00:00 +01:00
Anton Khirnov
06484d0b8a
libx264: implement encode2().
2012-02-08 20:59:07 +01:00
Anton Khirnov
05d699222d
libx264: split extradata writing out of encode_nals().
...
This is done in preparation for the following patch.
2012-02-08 20:58:48 +01:00
Anton Khirnov
52f82a1148
lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
...
Deprecate avcodec_encode_video().
2012-02-08 20:54:24 +01:00
Anton Khirnov
722410ade5
avconv: estimate next_dts from framerate if it is set.
2012-02-07 20:14:54 +01:00
Anton Khirnov
b34856a116
avconv: better next_dts usage.
...
next_dts is used for estimating the dts of the next packet if it's
missing. Therefore, it makes no sense to set it from the pts of the last
decoded frame. Also it should be estimated from the current packet
duration/ticks_per_frame always, not only when a frame was successfully
decoded.
2012-02-07 20:14:41 +01:00
Anton Khirnov
23576b3fbb
avconv: rename InputStream.pts to last_dts.
...
It more accurately describes what does this variable store.
2012-02-07 20:13:15 +01:00
Anton Khirnov
6e98390258
avconv: reduce overloading for InputStream.pts.
...
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.
2012-02-07 20:12:04 +01:00
Anton Khirnov
3101bb6669
avconv: rename InputStream.next_pts to next_dts.
...
It's used to predict dts, not pts.
2012-02-07 20:11:22 +01:00
Anton Khirnov
1270e12e49
avconv: rework -t handling for encoding.
...
Current code compares the desired recording time with InputStream.pts,
which has a very unclear meaning. Change the code to use actual
timestamps of the frames passed to the encoder.
In several tests, one less frame is encoded, which is more correct.
In the idroq test one more frame is encoded, which is again more
correct.
Behavior with stream copy should be unchanged.
2012-02-07 20:11:11 +01:00
Anton Khirnov
c9af832623
avconv: set encoder timebase for subtitles.
...
The actual number (1/1000) will probably require some
discussion/tweaking in the future, but should be good enough for now,
since the timestamps in AVSubtitle are in this timebase by definition.
2012-02-07 20:07:14 +01:00
Anton Khirnov
4be1d7dc20
pva-demux test: add -vn
...
The output is obviously not supposed to contain video (since only
-acodec copy is specified), but that only happens because of the way -t
handling is implemented currently.
2012-02-07 20:06:57 +01:00
Anton Khirnov
324fbadff9
avconv: remove debugging cruft from do_video_out().
2012-02-03 13:45:02 +01:00
Anton Khirnov
61a099680c
avconv: factorize setting stream_index for the output packet.
2012-02-03 13:44:59 +01:00
Anton Khirnov
d2afbd9a56
frame{crc/md5}: set the stream timebase from codec timebase.
...
Right now those muxers use the default timebase in all cases(1/90000).
This patch avoid unnecessary rescaling and makes the printed timestamps
more readable.
Also, extend the printed information to include the timebases and packet
pts/duration and align the columns.
Obviously changes the results of all fate tests which use those two
muxers.
2012-02-03 09:29:02 +01:00
Anton Khirnov
e15e2a6d2a
libx264: fix indentation.
2012-02-02 22:23:17 +01:00
Anton Khirnov
dd6d3b0e02
lavf: add functions for accessing the fourcc<->CodecID mapping tables.
...
Fixes bug 212.
2012-01-31 16:53:35 +01:00
Anton Khirnov
bc90199848
lavc: set AVCodecContext.codec in avcodec_get_context_defaults3().
...
This way, if the AVCodecContext is allocated for a specific codec, the
caller doesn't need to store this codec separately and then pass it
again to avcodec_open2().
It also allows to set codec private options using av_opt_set_* before
opening the codec.
2012-01-31 16:53:35 +01:00
Anton Khirnov
0e72ad95f9
lavc: make avcodec_close() work properly on unopened codecs.
...
I.e. free the priv_data and other stuff allocated in
avcodec_alloc_context3() and not segfault.
2012-01-31 07:56:21 +01:00
Anton Khirnov
af08d9aeea
lavc: add avcodec_is_open().
...
It allows to check whether an AVCodecContext is open in a documented
way. Right now the undocumented way this check is done in lavf/lavc is
by checking whether AVCodecContext.codec is NULL. However it's desirable
to be able to set AVCodecContext.codec before avcodec_open2().
2012-01-31 07:55:24 +01:00
Anton Khirnov
f7fe41a04f
lavf: rename AVInputFormat.value to raw_codec_id.
...
It's only used by raw demuxers for storing the codec id.
2012-01-31 07:50:31 +01:00
Anton Khirnov
9a463917d3
lavf: remove the pointless value field from flv and iv8
...
The demuxers don't use it in any way.
2012-01-31 07:48:03 +01:00
Anton Khirnov
afa4069e3b
lavc/lavf: remove unnecessary symbols from the symbol version script.
2012-01-31 07:26:31 +01:00
Anton Khirnov
f5f49a66a2
lavc: reorder AVCodec fields.
...
Put all private fields at the end and mark them as such so they can be
easily changed/removed.
This breaks ABI.
2012-01-31 07:26:18 +01:00
Anton Khirnov
183eaa9a25
lavf: reorder AVInput/OutputFormat fields.
...
Put all private fields at the end and mark them as such so they can be
easily changed/removed.
This breaks ABI.
2012-01-31 07:21:06 +01:00
Anton Khirnov
d7edd359ec
avconv: deprecate the -deinterlace option
...
Its quality is horrible, yadif should always be used instead.
2012-01-30 21:43:08 +01:00
Anton Khirnov
91b3bfba88
avplay: use the correct array size for stride.
...
AV_NUM_DATA_POINTERS instead of 4.
2012-01-28 19:45:45 +01:00
Anton Khirnov
9bfe218299
lavc: extend doxy for avcodec_alloc_context3().
2012-01-28 19:45:33 +01:00
Anton Khirnov
44911f2985
APIchanges: mention avcodec_alloc_context()/2/3
...
There was no minor bump for making avcodec_alloc_context3() public and
deprecating the other two, so I'm using the first next lavc bump.
2012-01-28 19:45:10 +01:00
Anton Khirnov
2d9535ad31
avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
...
This function is video-only, so there's no point in setting more
linesizes.
Fixes stack corruption in avplay.
2012-01-28 19:44:55 +01:00
Anton Khirnov
c5254755c0
lavf: remove disabled FF_API_SET_PTS_INFO cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
374e469b8d
lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
bf868727d7
lavf: remove disabled FF_API_REORDER_PRIVATE cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
fd87ba3220
lavf: remove disabled FF_API_SEEK_PUBLIC cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
bd4c51312b
lavf: remove disabled FF_API_STREAM_COPY cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
2a0f868cfa
lavf: remove disabled FF_API_PRELOAD cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
1329827e79
lavf: remove disabled FF_API_NEW_STREAM cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
adad5b88f8
lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
f0cb13958d
lavf: remove disabled FF_API_MUXRATE cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
2f5e728b58
lavf: remove disabled FF_API_FILESIZE cruft
2012-01-27 10:52:43 +01:00
Anton Khirnov
df0bb26aca
lavf: remove disabled FF_API_TIMESTAMP cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
3bbfd3026c
lavf: remove disabled FF_API_LOOP_OUTPUT cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
6dc345555f
lavf: remove disabled FF_API_LOOP_INPUT cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
b32e30faa1
lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
2d70912cc2
lavf: remove disabled FF_API_FLAG_RTP_HINT cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
1d911bb404
lavf: remove disabled FF_API_SDP_CREATE cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
64f6f6f836
lavf: remove disabled FF_API_GUESS_IMG2_CODEC cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
21824e5b88
lavf: remove disabled FF_API_PKT_DUMP cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
cc10ab79ec
lavf: remove disabled FF_API_FIND_INFO_TAG cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
ecd5f41a06
lavf: remove disabled FF_API_PARSE_DATE cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
997420abf2
lavf: remove disabled FF_API_DUMP_FORMAT cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
2fb7501938
lavf: remove disabled FF_API_FORMAT_PARAMETERS cruft
...
Also remove now unused AVFormatParameters struct and
AVOutputFormat.set_parameters().
2012-01-27 10:52:42 +01:00
Anton Khirnov
38233fc131
lavf: remove disabled FF_API_OLD_METADATA2 cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
2439f2ca82
lavf: remove disabled FF_API_OLD_AVIO cruft
2012-01-27 10:52:42 +01:00
Anton Khirnov
a17479dfce
lavf: increase major version from 53 to 54.
2012-01-27 10:52:39 +01:00
Anton Khirnov
6e9651d106
lavf: remove AVFormatParameters from AVFormatContext.read_header signature
2012-01-27 10:51:57 +01:00
Anton Khirnov
3b4aaa6190
lavc: remove disabled FF_API_AVFRAME_AGE cruft.
2012-01-27 10:38:35 +01:00
Anton Khirnov
d803775e81
lavc: remove disabled FF_API_DATA_POINTERS cruft.
2012-01-27 10:38:35 +01:00
Anton Khirnov
10e1ae5eff
lavc: remove disabled FF_API_TIFFENC_COMPLEVEL cruft.
2012-01-27 10:38:35 +01:00
Anton Khirnov
370e923e0b
lavc: remove disabled FF_API_INTERNAL_CONTEXT cruft.
2012-01-27 10:38:35 +01:00
Anton Khirnov
ac84395d6a
lavc: remove disabled FF_API_PARSE_FRAME cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
8b9b6041d7
lavc: remove disabled FF_API_GET_ALPHA_INFO cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
99ace37e68
lavc: remove disabled FF_API_MJPEG_GLOBAL_OPTS cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
96e9b96fcd
lavc: remove disabled FF_API_SNOW_GLOBAL_OPTS cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
b9de160c3e
lavc: remove disabled FF_API_LAME_GLOBAL_OPTS cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
3211932c51
lavc: remove disabled FF_API_AVCODEC_INIT cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
491f443e1f
lavc: remove disabled FF_API_ER cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
f326501a65
lavc: remove disabled FF_API_DRC_SCALE cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
d2d931500b
lavc: remove disabled FF_API_AVCODEC_OPEN cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
ec104eef51
lavc: remove disabled FF_API_ALLOC_CONTEXT cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
8e5746d461
lavc: remove disabled FF_API_GET_PIX_FMT_NAME cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
0dc6bab092
lavc: remove disabled FF_API_FLAC_GLOBAL_OPTS cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
fbca04e6f6
lavc: remove disabled FF_API_OLD_FF_PICT_TYPES cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
9a79bb552a
lavc: remove disabled FF_API_THREAD_INIT cruft.
2012-01-27 10:38:34 +01:00
Anton Khirnov
7831a7e4ec
lavc: remove disabled FF_API_ANTIALIAS_ALGO cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
62dfea6535
lavc: remove disabled FF_API_OLD_AUDIOCONVERT cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
284e65d64e
lavc: remove disabled FF_API_OLD_SAMPLE_FMT cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
6c8dab98b8
lavc: remove disabled FF_API_PALETTE_CONTROL cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
9ce2a91b84
lavc: remove disabled FF_API_MPEGVIDEO_GLOBAL_OPTS cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
7232bfbd93
lavc: remove disabled FF_API_X264_GLOBAL_OPTS cruft.
2012-01-27 10:38:33 +01:00
Anton Khirnov
7460398b89
lavc: remove the deprecated opt.h header.
2012-01-27 10:38:33 +01:00
Anton Khirnov
041cd5a0c5
lavc: remove the deprecated "ab" option.
2012-01-27 10:38:33 +01:00
Anton Khirnov
7773161b8f
codec-regression: use private options instead of deprecated codec flags.
2012-01-27 10:38:33 +01:00
Anton Khirnov
7063b6eaee
lavc: increase major version to 54.
...
The lavf-ffm test results change because ffmenc writes
AVCodecContext.flags/flags2 and the defaults for those change.
2012-01-27 10:38:30 +01:00
Anton Khirnov
1381e9bc92
lavc: postpone the removal of AVCodecContext.request_channels.
...
Although it has been deprecated for a long time, its intended
replacement (request_channel_layout) is not actually used anywhere, so
request_channels is currently the only way to access that functionality.
2012-01-24 18:04:19 +01:00
Anton Khirnov
dc7ad30fa5
lavf: postpone removing av_close_input_file().
...
It has been deprecated only recently.
2012-01-24 18:04:19 +01:00
Anton Khirnov
af0292f33a
lavc: postpone removing old audio encoding and decoding API
...
It has been deprecated only recently.
2012-01-24 18:04:19 +01:00
Anton Khirnov
75e2025f57
avplay: remove the -er option.
...
Error recognition flags can and should be set directly with AVOptions.
2012-01-24 18:04:19 +01:00
Anton Khirnov
941e9f2238
lavd: remove deprecated v4l grab device.
2012-01-24 18:04:19 +01:00
Anton Khirnov
0fec2cb15c
Remove ffmpeg.
2012-01-23 21:04:29 +01:00
Anton Khirnov
b263bf66b7
avserver: fix build after the next bump.
...
Now that 0.8 is out we can reapply this commit. It breaks shared
avserver builds due to avserver using internal libavformat symbols,
which are now hidden, so this commit also disables avserver with
--enable-shared.
2012-01-22 07:50:41 +01:00
Anton Khirnov
7512bb74f2
doc/APIChanges: fill in missing dates and hashes
2012-01-21 08:48:53 +01:00
Anton Khirnov
97e3f94b61
Revert "avserver: fix build after the next bump."
...
This temporarily (until 0.8 is released) reverts commit
8e1340abc3 . That commit breaks shared
builds because of symbol hiding. Reverting it will enable shared builds
for 0.8
2012-01-21 08:40:47 +01:00
Anton Khirnov
8e1340abc3
avserver: fix build after the next bump.
2012-01-20 09:17:21 +01:00
Anton Khirnov
aa2e4bb058
lavf: free packets for muxers implementing interleave_packet().
...
Fixes a memleak.
2012-01-18 20:10:26 +01:00
Anton Khirnov
f97cb45156
lavf: fix and extend av_interleaved_write_frame() doxy.
...
Specify that lavf is responsible for freeing the data.
2012-01-18 20:08:13 +01:00
Anton Khirnov
bbf0023bb6
RELEASE_NOTES: mention hiding private symbols in shared builds.
2012-01-18 14:35:53 +01:00
Anton Khirnov
26f71ef48c
RELEASE_NOTES: mention some notable API changes in 0.8
2012-01-18 14:35:42 +01:00