Anton Khirnov
059a037fbd
AVOptions: split get_number().
...
Split actual writing to read_number() in the same way as write_number().
Allows set_string_number() to write to a caller-provided destination.
2011-10-12 16:51:16 +02:00
Anton Khirnov
41d9d51a72
AVOptions: add av_opt_get*, deprecate av_get*.
...
New functions can get values from child objects, properly report error
codes and have consistent naming and signatures.
2011-10-12 16:51:16 +02:00
Anton Khirnov
dac66da63d
AVOptions: add av_opt_set*().
...
Deprecate av_set_*
New functions support setting values on children, return error codes
instead of options and have consistent naming and signatures.
2011-10-12 16:51:16 +02:00
Anton Khirnov
641c7afe3c
AVOptions: add new API for enumerating children.
...
This will allow the caller to enumerate child contexts in a generic way
and since the API is recursive, it also allows for deeper nesting (e.g.
AVFormatContext->AVIOContext->URLContext)
This will also allow the new setting/reading API to transparently apply
to children contexts.
2011-10-12 16:51:16 +02:00
Anton Khirnov
46c3c53bae
libx264: support yuv422/444 output.
2011-10-12 08:27:36 +02:00
Anton Khirnov
04de1569cd
sws: support yuv444p9/10 output.
2011-10-12 08:27:30 +02:00
Anton Khirnov
c780b543e7
id3v2: fix NULL pointer dereference
...
Bug found by Laurent Aimar fenrir at videolan org
2011-10-11 14:56:41 +02:00
Anton Khirnov
7bb1807c2d
AVOptions: refactor set_number/write_number
...
write_number() does the actual writing of the supplied
number to destination. Move finding the option and choosing destination
address out of it.
2011-10-10 20:27:31 +02:00
Anton Khirnov
cf10095f0b
AVOptions: cosmetics, rename static av_set_number2() to write_number().
2011-10-10 20:27:31 +02:00
Anton Khirnov
b003d0be5b
AVOptions: cosmetics, move and rename static av_set_number().
2011-10-10 20:27:31 +02:00
Anton Khirnov
c8d787d2ef
AVOptions: split av_set_string3 into opt type-specific functions
...
Also stop attempting to honor the alloc parameter, as things break
horribly in that case.
It will be removed in upcoming successor to av_set_string3.
2011-10-10 20:27:30 +02:00
Anton Khirnov
f5646a325b
avconv: always print stats with AV_LOG_INFO
...
It's now possible to disable printing stats during encoding with
-nostats, so there's no reason to print them differently depending on
whether it's last report or not.
2011-10-09 17:15:18 +02:00
Anton Khirnov
667d98182d
doc/avconv: add forgotten output/per-stream info to -filter
2011-10-09 17:15:18 +02:00
Anton Khirnov
3460dd8acf
avconv: add -stats option to enable/disable printing encoding progress
2011-10-09 17:15:18 +02:00
Anton Khirnov
c6007065ed
avconv: in output_packet() don't set decoded_data_size for video.
...
It's only used for audio.
2011-10-09 17:15:18 +02:00
Anton Khirnov
515901fad2
avconv: remove pointless always true condition
2011-10-09 17:15:18 +02:00
Anton Khirnov
11fdb7e197
avconv: factorize common code in transcode_init()
2011-10-09 17:15:18 +02:00
Anton Khirnov
d97efd7f87
libx264: support 9- and 10-bit output.
2011-10-06 09:16:06 +02:00
Anton Khirnov
a4ea00d021
lavc/lavf: use unique private classes.
...
This is needed by the new AVOptions API.
2011-10-05 07:52:30 +02:00
Anton Khirnov
0ba1e1978d
lavc: use designated initializers for av_codec_context_class
2011-10-05 07:52:05 +02:00
Anton Khirnov
60df6b0048
id3v2: remove pointless casts
2011-10-03 13:06:51 +02:00
Anton Khirnov
d2961e4ebf
id3v2: read TXXX frames with two calls to decode_str() instead of one.
...
Read the key in the first, value in the second.
This allows to avoid pointless strdups and simplify decode_str() by
dropping two of its parameters.
2011-10-03 13:06:51 +02:00
Anton Khirnov
1e18d32d01
id3v2: don't discard the whole tag when encountering empty frames.
...
While they're technically invalid, it's better to skip them and try to
read the rest of the tag.
2011-10-03 13:06:41 +02:00
Anton Khirnov
24ec9ac475
libvpx: fix build with older libvpx versions.
...
VPX_ERROR_RESILIENT_DEFAULT and VPX_ERROR_RESILIENT_PARTITIONS weren't
defined before 4cb0ebe5b27d35ccc2a78c1d16f2622ddef21f74 (CommitDate: Tue
Jun 28 11:10:17 2011)
2011-10-03 13:06:24 +02:00
Anton Khirnov
b036a7180c
lavc: add video/audio/encoding flags to global_quality option
2011-10-01 07:16:56 +02:00
Anton Khirnov
d3c1d37a90
avconv: use different variables for decoded and filtered frame.
...
Makes the code less obfuscated and fixes encoding one video stream to
several outputs.
Also use avcodec_alloc_frame() instead of allocating AVFrame on stack.
Breaks me_threshold in avconv, as motion vectors aren't passed through
lavfi. They could be copied manually, but I don't think this misfeature
is useful enough to justify ugly hacks.
2011-09-27 19:17:37 +02:00
Anton Khirnov
3ccd15803b
avconv: add support for copying attachments.
2011-09-27 15:26:36 +02:00
Anton Khirnov
c7a63a521b
matroskaenc: write attachments.
2011-09-27 15:26:36 +02:00
Anton Khirnov
98cfe22b5c
matroskadec: export mimetype of attachments as metadata.
2011-09-27 15:26:36 +02:00
Anton Khirnov
becdce99eb
avconv: factorize common code from new_*_stream()
2011-09-27 15:26:35 +02:00
Anton Khirnov
d159060a87
doc/avconv: expand documentation for some options.
2011-09-27 15:26:35 +02:00
Anton Khirnov
5aa3fcec35
doc/avconv: document -timelimit.
2011-09-27 15:26:35 +02:00
Anton Khirnov
e3245b2631
avconv: replace all fprintf() by av_log().
...
Deprecate -v option, now only -loglevel is enough.
2011-09-26 20:33:50 +02:00
Anton Khirnov
f24facd3ec
avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
2011-09-26 20:33:50 +02:00
Anton Khirnov
1c5e9551bc
cmdutils: replace fprintf() by av_log()
...
This way, all messages can be easily disabled with -loglevel.
Behavior change -- configuration is printed with AV_LOG_VERBOSE, so it's
not shown by default.
2011-09-26 20:33:50 +02:00
Anton Khirnov
182cbe433a
avtools: parse loglevel before all the other options.
...
This way it can be applied to cmdutils too -- e.g. showing the banner
and printing startup messages.
2011-09-26 20:33:50 +02:00
Anton Khirnov
9b921a8272
avconv: use correct output stream index when checking max_frames
2011-09-25 08:28:14 +02:00
Anton Khirnov
240ae356e9
avconv: remove fake coded_frame on streamcopy hack
...
Back in 2002 when it was added, some muxers used information from
coded_frame. It's not true anymore, so this hack is useless and can be
removed.
2011-09-25 08:28:10 +02:00
Anton Khirnov
dc3e76f3f2
avconv: actually set InputFile.rate_emu
2011-09-23 10:04:44 +02:00
Anton Khirnov
775af761a0
eval: test isnan(sqrt(-1)) instead of just sqrt(-1)
...
sqrt(-1) returns "some NaN", it's not specified which exactly.
2011-09-22 08:13:55 +02:00
Anton Khirnov
9aa1f87dfd
Revert "ffmpeg: get rid of useless AVInputStream.nb_streams."
...
This reverts commit 2cf8355f98 .
AVInputStream.nb_streams tracks number of streams found at the
beginning, new streams may appear that ffmpeg doesn't know about. Fixes
crash in this case.
2011-09-21 14:12:00 +02:00
Anton Khirnov
609a2fa1fa
Remove some forgotten AVCodecContext.palctrl usage.
2011-09-21 13:51:53 +02:00
Anton Khirnov
9ecfbb3e57
lavc/utils: move avcodec_init() higher in the file.
...
Fixes build on next major bump.
2011-09-21 13:51:53 +02:00
Anton Khirnov
e5b29c1f6b
lavc: replace some deprecated FF_*_TYPE with AV_PICTURE_TYPE_*
2011-09-21 13:51:53 +02:00
Anton Khirnov
feedc0754b
ac3dec: actually use drc_scale private option
2011-09-21 13:51:53 +02:00
Anton Khirnov
63e4c8a653
lavc: undeprecate AVPALETTE_SIZE and AVPALETTE_COUNT macros
...
They are still being used and shouldn't be removed.
2011-09-21 13:51:53 +02:00
Anton Khirnov
4d77d57d20
alsa: add missing header
...
Fixes compile with next lavc major.
2011-09-21 13:51:53 +02:00
Anton Khirnov
c92a2a4eb8
movenc: fix NULL reference in mov_write_tkhd_tag
...
st may be NULL when there are more mov streams than AVStreams, e.g. when
chapters are present.
2011-09-19 16:44:42 +02:00
Anton Khirnov
7f9b0ef9a8
doc/APIChanges: fill in missing hashes and dates.
2011-09-18 12:01:23 +02:00
Anton Khirnov
7574cacbd5
movenc: create an alternate group for each media type
...
Partially fixes bug 44.
2011-09-17 08:42:30 +02:00
Anton Khirnov
e417d80d28
lavd: add libcdio-paranoia input device for audio CD grabbing
2011-09-17 06:45:26 +02:00
Anton Khirnov
85d982f1e2
rawdec: refactor private option for raw video demuxers
...
pixel_format/video_size only apply to 'rawvideo' (==uncompressed) demuxer
and make no sense for the other raw (== containerless) demuxers. Keep
only the framerate option for those.
Also use unique classes for all raw video demuxers
2011-09-17 06:43:09 +02:00
Anton Khirnov
34d2bf30a0
pcmdec: use unique classes for all pcm demuxers.
2011-09-17 06:42:32 +02:00
Anton Khirnov
d906f49aa8
rawdec: g722 is always 1 channel/16kHz
2011-09-17 06:42:17 +02:00
Anton Khirnov
57650c70e2
doc/avconv: fix typo.
2011-09-12 15:53:26 +02:00
Anton Khirnov
af1e247038
libxavs: add private options corresponding to deprecated global options
...
Code mostly copied from libx264 wrapper.
2011-09-12 08:45:55 +02:00
Anton Khirnov
4bb3ae1eaa
avconv: use correct index when selecting metadata to write to.
2011-09-11 17:30:05 +02:00
Anton Khirnov
f39ecc79aa
avconv: fix inverted variable
2011-09-11 17:30:05 +02:00
Anton Khirnov
172efad7c7
doc/avconv: document option types (input/output/per-stream/...)
...
Also trim some redundant stream specifiers descriptions.
2011-09-11 17:30:05 +02:00
Anton Khirnov
99442bfe20
doc/avtools-common-opts: write a section about stream specifiers.
2011-09-11 17:30:05 +02:00
Anton Khirnov
3a37392efe
doc/avconv: remove two pointless paragraphs.
...
They are misleading and carry no useful information.
2011-09-11 17:30:04 +02:00
Anton Khirnov
eb05446367
doc/avconv: document that global options should be specified first.
2011-09-11 17:30:04 +02:00
Anton Khirnov
d3d6a2582e
doc/avconv: remove entries for nonexistent options
2011-09-11 17:30:04 +02:00
Anton Khirnov
1533c10286
doc/avconv: remove documentation for removed 'timestamp' option
2011-09-11 17:30:04 +02:00
Anton Khirnov
b3dd2010af
doc: cosmetics, rename fftools-common-opts to avtools-....
2011-09-11 17:30:04 +02:00
Anton Khirnov
495ecfd139
avconv: move streamid_map to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
8e5ce5901b
avconv: extend -vf syntax
...
Add a per-stream -filter option, make -vf an alias for -filter:v. Move
vfilters to the options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
828e0bcb86
avconv: move top_field_first to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
2c2cff16d9
avconv: move inter/intra matrix to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
0bc391281a
avconv: remove -psnr option.
...
It's redundant -- -flags +psnr does the same thing.
2011-09-11 17:30:04 +02:00
Anton Khirnov
d242d80e36
avconv: remove me_threshold option.
...
It's only shadowing the AVOption with the same name.
2011-09-11 17:30:04 +02:00
Anton Khirnov
0e68c78385
avconv: move video_rc_override_string to options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
b2254d8385
avconv: move frame pixel format to the options context.
...
Also remove redundant -pix_fmt list syntax, it's inconsistent and only
makes the code more complicated. -pix_fmts should be enough for
everyone.
2011-09-11 17:30:03 +02:00
Anton Khirnov
ca46fde792
avconv: move frame aspect ratio to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
d4397b0323
avconv: move frame size to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
91ea4811b3
avconv: move frame_rate to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
bef737a78a
avconv: move force_fps to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
7c0296723c
avconv: move forced_key_frames to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
77d9c4542c
avconv: rewrite -qscale and -aq handling.
...
Merge video_qscale (set by -qscale) and audio_qscale (set by -aq) into
one 'qscale' field in the options context. Add a shortcut -q for -qscale
and make -aq an alias for -q:a.
2011-09-11 17:30:03 +02:00
Anton Khirnov
e2469ccf01
avconv: move audio_sample_rate to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
2c474ddbc5
cmdutils: add support for programs in check_stream_specifier()
...
Remove now redundant (and broken/undocumented) opt_programid.
2011-09-11 17:30:01 +02:00
Anton Khirnov
05bffc12c4
avconv: move audio_sample_fmt to options context.
...
Also document it and replace undocumented and inconsistent
'-sample_fmt list' syntax with -sample_fmts.
2011-09-11 17:29:55 +02:00
Anton Khirnov
6a11686dfc
avconv: move audio_channels to the options context.
2011-09-10 15:25:57 +02:00
Anton Khirnov
2130981af3
avconv: move *_disable to options context.
2011-09-10 13:10:02 +02:00
Anton Khirnov
35c5d7d1ef
avconv: remove -[vas]lang options.
...
They are redundant, the same can be now accomplished with -metadata.
2011-09-10 13:09:42 +02:00
Anton Khirnov
013887ebcd
avconv: move codec tags to options context.
...
Add a new -tag option, make -[vas]tag an alias for -tag:[vas]
2011-09-10 13:03:54 +02:00
Anton Khirnov
4dbcdfa86d
AVOptions: remove AVOption.offset <= 0 checks
...
They will only ever be <=0 if the option is broken, in which case this
check is hiding a bug.
2011-09-07 11:20:29 +02:00
Anton Khirnov
79eff91325
AVOptions: deprecate av_opt_set_defaults2
...
It's a hack which was created to allow for multiple options with
different defaults to refer to same field (e.g. 'b' vs 'ab'). There is
no need for it anymore.
2011-09-07 11:19:43 +02:00
Anton Khirnov
a7e2b2ccc9
AVOptions: move doxy for av_opt_set_defaults() from opt.c to opt.h
...
Also change it to be more readable.
2011-09-07 11:16:52 +02:00
Anton Khirnov
0962f23b35
libx264: fix setting some more parameters
...
Specifically, trellis, nr, me_range, me_method, subq, b_strategy,
keyint_min, chroma_me and coder.
Change their defaults to -1 and apply them after
x264_param_default_preset() if the user explicitly set them.
2011-09-07 10:36:15 +02:00
Anton Khirnov
9c684feadc
libx264: add 'direct-pred' private option
...
Deprecate AVCodecContext.directpred
2011-09-07 07:27:55 +02:00
Anton Khirnov
0635a8aa21
libx264: add 'partitions' private option
...
Deprecate AVCodecContext.partitions.
2011-09-07 07:27:18 +02:00
Anton Khirnov
7042337673
libx264: add 'cplxblur' private option
...
Deprecate AVCodecContext.complexityblur
2011-09-06 21:03:41 +02:00
Anton Khirnov
71b5f4427b
libx264: add 'deblock' private option
...
Deprecate AVCodecContext.deblockalpha/deblockbeta
2011-09-06 21:02:45 +02:00
Anton Khirnov
f83c45183e
libx264: add 'b-bias' private option
...
Deprecate AVCodecContext.bframebias.
2011-09-06 20:14:35 +02:00
Anton Khirnov
bb73cda2f6
libx264: fix setting some options.
...
Specifically: gop_size, max_b_frames, scenechange_threshold, qmin, qmax,
max_qdiff, qblur, qcompress and refs.
Change their default values to -1 and only use them if the user
explicitly set them. Otherwise x264 defaults are used.
Move setting those options after x264_param_default_preset(), so they
don't get overwritten by it.
2011-09-06 20:13:28 +02:00
Anton Khirnov
d8dee0e7bd
libx264: remove useless assignment
...
priv_data is memset to 0.
2011-09-06 20:13:11 +02:00
Anton Khirnov
a2a38d9665
avconv: fix parsing metadata specifiers.
...
After 039267f192 , metadata specifiers are
passed without the leading ':'. Remove a ++ that didn't take this into
account.
2011-09-05 12:11:10 +02:00
Anton Khirnov
bc5acfa7af
fate: use +frame+slice named constants instead of '3'
2011-09-05 12:11:08 +02:00
Anton Khirnov
dc26318c2d
avconv: move mux_preload and mux_max_delay to options context
2011-09-05 11:18:15 +02:00