Andreas Rheinhardt
423b6a7e49
avutil/imgutils: Add wrapper for av_image_copy() to avoid casts
...
av_image_copy() accepts const uint8_t* const * as source;
lots of user have uint8_t* const * and therefore either
cast (the majority) or copy the array of pointers.
This commit changes this by adding a static inline wrapper
for av_image_copy() that casts between the two types
so that we do not need to add casts everywhere else.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-09-12 09:42:27 +02:00
Zhao Zhili
67d392b979
examples/transcode: flush decoder on EOF
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2023-08-26 17:02:21 +08:00
Sebastian Ramacher
7de3fcb059
examples: fix build of mux and resample_audio
...
The commits eac4324bfb
and
cd8211527e
renamed the examples, but the
targets were not updated. Hence, the builds are missing -lm.
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2023-07-28 09:20:39 -03:00
Anton Khirnov
ba32f28498
doc/examples/transcode: convert timestamps between filtering and encoding
...
The timebases do not have to match.
2023-06-03 11:27:42 +02:00
Anton Khirnov
811b0e02be
doc/examples/transcode: stop using decoder's AVCodecContext.time_base
...
The contents of this field are not defined for decoding. Use
pkt_timebase, which is the timebase of demuxed packets.
Drop a tautological av_packet_rescale_ts() call, as the stream and
decoder timebases are the same.
2023-06-03 11:27:23 +02:00
Anton Khirnov
828d3b4432
doc/examples/transcode: set packet timebase for decoding
...
It is recommended for callers to set it, though not required.
2023-06-03 11:27:11 +02:00
James Almer
ed3691338b
doc/examples/transcode_aac: use av_samples_alloc_array_and_samples to allocate the input samples buffer and pointers
...
Fixes -Wuse-after-free warnings and simplifies code.
Signed-off-by: James Almer <jamrial@gmail.com>
2023-05-05 15:28:28 -03:00
Wenbin Chen
2db22d14bf
doc/examples/qsv_transcode: Fix a bug when use more than one parameter set
...
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
2023-03-17 14:13:37 +08:00
Stefano Sabatini
cd0d267b92
doc/examples/mux: rename alloc_picture to alloc_frame
...
The new name is consistent with the updated API.
2023-03-12 16:45:05 +01:00
Marton Balint
2296078397
avutil/frame: deprecate AVFrame.coded_picture_number and display_picture_number
...
Their usefulness is questionable, very few decoders set them, and their type
should have been int64_t. A replacement field can be added later if a valid use
case is found.
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-02-13 00:37:50 +01:00
Marton Balint
6b6f7db819
avcodec: add AVCodecContext.frame_num as 64 bit variant to frame_number
...
Frame counters can overflow relatively easily (INT_MAX number of frames is
slightly more than 1 year for 60 fps content), so make sure we use 64 bit
values for them.
Also deprecate the old 32 bit frame_number attribute.
Signed-off-by: Marton Balint <cus@passwd.hu>
2023-02-13 00:36:46 +01:00
Stefano Sabatini
e3bbf5c17d
doc/examples: fix make command, reference Makefile.example
...
Fix regression since b25d6290c6
.
2023-02-11 18:06:02 +01:00
Stefano Sabatini
051e1ed1e2
examples/Makefile.example: add note about missing entries
2023-02-11 18:04:32 +01:00
Stefano Sabatini
34ff361921
examples: apply doxy entries consistency fixes
...
Use consistent format for the @file field and file description.
2023-02-11 17:49:01 +01:00
Stefano Sabatini
3d4dc6aa77
examples: rename transcoding to transcode
2023-02-11 17:49:01 +01:00
Stefano Sabatini
3856f82ef9
examples: rename scaling_video to scale_video
2023-02-11 17:49:01 +01:00
Stefano Sabatini
cd8211527e
examples: rename resampling audio to resample_audio
2023-02-11 17:49:01 +01:00
Stefano Sabatini
0a69ca656b
examples: rename remuxing to remux
2023-02-11 17:49:01 +01:00
Stefano Sabatini
ab2ec8ef01
examples: rename qsvdec to qsv_decode
2023-02-11 17:49:01 +01:00
Stefano Sabatini
eac4324bfb
examples: rename muxing to mux
2023-02-11 17:49:01 +01:00
Stefano Sabatini
7a53ae931d
examples: rename metadata to show_metadata
2023-02-11 17:49:01 +01:00
Stefano Sabatini
2e4694707e
examples: rename http_multiclient to avio_http_serve_files
2023-02-11 17:49:01 +01:00
Stefano Sabatini
1ae619e8ee
examples: rename filtering_video to decode_filter_video
2023-02-11 17:49:01 +01:00
Stefano Sabatini
3367bd56d1
examples: rename filtering_audio to decode_filter_audio
2023-02-11 17:49:01 +01:00
Stefano Sabatini
7f5630a899
examples: rename demuxing_decoding to demux_decode
...
Follow general scheme VERB_OBJECT.
2023-02-11 17:49:01 +01:00
Stefano Sabatini
f0a415c7eb
examples: rename avio_reading to avio_read_callback
...
Adopt general scheme VERB_OBJECT.
2023-02-11 17:49:01 +01:00
Marvin Scholz
4d1c9fa871
doc/examples/metadata: use av_dict_iterate
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-12-01 11:21:14 +01:00
Wenbin Chen
efe2b63c89
doc/examples: Add qsv_transcode example
...
Add qsv_transcode example which shows how to use qsv to do hardware
accelerated transcoding, also show how to dynamically set encoding
parameters.
examples:
Normal usage:
qsv_transcode input.mp4 h264_qsv output.mp4 "g 60"
Dynamic setting usage:
qsv_transcode input.mp4 hevc_qsv output.mp4 "g 60 asyne_depth 1"
100 "g 120"
This command initializes codec with gop_size 60 and change it to
120 after 100 frames
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2022-11-22 13:52:38 +08:00
Jun Zhao
3497362be1
doc/examples/muxing: Remove unnecessary ret
...
Remove unnecessary ret and make the code more compact
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2022-10-29 12:26:30 +08:00
Chema Gonzalez
7adf7502b8
doc/examples/extract_mvs: add motion information
...
Note that the motion information includes subpel motion information
This was likely forgotten in 56bdf61baa
.
Tested:
```
$ make examples -j
...
$ doc/examples/extract_mvs in.264 | head -40 | \
csvcut -C framenum,source,flags |csvlook
| blockw | blockh | srcx | srcy | dstx | dsty | motion_x | motion_y | motion_scale |
| ------ | ------ | ----- | ---- | ----- | ---- | -------- | -------- | ------------ |
| 16 | 16 | 20 | 26 | 8 | 8 | 49 | 72 | 4 |
| 16 | 16 | 152 | 15 | 136 | 8 | 65 | 28 | 4 |
| 16 | 8 | 360 | 3 | 360 | 4 | 1 | -6 | 4 |
| 16 | 8 | 360 | 13 | 360 | 12 | -1 | 4 | 4 |
| 16 | 16 | 440 | 10 | 440 | 8 | 3 | 10 | 4 |
| 8 | 16 | 829 | 7 | 836 | 8 | -31 | -6 | 4 |
| 8 | 16 | 844 | 7 | 844 | 8 | -1 | -4 | 4 |
| 16 | 16 | 1,004 | 14 | 1,048 | 8 | -177 | 24 | 4 |
| 16 | 16 | 1,096 | 8 | 1,096 | 8 | -1 | 0 | 4 |
| 16 | 8 | 1,417 | 24 | 1,416 | 4 | 7 | 82 | 4 |
| 16 | 8 | 1,416 | 13 | 1,416 | 12 | 0 | 6 | 4 |
| 16 | 8 | 87 | 20 | 88 | 20 | -7 | 0 | 4 |
| 16 | 8 | 99 | 44 | 88 | 28 | 45 | 66 | 4 |
...
```
Also:
```
$ make fate -j
...
```
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-09-23 22:42:19 +02:00
Andreas Unterweger
40f2ea971f
doc/examples/transcode_aac: Bump date
...
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 15:01:15 +05:30
Andreas Unterweger
04642de4b4
doc/examples/transcode_aac: AAC encoder is no longer experimental
...
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 15:01:03 +05:30
Andreas Unterweger
3c7382e368
doc/examples/transcode_aac: Set decoder packet timebase
...
Previously, the default timebase caused two warnings during decoding about not being able to update timestamps for skipped and discarded samples, respectively.
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 14:59:38 +05:30
Andreas Unterweger
e13429c9c4
doc/examples/transcode_aac: Don't ignore last encoded frame
...
The last encoded frame is now fetched on EOF. It was previously left in the encoder and caused a "1 frame left in queue" warning.
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 14:56:41 +05:30
Zhao Zhili
d1a44f261a
examples/decode_video: flush parser to fix missing frame
...
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2022-04-22 11:26:51 +08:00
Andreas Rheinhardt
23cb87bb3c
doc/examples/muxing: Remove outdated comment
...
This comment only applies to the scenario in which one uses
the AVCodecContexts embedded in AVStreams. Yet this code sample
stopped doing so in 9897d9f4e074cdc6c7f2409885ddefe300f18dc7;
and the last major version bump even removed the public
AVCodecContexts in AVStreams. So just remove this comment.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-03-25 19:22:55 +01:00
James Almer
f5ef91e020
doc/examples: convert to new channel layout-API
...
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-15 09:42:47 -03:00
Chad Fraleigh
a90e41c590
doc/examples/metadata: Constify values from av_dict_get()
...
Treat values returned from av_dict_get() as const, since they are
internal to AVDictionary.
Signed-off-by: Chad Fraleigh <chadf@triularity.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-11-18 19:18:01 +01:00
Andreas Rheinhardt
b6aeee2d8b
examples/remuxing: Fix use of uninitialized value
...
Fixes Coverity ticket 1492326.
Regression since 53f374c08d
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-07 11:59:31 +02:00
Andreas Rheinhardt
9190302b2e
examples/qsvdec: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:50 +02:00
Andreas Rheinhardt
e9182820ad
examples/hw_decode: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
86ec1093eb
examples/filtering_video: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
a75f518b65
examples/filtering_audio: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
f495604361
examples/extract_mvs: Do not use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
0230d125cb
examples/muxing: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
53f374c08d
examples/remuxing: Don't use stack packet
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
78426da3f4
examples/remuxing: Use av_packet_rescale_ts()
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
8a23159797
fftools/ffmpeg, doc/examples: Remove redundant av_packet_unref
...
av_interleaved_write_frame() already returns blank packets.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-10-03 20:50:49 +02:00
Andreas Rheinhardt
1ea3650823
Replace all occurences of av_mallocz_array() by av_calloc()
...
They do the same.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-09-20 01:03:52 +02:00
Nicolas George
1698cd8422
doc/examples/encode_video: add explanations in comments.
2021-08-20 17:05:10 +02:00