ffmpeg/doc/examples
Jun Zhao 042ff80562 doc/examples/qsv_decode: fix raw frame dump for chroma planes
The output loop used sw_frame->width as the write size for all
planes. This is only correct for NV12 where the interleaved UV
plane happens to have the same byte width as the Y plane. For
other pixel formats (e.g. YUV420P where U/V planes are half
width, or P010 where samples are 2 bytes), the output would be
corrupted.

Use av_image_get_linesize() to compute the correct byte width
for each plane based on the actual pixel format.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2026-03-18 02:08:09 +00:00
..
.gitignore doc/examples: Add qsv_transcode example 2022-11-22 13:52:38 +08:00
avio_http_serve_files.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
avio_list_dir.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
avio_read_callback.c examples: Add av_freep to avoid potential memory leak 2025-08-04 01:29:44 +02:00
decode_audio.c examples: Add check and replace av_free() to avoid potential memory errors 2025-08-07 03:07:45 +02:00
decode_filter_audio.c doc/examples/decode_filter_audio: remove unused unistd.h include 2025-08-11 19:29:53 +00:00
decode_filter_video.c doc/examples/decode_filter_video: use av_usleep 2025-08-11 19:29:53 +00:00
decode_video.c doc/examples/decode_video: check fopen return value in pgm_save 2026-03-18 02:08:09 +00:00
demux_decode.c doc/examples/demux_decode: Simplify loop 2024-05-09 16:17:39 +02:00
encode_audio.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
encode_video.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
extract_mvs.c doc/examples/extract_mvs: fix memory leak in codec context initialization 2026-01-09 23:45:07 +01:00
filter_audio.c examples: Add proper deallocations to avoid potential memory leaks 2025-08-07 03:07:44 +02:00
hw_decode.c doc/examples/hw_decode: fix fwrite error check 2026-03-18 02:08:09 +00:00
Makefile examples: rename transcoding to transcode 2023-02-11 17:49:01 +01:00
Makefile.example examples: fix build of mux and resample_audio 2023-07-28 09:20:39 -03:00
mux.c all: fix typos found by codespell 2025-08-03 13:48:47 +02:00
qsv_decode.c doc/examples/qsv_decode: fix raw frame dump for chroma planes 2026-03-18 02:08:09 +00:00
qsv_transcode.c doc/examples: fix output context cleanup in transcode examples 2026-03-18 02:08:09 +00:00
README doc/examples: fix make command, reference Makefile.example 2023-02-11 18:06:02 +01:00
remux.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
resample_audio.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
scale_video.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
show_metadata.c examples: apply doxy entries consistency fixes 2023-02-11 17:49:01 +01:00
transcode.c doc/examples/transcode: handle audio encoder frame size restrictions 2024-09-28 17:04:33 +02:00
transcode_aac.c avutil/common: Don't auto-include mem.h 2024-03-31 00:08:43 +01:00
vaapi_encode.c doc/examples/vaapi_encode: open raw YUV input in binary mode 2026-03-18 02:08:09 +00:00
vaapi_transcode.c doc/examples: fix output context cleanup in transcode examples 2026-03-18 02:08:09 +00:00

FFmpeg examples README
----------------------

Both following use cases rely on pkg-config and make, thus make sure
that you have them installed and working on your system.


Method 1: build the installed examples in a generic read/write user directory

Copy to a read/write user directory and run:
make -f Makefile.example

It will link to the libraries on your system, assuming the PKG_CONFIG_PATH is
correctly configured.

Method 2: build the examples in-tree

Assuming you are in the source FFmpeg checkout directory, you need to build
FFmpeg (no need to make install in any prefix). Then just run "make examples".
This will build the examples using the FFmpeg build system. You can clean those
examples using "make examplesclean"

If you want to try the dedicated Makefile examples (to emulate the first
method), go into doc/examples and run a command such as
PKG_CONFIG_PATH=pc-uninstalled make -f Makefile.example