Michael Niedermayer
8469c73576
Merge commit '182d3f8221c23716ea4eafa460bdb94968f71f26'
...
* commit '182d3f8221c23716ea4eafa460bdb94968f71f26':
output example: rewrite encoding logic
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 00:57:04 +02:00
Michael Niedermayer
9a2850c26a
Merge commit 'a7fcd4122b19b0f934020f4e261d0c44c4c32e11'
...
* commit 'a7fcd4122b19b0f934020f4e261d0c44c4c32e11':
output example: store the scaling context in the stream context
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-27 00:16:34 +02:00
Michael Niedermayer
877716a79c
Merge commit '6a927d7aaf5625e83a674072913b9e292a303fd1'
...
* commit '6a927d7aaf5625e83a674072913b9e292a303fd1':
output example: use a macro instead of a static variable
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:58:00 +02:00
Michael Niedermayer
5a55d5e445
Merge commit '63fd0d866c8300a8f251a15b1535e9ce40a407fb'
...
* commit '63fd0d866c8300a8f251a15b1535e9ce40a407fb':
output example: allocate the audio frame only once
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:22:08 +02:00
Michael Niedermayer
b9bfd888e5
Merge commit 'edd5f957646dcbf1bb55718bc7bf1e5481c25bcb'
...
* commit 'edd5f957646dcbf1bb55718bc7bf1e5481c25bcb':
output example: use OutputStream for audio streams as well
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 23:01:52 +02:00
Michael Niedermayer
11991a7d90
Merge commit '5e7b125b6ae36893dfd9cb5661c99b67363cbb38'
...
* commit '5e7b125b6ae36893dfd9cb5661c99b67363cbb38':
output example: use the new AVFrame API to allocate audio frames
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 22:46:11 +02:00
Michael Niedermayer
a1c4635558
Merge commit 'ac85f631c9a9cc59aaca1c8dd6894fb1f701c594'
...
* commit 'ac85f631c9a9cc59aaca1c8dd6894fb1f701c594':
output example: set output channel layout
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 22:13:46 +02:00
Michael Niedermayer
8eb1174a9e
Merge commit '294daf71a7a1303b5ddd3cbefebed3b732d610f3'
...
* commit '294daf71a7a1303b5ddd3cbefebed3b732d610f3':
output example: use a struct to bundle the video stream variables together
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 21:55:11 +02:00
Michael Niedermayer
c9083d85df
Merge commit '38d044429dabcd28928693240e955c6d4430cca9'
...
* commit '38d044429dabcd28928693240e955c6d4430cca9':
output example: use the new AVFrame API for allocating the video frame
Conflicts:
doc/examples/muxing.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 21:30:37 +02:00
Anton Khirnov
a5864e9a25
output example: free the muxing format context properly
2014-06-26 16:08:06 +02:00
Anton Khirnov
182d3f8221
output example: rewrite encoding logic
...
Properly generate pts for the frames sent to the encoder, avoid
using private and deprecated AVStream.pts.
2014-06-26 16:07:34 +02:00
Anton Khirnov
a7fcd4122b
output example: store the scaling context in the stream context
2014-06-26 16:07:29 +02:00
Anton Khirnov
6a927d7aaf
output example: use a macro instead of a static variable
2014-06-26 16:07:23 +02:00
Anton Khirnov
63fd0d866c
output example: allocate the audio frame only once
2014-06-26 16:07:08 +02:00
Anton Khirnov
edd5f95764
output example: use OutputStream for audio streams as well
2014-06-26 16:07:02 +02:00
Anton Khirnov
5e7b125b6a
output example: use the new AVFrame API to allocate audio frames
2014-06-26 16:06:54 +02:00
Anton Khirnov
ac85f631c9
output example: set output channel layout
2014-06-26 16:06:48 +02:00
Anton Khirnov
294daf71a7
output example: use a struct to bundle the video stream variables together
2014-06-26 16:05:24 +02:00
Anton Khirnov
38d044429d
output example: use the new AVFrame API for allocating the video frame
2014-06-26 16:05:19 +02:00
Michael Niedermayer
afa7ab557a
Merge commit '452860d7e056f9a894cac2fe52cdedeae4c38251'
...
* commit '452860d7e056f9a894cac2fe52cdedeae4c38251':
Use av_packet_rescale_ts() to simplify code.
Conflicts:
doc/examples/muxing.c
ffmpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 17:03:58 +02:00
Anton Khirnov
452860d7e0
Use av_packet_rescale_ts() to simplify code.
2014-06-20 14:14:48 +02:00
Lou Logan
88f2586adb
fix various typos
...
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Stefano Sabatini
bf411fffd4
examples: rename avcodec.c to decoding_encoding.c
...
Restore the old name, which was more meaningful and consistent with the
names of the other examples.
2014-04-23 10:32:42 +02:00
Michael Niedermayer
9b467d3cd5
examples/transcoding: use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 15:35:14 +02:00
Michael Niedermayer
419800acc4
examples/avio_reading: fix null dereference on error
...
Fixed CID1197052
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 00:39:58 +02:00
Anshul Maheshwari
6d25e90262
doc/examples/avcodec: information regarding gop_size ignored if frame->pic-type is AV_PICTURE_TYPE_I
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-21 15:21:15 +01:00
Andrey Utkin
e10ab43614
doc/examples: Add example transcoding.c
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 20:56:33 +01:00
compn
84bccae8e9
doc: fix typo
2014-03-07 17:07:37 -05:00
Jason Hsu
8fb4dba89d
doc/examples/remuxing: dont use the input codec_tag, it may be invalid tor the output
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 16:10:06 +01:00
Michael Niedermayer
1f2bacc897
Merge commit 'e7dfaf16a403972eb6aed5ce8f84c0085bd2fb5a'
...
* commit 'e7dfaf16a403972eb6aed5ce8f84c0085bd2fb5a':
libavfilter: example audio filtering program
Conflicts:
.gitignore
configure
doc/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-25 20:26:00 +01:00
Anton Khirnov
e7dfaf16a4
libavfilter: example audio filtering program
...
Based on a patch by Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-02-25 13:22:10 +01:00
Michael Niedermayer
341639fe80
doc/examples: remove pathes from doxy examples
...
This makes the examples page less cluttered
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 13:50:53 +01:00
Michael Niedermayer
1fc74926a5
Merge commit 'b339182eba34f28de5f1a477cdd2c84f1ef35d90'
...
* commit 'b339182eba34f28de5f1a477cdd2c84f1ef35d90':
Move all example programs to doc/examples
Conflicts:
configure
doc/Makefile
doc/doxy-wrapper.sh
doc/examples/avcodec.c
doc/examples/decoding_encoding.c
doc/examples/metadata.c
doc/examples/muxing.c
doc/examples/transcode_aac.c
libavcodec/Makefile
libavcodec/api-example.c
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 02:22:01 +01:00
Diego Biurrun
b339182eba
Move all example programs to doc/examples
...
Also drop support for building examples in library directories.
2014-02-16 21:37:21 +01:00
Michael Niedermayer
fba1592f35
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
doc/examples: misc Doxygen markup improvements
Conflicts:
doc/examples/muxing.c
doc/examples/transcode_aac.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 15:31:14 +01:00
Diego Biurrun
0b9716c455
doc/examples: misc Doxygen markup improvements
...
Add properly formatted @example tag and fix Doxygen syntax.
2014-02-14 12:01:36 +01:00
Stefano Sabatini
60251c13e3
examples/avio_reading: remove stray empty line
2014-02-02 12:35:46 +01:00
Stefano Sabatini
5fc4dea39c
examples: add avio_reading.c example
2014-02-02 11:58:23 +01:00
Michael Niedermayer
a85a718f26
doc/examples/decoding_encoding: Check all av_samples_get_buffer_size() returns
...
Fixed CID1135755
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-31 03:27:37 +01:00
Stefano Sabatini
ca57659440
examples/filtering_audio,video: do not call avcodec_register_all()
...
It is implied by av_register_all(). Simplify.
2014-01-24 12:20:46 +01:00
Stefano Sabatini
35fe88bb51
examples/muxing: reindent after previous commit
2014-01-23 01:08:24 +01:00
Stefano Sabatini
c92d2f98db
examples/muxing: flush encoders at the end
2014-01-23 00:54:33 +01:00
Stefano Sabatini
b539a72bba
examples/filtering_audio,video: drop call to avcodec_get_frame_defaults()
...
The avcodec_get_frame_defaults() function is deprecated and its use
doesn't seem required.
2014-01-21 20:08:36 +01:00
Stefano Sabatini
e34ad128a3
examples/muxing: reduce duration, remove wrong and misleading comment
...
Set duration to 10 seconds, after it was increased from 5 to 200 seconds
in 8d80f3cb87
.
200 seconds will generate too much data which is annoying especially when
testing.
2014-01-21 11:52:14 +01:00
Stefano Sabatini
9ab8f3738a
examples/muxing: remove redundant {}
2014-01-20 13:10:10 +01:00
Stefano Sabatini
b933c72b5e
examples/muxing: change error checks, from "ret != 0" to "ret < 0"
...
More consistent and more future-proof.
2014-01-20 13:10:10 +01:00
Stefano Sabatini
d72c742d47
examples/muxing: factorize write_interleave code
...
Also log output packet information.
2014-01-20 13:10:10 +01:00
Stefano Sabatini
5e2b8e4934
examples: add remuxing example
...
Show how to perform streamcopy from one container to another.
2014-01-20 13:10:10 +01:00
Stefano Sabatini
d497141b85
examples/muxing: simplify video PTS setting
...
Rely on frame_count. Also more consistent with audio path.
2014-01-12 09:25:48 +01:00
Andre Anjos
23ffc4c70d
doc/examples/muxing: Fixes frame initialization.
...
Fixes use of the example with encoders which use tha AVFrame w/h/pix_fmt fields
FFV1 is one of these codecs
We cannot easily workaround the not set fields in common code because the API
has AVFrame constant for the encoders.
Alternatives would be to fix the API or to duplicate the struct and fill in
missing fields. Or as is to require all user apps to set this correctly and
maybe simplify for that case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 18:12:24 +01:00
Stefano Sabatini
094c500caf
examples/muxing: set timestamps in output audio packet
...
In particular, fix trac ticket #3231 .
2014-01-09 10:54:38 +01:00
Stefano Sabatini
8d22d37e54
examples/muxing: use av_frame_free() in place of av_free()
2014-01-09 10:51:57 +01:00
Stefano Sabatini
9abe4a10fd
examples/muxing: reuse global audio frame
...
Simplify logic, avoid multiple unnecessary alloc/free operations.
2014-01-09 10:51:52 +01:00
Stefano Sabatini
80bca6eabe
examples/muxing: honour distinction between encoder PTS timebase and stream timebase
...
Fix PTS set on the frame when encoding, which must be specified in the
encoder timebase or this will confuse the encoder.
When muxing the packet, the PTS/DTS generated by the encoder is then
rescaled to the stream timebase.
2014-01-09 10:51:47 +01:00
Stefano Sabatini
eadc421259
examples/muxing: set sample formats from list of codec supported sample formats
...
Avoid the need of tweaking, also show how to get list of supported sample
formats.
2014-01-09 10:51:41 +01:00
Stefano Sabatini
2503928a2f
examples/decoding_encoding: fix style nits
2014-01-07 13:08:11 +01:00
Ilya Basin
d1b8e01ef1
examples/muxing: fix memleaks in resampler
...
- do not allocate resample dst buffer when resample is off
- free sample buffers in addition to freeing data pointer arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 12:22:49 +01:00
Ilya Basin
7d1d0b3ecf
examples/muxing: use S16 sample_fmt for resample src regardless of codec sample_fmt
...
We generate S16 samples and we should allocate the right buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 12:21:05 +01:00
Ilya Basin
b6714fa077
examples/muxing: fix av_frame_free() not called when got_packet is false
...
Hi list! Since my last patch (fix 2 memleaks in doc/examples/muxing.c)
I found more problems to fix.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-21 12:20:44 +01:00
Stefano Sabatini
b2a4316287
examples/decoding_encoding: check av_samples_get_buffer_size() for a negative value
...
Fix broken != 0 check.
2013-12-15 20:09:26 +01:00
Timothy Gu
c65fe9e982
examples/decoding_encoding: check av_samples_get_buffer_size() return code
...
Fixes CID1135756.
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2013-12-14 14:02:49 +01:00
Timothy Gu
b242c156e5
examples/resample_audio: check av_samples_get_buffer_size() return code
...
Fixes CID1135757.
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2013-12-14 14:02:33 +01:00
Clément Bœsch
b02d87936b
examples/demuxing_decoding: print the decoding error when it happens.
2013-12-13 10:37:20 +01:00
Even Wiik Thomassen
43f116d162
examples/demuxing_decoding: return error when no codec found
...
The open_codec_context function, when it fails to find a codec, now
return AVERROR(EINVAL) to signal an error.
Before it would return the stream index, which was always >= 0, and
continue as if a codec was found. This change make it fail faster,
instead of repeated failed tries to decode frames with no codec.
Signed-off-by: Even Wiik Thomassen <e.thomassen@sportradar.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-12-13 09:45:54 +01:00
Michael Niedermayer
525a7d9b78
Merge commit '48d17ee6dc2b2a552f645484f200c2946bf24607'
...
* commit '48d17ee6dc2b2a552f645484f200c2946bf24607':
api-example: remove an unneeded call to avcodec_get_frame_defaults().
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-12 00:19:53 +01:00
Michael Niedermayer
4cbf3eb9e6
Merge commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9'
...
* commit 'eb891b3114f499e96b9faddd0b0ae856345dfbd9':
Replace all uses of avcodec_free_frame with av_frame_free().
Conflicts:
doc/examples/decoding_encoding.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 23:18:51 +01:00
Anton Khirnov
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
2013-12-11 20:39:54 +01:00
Michael Niedermayer
210a78aeb5
doc/examples/filtering_audio: init packet0.data
...
Fixes use of uinitialized data and crash
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-03 00:01:07 +01:00
Stefano Sabatini
c490cd4c1a
doc/examples/filtering_audio: fix chunked audio decoding
...
Support the case when multiple frames are contained in a single packet.
In particular, fix fate-samples/lossless-audio/luckynight-partial.shn
sample decoding.
2013-12-02 15:21:52 +01:00
Stefano Sabatini
893f33e7f0
doc/examples/filtering_audio: fix style
2013-12-02 15:08:00 +01:00
Stefano Sabatini
c7a99d99bd
doc/examples/filtering_video: do not make use of AVBufferSinkParams
...
Set the value on the filter context instead. Simplify.
2013-12-02 14:35:40 +01:00
Stefano Sabatini
3aa6018010
doc/examples/filtering_video: add some error handling in init_filters()
2013-12-02 14:35:39 +01:00
Stefano Sabatini
a12bf9f50f
doc/examples/README: fix typo
2013-12-02 14:35:39 +01:00
Stefano Sabatini
55c57658d2
doc/examples/filtering_audio: add more error checks
2013-12-02 14:35:39 +01:00
Stefano Sabatini
82e74ee6e4
doc/examples/filtering: make use of av_err2str()
...
Simplify.
2013-12-02 14:35:31 +01:00
Clément Bœsch
0d2c832445
doc/examples: update README.
2013-11-28 14:08:06 +01:00
Clément Bœsch
a8ac2a1530
doc/examples: make fill_samples static.
...
This is required to build with FFmpeg compilation options.
2013-11-28 13:54:44 +01:00
Clément Bœsch
e5102feb6b
doc/examples: add transcode_aac to local Makefile.
2013-11-28 13:19:50 +01:00
Michael Niedermayer
ba728c1a25
doc/examples/transcode_aac: remove non converted codepath
...
This codepath is not implemented and just crashes, also its simpler
without special cases, which makes sense for an example
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 11:22:19 +01:00
Michael Niedermayer
7497c894cd
doc/examples/transcode_aac: switch to swresample
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 11:15:48 +01:00
Michael Niedermayer
02abc905cd
doc/examples/transcode_aac: fix project name
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 10:52:05 +01:00
Michael Niedermayer
715f3623f8
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Add an audio transcoding example.
Conflicts:
configure
doc/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 10:31:08 +01:00
Andreas Unterweger
10421bcf0a
Add an audio transcoding example.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-27 09:20:05 +01:00
Diego Biurrun
ab81f24ad4
build: Integrate multilibrary examples into the build system
...
This includes moving libavformat/output-example to doc/examples/output.
2013-11-25 11:57:29 -08:00
Stefano Sabatini
50a28b1393
doc/examples: do not check NULL values for avcodec_close()
...
avcodec_close() does nothing in case the argument is NULL. Simplify.
2013-11-21 23:29:56 +01:00
Clément Bœsch
1f7b7d5447
doc/examples: fix mem issues in filtering_video.
2013-11-19 10:31:39 +01:00
Michael Niedermayer
0ee905e243
Merge commit '5b9c3b4505206143d85398c1410949319fa1180f'
...
* commit '5b9c3b4505206143d85398c1410949319fa1180f':
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
Conflicts:
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
libavcodec/alacenc.c
libavcodec/libopenjpegenc.c
libavcodec/libvpxenc.c
libavcodec/pcm.c
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-16 23:54:10 +01:00
Clément Bœsch
fb10b43fc4
doc/examples: rename demuxing to demuxing_decoding.
...
That example shows how the decoding process works, not only the
demuxing.
2013-11-04 12:53:06 +01:00
Clément Bœsch
d10b1a200d
doc/examples/demuxing: show how to use the reference counting system.
2013-11-04 12:53:06 +01:00
Clément Bœsch
0c6bb53bb2
doc/examples/demuxing: reset got_frame.
...
Fix infinite loop at flushing.
2013-10-30 14:37:58 +01:00
Clément Bœsch
dc8f732292
doc/examples: fix lib math dep for resampling_audio.
...
It uses at least sin()
2013-09-04 15:49:18 +02:00
Clément Bœsch
98b9bbb787
doc/examples: remove extra "the".
...
"into the doc/examples directory" vs "into doc/examples".
2013-09-04 15:46:31 +02:00
Michael Niedermayer
f187390907
doc/examples/filtering_audio: make const arrays also static
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:22:03 +02:00
wm4
72f5a6d067
examples: demuxing: print ffplay command even if sample format is planar
...
Adjust the code so that a working ffplay command is printed in the
planar audio case.
2013-07-19 12:14:54 +02:00
wm4
9f31c1608c
examples: demuxing: simplify audio output
...
There is no reason why this should copy the audio data in a very
complicated way. Also, strictly write the first plane, instead of
writing the whole buffer. This is more helpful in context of the
example. This way a user can clearly confirm that it works by playing
the written data as raw audio.
2013-07-19 12:14:46 +02:00
wm4
06b269dacb
examples: demuxing: do partial audio packet decoding
...
This assumes one audio packet is decoded one time. This is not true:
packets can be partially decoded. Then you have to "adjust" the packet
and pass the undecoded part of the packet to the decode function again.
2013-07-19 12:14:23 +02:00
Stefano Sabatini
2aa2b4ac65
examples/muxing: add support to audio resampling
...
Allows to encode to output in case the destination sample format is
different from AV_SAMPLE_FMT_S16.
2013-07-06 12:31:16 +02:00
Stefano Sabatini
838bd73139
lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
...
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.
If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().
At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.
Should address trac ticket #2672 .
2013-07-03 13:21:42 +02:00
Stefano Sabatini
759dfd5684
examples/muxing: make more compact audio/video_time computation
2013-07-03 11:31:34 +02:00
Stefano Sabatini
80b56a7bdd
examples/muxing: rename audio/video_pts to audio/video_time
...
The new name is less confusing, since the variables represent times
rather than timestamps.
2013-06-26 23:38:42 +02:00