ffmpeg.git
9 years agoconfigure: add lavfi dependencies to .pc files.
Nicolas George [Sun, 5 Feb 2012 15:52:26 +0000 (16:52 +0100)]
configure: add lavfi dependencies to .pc files.

lavfi have optional filters that depends on some components:
it is necessary to test which one is enabled to set the correct
dependencies.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
9 years agoriff: IPJ2 decodes with j2k decoder. samples can be made from mencoder and jp2avi...
Compn [Thu, 23 Feb 2012 04:34:45 +0000 (23:34 -0500)]
riff: IPJ2 decodes with j2k decoder. samples can be made from mencoder and jp2avi.dll codec.

9 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Thu, 23 Feb 2012 01:33:21 +0000 (02:33 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  dxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex
  img2: split muxer and demuxer into separate files
  rm: prevent infinite loops for index parsing.
  aac: fix infinite loop on end-of-frame with sequence of 1-bits.
  mov: Add more HDV and XDCAM FourCCs.
  lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().
  rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.
  cdxl: correctly synchronize video timestamps to audio
  mlpdec_parser: fix a few channel layouts.
  Add channel names to channel_names[] array for channels added in b2890f5
  movenc: Buffer the mdat for the initial moov fragment, too
  flvdec: Ignore the index if the ignidx flag is set
  flvdec: Fix indentation
  movdec: Don't parse all fragments if ignidx is set
  movdec: Restart parsing root-level atoms at the right spot
  prores: use natural integer type for the codebook index
  mov: Add support for MPEG2 HDV 720p24 (hdv4)
  swscale: K&R formatting cosmetics (part I)
  swscale: variable declaration and placement cosmetics

Conflicts:
configure
libavcodec/aacdec.c
libavcodec/mlp_parser.c
libavformat/flvdec.c
libavformat/img2.c
libavformat/isom.h
libavformat/mov.c
libavformat/movenc.c
libswscale/rgb2rgb.c
libswscale/rgb2rgb_template.c
libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoeval: support 3 parameter functions.
Michael Niedermayer [Wed, 22 Feb 2012 16:19:35 +0000 (17:19 +0100)]
eval: support 3 parameter functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoeval: Add taylor series evaluation support.
Michael Niedermayer [Tue, 21 Feb 2012 19:47:18 +0000 (20:47 +0100)]
eval: Add taylor series evaluation support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agodxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex
Rafaël Carré [Mon, 6 Feb 2012 21:08:08 +0000 (16:08 -0500)]
dxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex

This structure is well defined by Microsoft at:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff564012(v=vs.85).aspx
Thus, the wDecodedPictureIndex member is guaranteed to exist.

Also, both the MPEG-2 and VC-1 hwaccel decoders depend on this struct member,
but only the VC-1 decoder was disabled if the check failed.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoimg2: split muxer and demuxer into separate files
Paul B Mahol [Tue, 21 Feb 2012 21:07:56 +0000 (21:07 +0000)]
img2: split muxer and demuxer into separate files

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agorm: prevent infinite loops for index parsing.
Ronald S. Bultje [Wed, 22 Feb 2012 19:33:24 +0000 (11:33 -0800)]
rm: prevent infinite loops for index parsing.

Specifically, prevent jumping back in the file for the next index, since
this can lead to infinite loops where we jump between indexes referring
to each other, and don't read indexes that don't fit in the file.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
9 years agoaac: fix infinite loop on end-of-frame with sequence of 1-bits.
Alex Converse [Wed, 22 Feb 2012 19:05:42 +0000 (11:05 -0800)]
aac: fix infinite loop on end-of-frame with sequence of 1-bits.

Based-on-work-by: Ronald S. Bultje <rsbultje@gmail.com>
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
9 years agomov: Add more HDV and XDCAM FourCCs.
Alex Converse [Tue, 21 Feb 2012 23:37:35 +0000 (15:37 -0800)]
mov: Add more HDV and XDCAM FourCCs.

Reference: VLC

9 years agolavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().
Anton Khirnov [Thu, 5 Jan 2012 15:55:33 +0000 (16:55 +0100)]
lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().

It is not supposed to be done outside lavc.

This is basically a revert of 818062f2f346df30f4ec0c0c1f54e8025cc3a80a.

It is unclear what issue this was supposed to fix, if it reappears again
it will have to be fixed in a more proper place.

The wtv-demux test change is because the sample starts with a B-frame.

9 years agormdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.
Ronald S. Bultje [Tue, 21 Feb 2012 18:36:27 +0000 (10:36 -0800)]
rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.

We read sub_packet_h / 2 packets per line of data (during deinterleaving),
which equals zero if sub_packet_h <= 1, thus causing us to not read any
data, leading to an infinite loop.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
9 years agocdxl: correctly synchronize video timestamps to audio
Paul B Mahol [Tue, 21 Feb 2012 18:15:51 +0000 (18:15 +0000)]
cdxl: correctly synchronize video timestamps to audio

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agomlpdec_parser: fix a few channel layouts.
Tim Walker [Wed, 22 Feb 2012 15:09:42 +0000 (16:09 +0100)]
mlpdec_parser: fix a few channel layouts.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoAdd channel names to channel_names[] array for channels added in b2890f5
Tim Walker [Wed, 22 Feb 2012 14:43:22 +0000 (15:43 +0100)]
Add channel names to channel_names[] array for channels added in b2890f5

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agolavu: document av_reverse.
Nicolas George [Wed, 22 Feb 2012 10:35:31 +0000 (11:35 +0100)]
lavu: document av_reverse.

9 years agolavd/lavfi: support all sample formats.
Nicolas George [Thu, 16 Feb 2012 14:00:18 +0000 (15:00 +0100)]
lavd/lavfi: support all sample formats.

9 years agolavc: introduce av_get_pcm_codec.
Nicolas George [Thu, 16 Feb 2012 13:59:55 +0000 (14:59 +0100)]
lavc: introduce av_get_pcm_codec.

9 years agomovenc: Buffer the mdat for the initial moov fragment, too
Martin Storsjö [Thu, 2 Feb 2012 10:50:26 +0000 (12:50 +0200)]
movenc: Buffer the mdat for the initial moov fragment, too

This allows writing QuickTime-compatible fragmented mp4 (with
a non-empty moov atom) to a non-seekable output.

This buffers the mdat for the initial fragment just as it does
for all normal fragments, too. Previously, the resulting
atom structure was mdat,moov, moof,mdat ..., while it now
is moov,mdat, moof,mdat.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoflvdec: Ignore the index if the ignidx flag is set
Martin Storsjö [Wed, 22 Feb 2012 09:26:42 +0000 (11:26 +0200)]
flvdec: Ignore the index if the ignidx flag is set

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoflvdec: Fix indentation
Martin Storsjö [Wed, 22 Feb 2012 09:00:35 +0000 (11:00 +0200)]
flvdec: Fix indentation

Also split a long line.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoaf_pan: remove dual double/int storage of gain.
Nicolas George [Mon, 20 Feb 2012 20:25:12 +0000 (21:25 +0100)]
af_pan: remove dual double/int storage of gain.

libswresample takes care of that now.

9 years agomovdec: Don't parse all fragments if ignidx is set
Martin Storsjö [Tue, 21 Feb 2012 10:16:18 +0000 (12:16 +0200)]
movdec: Don't parse all fragments if ignidx is set

In nonseekable files, we already stop parsing the toplevel atoms
after finding moov and one mdat. In large seekable files (or files
that are seekable, but slowly, e.g. http), reading all the fragments
at the start can take a considerable amount of time. This allows
opting out from this behaviour.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agomovdec: Restart parsing root-level atoms at the right spot
Martin Storsjö [Tue, 21 Feb 2012 10:03:56 +0000 (12:03 +0200)]
movdec: Restart parsing root-level atoms at the right spot

If parsing moov+mdat in a non-seekable file, we currently
abort parsing directly after parsing the header of the mdat
atom. If we want to continue parsing later (if looking to
parse later fragments), we need to skip past the content of the
mdat atom, otherwise we end up parsing the content of the mdat
atom as root level atoms.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoprores: use natural integer type for the codebook index
Christophe GISQUET [Tue, 21 Feb 2012 21:36:15 +0000 (22:36 +0100)]
prores: use natural integer type for the codebook index

The operations that use it require it to be promoted to a larger (natural)
type and thus perform sign extension on it.

While an optimal compiler may account for this, gcc 4.6 (for x86 Windows)
fails. Using the natural integer type provides a 2% speedup for Win64
and 1% for Win32.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agor210enc and y41penc: don't set same pkt->size twice
Paul B Mahol [Wed, 22 Feb 2012 00:11:27 +0000 (00:11 +0000)]
r210enc and y41penc: don't set same pkt->size twice

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agopngdec: Print error if signature is wrong.
Michael Niedermayer [Wed, 22 Feb 2012 02:36:36 +0000 (03:36 +0100)]
pngdec: Print error if signature is wrong.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Wed, 22 Feb 2012 00:35:41 +0000 (01:35 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  mpegvideo_enc: only allocate output packet when we know there will be output
  Add names for more channel layouts to the channel layout map.
  sunrast: Add a sample request for RMP_RAW colormap.
  avcodec: do not override pts or duration from the audio encoder
  Add prores regression test.
  Enable already existing rso regression test.
  Add regression test for "sox" format muxer/demuxer.
  Add dpx encoding regression test.
  swscale: K&R formatting cosmetics for PowerPC code (part I/II)
  img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
  Clarify licensing information about files borrowed from libjpeg.
  Mark mutable static data const where appropriate.
  avplay: fix -threads option
  dvbsubdec: avoid undefined signed left shift in RGBA macro
  mlpdec: use av_log_ask_for_sample()
  gif: K&R formatting cosmetics
  png: make .long_name more descriptive
  movdec: Adjust keyframe flagging in fragmented files
  rv34: change most "int stride" into "ptrdiff_t stride".

Conflicts:
avprobe.c
ffplay.c
libavcodec/mlpdec.c
libavcodec/mpegvideo_enc.c
libavcodec/pngenc.c
libavcodec/x86/v210-init.c
libavfilter/vf_boxblur.c
libavfilter/vf_crop.c
libavfilter/vf_drawtext.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_select.c
libavfilter/vf_setpts.c
libavfilter/vf_settb.c
libavformat/img2.c
libavutil/audioconvert.c
tests/codec-regression.sh
tests/lavf-regression.sh
tests/ref/lavf/dpx
tests/ref/vsynth1/prores
tests/ref/vsynth2/prores

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agolavf: Reimplement new seek API emulation
Michael Niedermayer [Fri, 17 Feb 2012 23:16:58 +0000 (00:16 +0100)]
lavf: Reimplement new seek API emulation

This fixes seeking to before and after files with ffplay.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agoavidec: Reduce log level for out of index error message.
Michael Niedermayer [Sat, 18 Feb 2012 02:44:17 +0000 (03:44 +0100)]
avidec: Reduce log level for out of index error message.

Its otherwise spaming every time one tries to seek to outside
the file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agodoxy: Disable the main index page.
Michael Niedermayer [Sat, 11 Feb 2012 21:35:33 +0000 (22:35 +0100)]
doxy: Disable the main index page.

Theres no usefull or even remotely complete information on it currently.
Which just leads to confusion.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
9 years agomov: Add support for MPEG2 HDV 720p24 (hdv4)
Alex Converse [Tue, 21 Feb 2012 22:08:02 +0000 (14:08 -0800)]
mov: Add support for MPEG2 HDV 720p24 (hdv4)

9 years agoswscale: K&R formatting cosmetics (part I)
Diego Biurrun [Tue, 21 Feb 2012 19:09:31 +0000 (20:09 +0100)]
swscale: K&R formatting cosmetics (part I)

9 years agoswscale: variable declaration and placement cosmetics
Diego Biurrun [Wed, 15 Feb 2012 10:46:47 +0000 (11:46 +0100)]
swscale: variable declaration and placement cosmetics

9 years agompegvideo_enc: only allocate output packet when we know there will be output
Anton Khirnov [Mon, 20 Feb 2012 07:01:48 +0000 (08:01 +0100)]
mpegvideo_enc: only allocate output packet when we know there will be output

Fixes a memleak.

9 years agodoc/examples: rename filtering.c into filtering_video.c.
Clément Bœsch [Tue, 21 Feb 2012 21:34:39 +0000 (22:34 +0100)]
doc/examples: rename filtering.c into filtering_video.c.

9 years agoAdd names for more channel layouts to the channel layout map.
Tim W [Tue, 21 Feb 2012 20:27:03 +0000 (21:27 +0100)]
Add names for more channel layouts to the channel layout map.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agosunrast: Add a sample request for RMP_RAW colormap.
Aneesh Dogra [Sun, 19 Feb 2012 18:27:21 +0000 (23:57 +0530)]
sunrast: Add a sample request for RMP_RAW colormap.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoavcodec: do not override pts or duration from the audio encoder
Justin Ruggles [Fri, 10 Feb 2012 22:16:18 +0000 (17:16 -0500)]
avcodec: do not override pts or duration from the audio encoder

This allows encoders to set pts and/or duration even if they do not use
CODEC_CAP_DELAY.

9 years agoAdd prores regression test.
Reimar Döffinger [Tue, 21 Feb 2012 17:22:42 +0000 (12:22 -0500)]
Add prores regression test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoEnable already existing rso regression test.
Reimar Döffinger [Tue, 21 Feb 2012 17:22:45 +0000 (12:22 -0500)]
Enable already existing rso regression test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoAdd regression test for "sox" format muxer/demuxer.
Reimar Döffinger [Tue, 21 Feb 2012 17:22:44 +0000 (12:22 -0500)]
Add regression test for "sox" format muxer/demuxer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoAdd dpx encoding regression test.
Carl Eugen Hoyos [Tue, 21 Feb 2012 17:22:43 +0000 (12:22 -0500)]
Add dpx encoding regression test.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agoswscale: K&R formatting cosmetics for PowerPC code (part I/II)
Diego Biurrun [Tue, 21 Feb 2012 18:58:48 +0000 (19:58 +0100)]
swscale: K&R formatting cosmetics for PowerPC code (part I/II)

9 years agoimg2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
Diego Biurrun [Tue, 21 Feb 2012 14:49:41 +0000 (15:49 +0100)]
img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.

9 years agoClarify licensing information about files borrowed from libjpeg.
Diego Biurrun [Sun, 19 Feb 2012 16:03:55 +0000 (17:03 +0100)]
Clarify licensing information about files borrowed from libjpeg.

9 years agoMark mutable static data const where appropriate.
Alex Converse [Mon, 20 Feb 2012 08:42:33 +0000 (00:42 -0800)]
Mark mutable static data const where appropriate.

9 years agodoc/examples: add audio decoding/filtering example.
Clément Bœsch [Mon, 20 Feb 2012 12:49:18 +0000 (13:49 +0100)]
doc/examples: add audio decoding/filtering example.

Mostly based on doc/examples/filtering.c. lavfi API is still limited to
"buffer feeding" instead of "frame feeding" at the moment, so this
example code sticks with it.

9 years agoavplay: fix -threads option
Janne Grunau [Tue, 21 Feb 2012 15:34:08 +0000 (16:34 +0100)]
avplay: fix -threads option

The AVOptions based default to threads auto in 2473a45c8
works only if avplay does not use custom option handling
for -threads.

CC: <libav-stable@libav.org>
9 years agolavfi/abuffer: init the data planes with NULL pointers.
Clément Bœsch [Wed, 15 Feb 2012 14:07:09 +0000 (15:07 +0100)]
lavfi/abuffer: init the data planes with NULL pointers.

Samples buffer ref is allocated and loaded with the uninitialized data
pointers:
     av_asrc_buffer_add_buffer()
  -> av_asrc_buffer_add_samples()
  -> avfilter_get_audio_buffer_ref_from_arrays(data, ...)

...which leads to a crash with at least lavfi/ashowinfo in case of !NULL
(see the for loop while samplesref->data[plane]).

9 years agodvbsubdec: avoid undefined signed left shift in RGBA macro
Janne Grunau [Fri, 3 Feb 2012 11:06:37 +0000 (12:06 +0100)]
dvbsubdec: avoid undefined signed left shift in RGBA macro

9 years agomlpdec: use av_log_ask_for_sample()
Paul B Mahol [Wed, 15 Feb 2012 17:27:32 +0000 (17:27 +0000)]
mlpdec: use av_log_ask_for_sample()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
9 years agogif: K&R formatting cosmetics
Aneesh Dogra [Sun, 19 Feb 2012 18:24:45 +0000 (23:54 +0530)]
gif: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agopng: make .long_name more descriptive
Paul B Mahol [Mon, 20 Feb 2012 20:37:36 +0000 (20:37 +0000)]
png: make .long_name more descriptive

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agomovdec: Adjust keyframe flagging in fragmented files
Martin Storsjö [Tue, 31 Jan 2012 10:45:02 +0000 (12:45 +0200)]
movdec: Adjust keyframe flagging in fragmented files

For video, mark the first sample in a trun which doesn't have the
sample-is-non-sync-sample flag set as a keyframe.

In particular, the "sample does not depend on other samples" flag
isn't enough to make it a keyframe, since later frames still can
reference frames prior to that one (the flag only says that that
particular frame doesn't depend on other frames).

This fixes bug 215.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Tue, 21 Feb 2012 01:49:41 +0000 (02:49 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master: (36 commits)
  adpcmenc: Use correct frame_size for Yamaha ADPCM.
  avcodec: add ff_samples_to_time_base() convenience function to internal.h
  adx parser: set duration
  mlp parser: set duration instead of frame_size
  gsm parser: set duration
  mpegaudio parser: set duration instead of frame_size
  (e)ac3 parser: set duration instead of frame_size
  flac parser: set duration instead of frame_size
  avcodec: add duration field to AVCodecParserContext
  avutil: add av_rescale_q_rnd() to allow different rounding
  pnmdec: remove useless .pix_fmts
  libmp3lame: support float and s32 sample formats
  libmp3lame: renaming, rearrangement, alignment, and comments
  libmp3lame: use the LAME default bit rate
  libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
  libmp3lame: cosmetics: remove some pointless comments
  libmp3lame: convert some debugging code to av_dlog()
  libmp3lame: remove outdated comment.
  libmp3lame: do not set coded_frame->key_frame.
  libmp3lame: improve error handling in MP3lame_encode_init()
  ...

Conflicts:
doc/APIchanges
libavcodec/libmp3lame.c
libavcodec/pcxenc.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/sgienc.c
libavcodec/utils.c
libavformat/hls.c
libavutil/avutil.h
libswscale/x86/swscale_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
9 years agorv34: change most "int stride" into "ptrdiff_t stride".
Ronald S. Bultje [Fri, 17 Feb 2012 06:04:14 +0000 (22:04 -0800)]
rv34: change most "int stride" into "ptrdiff_t stride".

This prevents having to sign-extend on 64-bit systems with 32-bit ints,
such as x86-64. Also fixes crashes on systems where we don't do it and
arguments are not in registers, such as Win64 for all weight functions.

9 years agoaf_pan: move query_format before config_props.
Nicolas George [Mon, 20 Feb 2012 20:45:18 +0000 (21:45 +0100)]
af_pan: move query_format before config_props.

That is the logical order in which the functions are called,
and there is no longer any need of forward declarations.

9 years agoaf_pan: remove the indirect function call.
Nicolas George [Mon, 20 Feb 2012 20:43:16 +0000 (21:43 +0100)]
af_pan: remove the indirect function call.

libswresample is used in all cases.

9 years agoadpcmenc: Use correct frame_size for Yamaha ADPCM.
Justin Ruggles [Tue, 31 Jan 2012 20:57:53 +0000 (15:57 -0500)]
adpcmenc: Use correct frame_size for Yamaha ADPCM.

Output packet size should match avctx->block_align. The target output packet
size is 1024 bytes.
Before:
mono   - 1024 samples -> 512 bytes
stereo - 2048 samples -> 2048 bytes
After:
mono   - 2048 samples -> 1024 bytes
stereo - 1024 samples -> 1024 bytes

9 years agoAdd missing av_free_packet.
Reimar Döffinger [Mon, 20 Feb 2012 20:20:04 +0000 (21:20 +0100)]
Add missing av_free_packet.

Fixes memory leak when encoding at least with mpegvideo using the
new encode2 function.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
9 years agoavcodec: add ff_samples_to_time_base() convenience function to internal.h
Justin Ruggles [Tue, 7 Feb 2012 20:37:45 +0000 (15:37 -0500)]
avcodec: add ff_samples_to_time_base() convenience function to internal.h

9 years agoadx parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 04:43:31 +0000 (23:43 -0500)]
adx parser: set duration

9 years agomlp parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 04:43:30 +0000 (23:43 -0500)]
mlp parser: set duration instead of frame_size

9 years agogsm parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 05:40:10 +0000 (00:40 -0500)]
gsm parser: set duration

9 years agompegaudio parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 02:05:08 +0000 (21:05 -0500)]
mpegaudio parser: set duration instead of frame_size

9 years ago(e)ac3 parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:59:43 +0000 (20:59 -0500)]
(e)ac3 parser: set duration instead of frame_size

9 years agoflac parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:53:09 +0000 (20:53 -0500)]
flac parser: set duration instead of frame_size

9 years agoavcodec: add duration field to AVCodecParserContext
Justin Ruggles [Fri, 13 Jan 2012 01:03:17 +0000 (20:03 -0500)]
avcodec: add duration field to AVCodecParserContext

This will allow parsers to export the duration of the current frame being
output, if known, instead of using AVCodecContext.frame_size.

9 years agoavutil: add av_rescale_q_rnd() to allow different rounding
Justin Ruggles [Mon, 13 Feb 2012 20:35:00 +0000 (15:35 -0500)]
avutil: add av_rescale_q_rnd() to allow different rounding

9 years agoaf_pan: reindent after last commit.
Nicolas George [Mon, 20 Feb 2012 19:15:09 +0000 (20:15 +0100)]
af_pan: reindent after last commit.

9 years agoaf_pan: use libswr for rematrixing.
Nicolas George [Thu, 16 Feb 2012 11:34:39 +0000 (12:34 +0100)]
af_pan: use libswr for rematrixing.

9 years agolibswr: allow to set custom matrices.
Nicolas George [Thu, 16 Feb 2012 10:26:32 +0000 (11:26 +0100)]
libswr: allow to set custom matrices.

9 years agomatroskadec: remove H.264 special-case that disabled header parsing.
Reimar Döffinger [Sun, 19 Feb 2012 14:30:34 +0000 (15:30 +0100)]
matroskadec: remove H.264 special-case that disabled header parsing.

The parser was fixed so this workaround should no longer
be necessary.
This allows using stream-copy to fix files with keyframes
incorrectly marked.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
9 years agopnmdec: remove useless .pix_fmts
Paul B Mahol [Sun, 19 Feb 2012 05:20:01 +0000 (05:20 +0000)]
pnmdec: remove useless .pix_fmts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
9 years agolibmp3lame: support float and s32 sample formats
Justin Ruggles [Fri, 17 Feb 2012 06:50:57 +0000 (01:50 -0500)]
libmp3lame: support float and s32 sample formats

9 years agolibmp3lame: renaming, rearrangement, alignment, and comments
Justin Ruggles [Fri, 17 Feb 2012 05:04:54 +0000 (00:04 -0500)]
libmp3lame: renaming, rearrangement, alignment, and comments

9 years agolibmp3lame: use the LAME default bit rate
Justin Ruggles [Fri, 17 Feb 2012 04:28:38 +0000 (23:28 -0500)]
libmp3lame: use the LAME default bit rate

Also, only set bit rate for CBR.

9 years agolibmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
Justin Ruggles [Fri, 17 Feb 2012 04:06:54 +0000 (23:06 -0500)]
libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing

9 years agolibmp3lame: cosmetics: remove some pointless comments
Justin Ruggles [Fri, 17 Feb 2012 03:27:46 +0000 (22:27 -0500)]
libmp3lame: cosmetics: remove some pointless comments

9 years agolibmp3lame: convert some debugging code to av_dlog()
Justin Ruggles [Fri, 17 Feb 2012 03:25:51 +0000 (22:25 -0500)]
libmp3lame: convert some debugging code to av_dlog()

also remove unneeded commented-out full frame data debugging

9 years agolibmp3lame: remove outdated comment.
Justin Ruggles [Fri, 17 Feb 2012 03:18:31 +0000 (22:18 -0500)]
libmp3lame: remove outdated comment.

We now require at least libmp3lame 3.98.3.
lame_encode_buffer_interleaved() still doesn't work for mono, but it does not
"die"; it just expects a stereo interleaved buffer.

9 years agolibmp3lame: do not set coded_frame->key_frame.
Justin Ruggles [Fri, 17 Feb 2012 03:12:21 +0000 (22:12 -0500)]
libmp3lame: do not set coded_frame->key_frame.

it is already set in avcodec_alloc_frame()

9 years agolibmp3lame: improve error handling in MP3lame_encode_init()
Justin Ruggles [Fri, 17 Feb 2012 03:12:03 +0000 (22:12 -0500)]
libmp3lame: improve error handling in MP3lame_encode_init()

9 years agolibmp3lame: remove unneeded 'stereo' field from Mp3AudioContext
Justin Ruggles [Fri, 17 Feb 2012 03:04:08 +0000 (22:04 -0500)]
libmp3lame: remove unneeded 'stereo' field from Mp3AudioContext

9 years agoffprobe: report bit rate in stream description
Matthieu Bouron [Mon, 6 Feb 2012 10:58:14 +0000 (11:58 +0100)]
ffprobe: report bit rate in stream description

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
9 years agolavc: set bit_rate in the decoder context, just after the init stage
Stefano Sabatini [Thu, 9 Feb 2012 17:50:32 +0000 (18:50 +0100)]
lavc: set bit_rate in the decoder context, just after the init stage

Also move the get_bit_rate() function, in order to avoid an undefined
symbol reference in avcodec_open2().

9 years agohls: Reset the AVIOContext when seeking
Martin Storsjö [Fri, 20 Jan 2012 14:29:09 +0000 (16:29 +0200)]
hls: Reset the AVIOContext when seeking

This avoids reading any old data in the AVIOContext buffer after
the seek, and indicates to the mpegts demuxer that we've seeked,
avoiding continuity check errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agodoc: fix channel layout value in abuffer example.
Clément Bœsch [Tue, 14 Feb 2012 11:16:51 +0000 (12:16 +0100)]
doc: fix channel layout value in abuffer example.

The channel layout must start with 0x, otherwise it is parsed as a
number of channels.

9 years agopcxenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pcxenc: switch to encode2().

9 years agosgienc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
sgienc: switch to encode2().

9 years agotargaenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
targaenc: switch to encode2().

9 years agotargaenc: don't modify input frame.
Anton Khirnov [Sun, 19 Feb 2012 09:44:52 +0000 (10:44 +0100)]
targaenc: don't modify input frame.

Set the pict_type/key_frame properties on the coded picture.

9 years agoroqvideoenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
roqvideoenc: switch to encode2().

9 years agoroqvideoenc: add const qualifier to the input frame.
Anton Khirnov [Sun, 19 Feb 2012 09:01:01 +0000 (10:01 +0100)]
roqvideoenc: add const qualifier to the input frame.

9 years agopnmenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pnmenc: switch to encode2().

9 years agohuffyuv: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
huffyuv: switch to encode2().

9 years agov410enc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
v410enc: switch to encode2().

9 years agozmbvenc: switch to encode2().
Anton Khirnov [Fri, 10 Feb 2012 09:30:05 +0000 (10:30 +0100)]
zmbvenc: switch to encode2().

9 years agozmbvenc: move header writing to the end of encode_frame().
Anton Khirnov [Sun, 19 Feb 2012 10:16:16 +0000 (11:16 +0100)]
zmbvenc: move header writing to the end of encode_frame().

This makes switching to encode2() simpler, because it allows us to know
exactly how large should the output buffer be before we start writing
into it.