./multimedia/ffplay4, Simple SDL frontend for FFmpeg

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 4.4.7, Package name: ffplay4-4.4.7, Maintainer: pkgsrc-users

FFplay is a very simple and portable media player using the FFmpeg
libraries and the SDL library. It is mostly used as a testbed for
the various FFmpeg APIs.


Required to run:
[textproc/libxml2] [devel/SDL2] [multimedia/ffmpeg4]

Required to build:
[pkgtools/x11-links] [devel/nasm] [x11/xcb-proto] [x11/xorgproto]

Master sites:

Filesize: 9362.715 KB

Version history: (Expand)


CVS history: (Expand)


   2026-05-15 13:50:36 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
ffmpeg4 ffplay4: updated to 4.4.7

4.4.7:
avcodec/av1dec: check that primary_ref_frame is within range
configure: bump CONFIG_THIS_YEAR to 2026
avcodec/alsdec: do not set nbits invalidly
swscale/swscale_unscaled: adjust last line copy
avformat/avidec: check LIST size in avi_load_index()
avformat/avidec: validate INFO list size before parsing
libavformat/xwma: fix overflow in seek position
avfilter/vf_kerndeint: Check for minimum height
avcodec/ralf: Add the missing return statement after the error log
avcodec/zmbv: reject XOR data that overruns the decompression buffer
avcodec/rasc: fix heap use-after-free in decode_move()
avformat/rtpdec_mpeg4: reject zero-length AU header sections
fftools/ffmpeg_opt: validate stream index in negative map handling
avformat/rtmpproto: prevent integer overflow accumulating FLV buffer size
avformat/rtmpproto: validate compressed SWF header length
avformat/rtsp: Fix out-of-bounds read in SDP parser when control_url is empty
avformat/rtpdec_latm: avoid integer overflow in LATM length parsing
avcodec/h264: recompute per-slice direct mode state for every slice
avcodec/h264_refs: Clear stale pointers from ref_list
avcodec/wmaenc: Fix missing padding in extradata
avcodec/tdsc: remove double stride adjustment
avformat/cafdec: fix negative index use in read_seek
avcodec/notchlc: Check 255 loops
avformat/rtpdec_jpeg: check qtable_len
avformat/vividas: use-of-uninitialized-value in keybuffer
avcodec/tdsc: Check jpeg size
avcodec/tdsc: Better input size check
avcodec/tdsc: Check tile_size
avformat/mov: check extradata in mov_read_dops()
avformat/mov: Check read size for opus extradata
avformat/rtspdec: reject non-positive ANNOUNCE Content-Length
avformat/wavdec: Fix use-of-uninitialized-value in find_guid()
avcodec/svq1dec: Check input space for minimum
avcodec/vp9: Rollback dimensions when format is rejected
avformat/rtpdec_qdm2: Check block_size
avcodec/escape130: Initialize old_y_avg
avutil/samplefmt: Dont claim that av_get_sample_fmt_string checks sample_fmt
avformat: check avio_read() return values in dss/dtshd/mlv
avcodec/alsdec: preserve full float value in zero-truncated samples
avcodec/alsdec: propagate read_diff_float_data() errors in read_frame_data()
avcodec/alsdec: fix mantissa unpacking in compressed Part A path
libavfilter/vf_v360: fix operator precedence in stereo loop condition
avcodec/alsdec: fix abs(INT_MIN) UB in read_diff_float_data()
avformat/mov: Handle integer overflow in MOV parser
avcodec/dvdsub_parser: Fix buf_size check
avutil/bswap: fix implicit conversion warning in av_bswap64
avformat/mpegts: fix descriptor accounting across multiple IOD descriptors
avcodec/xxan: zero-initialize y_buffer
avcodec/exr: Check input space before reverse_lut()
avcodec/h264_slice: reject slice_num >= 0xFFFF
avutil/timecode: Check for integer overflow in av_timecode_init_from_components()
avformat/mov: do not allocate out-of-range buffers
avfilter/af_lv2: call lilv_instance_activate before lilv_instance_run
swscale/output: fix integer overflows in chroma in yuv2rgba64_X_c_template()
avcodec/lcldec: Fixes uqvq overflow
avcodec/av1dec: sync frame header and tile group behavior with CBS
avformat/mlvdec: avoid uninitialized read in read_string()
avcodec/magicyuv: fix small median images
swscale/output: Fix integer overflow in alpha in yuv2rgba64_1_c_template()
swscale/utils: Check *Inc
avfilter/vf_scale: Fix integer overflow in config_props()
swscale/output: Fixes integer overflow in yuv2planeX_8_c
swscale/utils: initialize chroma when luma switched to cascade
avformat/rtsp: Pass blacklist
avformat/rtsp: Explicitly check protocol
avfilter/vf_convolution: Use avpriv_mirror
avfilter/vf_convolution: Handle corner cases with small frames
avutil/eval: Check depth of AVExpr
avformat/vividas: Reset n_audio_subpackets on error
avformat/matroskadec: Check that end_time_ns >= start_time_ns
avcodec/vp3: Sanity check cropping
avformat/dhav: Check avio_seek() return
avformat/segafilm: dont read uninitialized value
avcodec/exr: check tile_attr.x/ySize
avcodec/golomb: Fix get_ur_golomb_jpegls() with esclen = 0
swresample/resample_template: add casts to avoid undefined overflows
avcodec/h264_parser: Check pts for overflow
avformat/wtvdec: Check that language is fully read
avcodec/imm5: Dont pass EAGAIN on as is
avcodec/interplayacm: Check input for fill_block()
avcodec/flashsv: Check for input space before (re)allocating frame
avcodec/exr: fix AVERROR typo
avcodec/cfhd: Check transform type before continuing
avcodec/cfhd: Add CFHDSegment enum and named identifiers
avformat/icodec: Check size
avformat/lrcdec: Check ss for finiteness
avformat/http: allow adjusting the redirect limit
fftools/ffmpeg_opt: limit recursion of presets
swscale/rgb2rgb_template: fix signed shift into sign bit
avcodec/bmp: fix indention
avcodec/exr: Handle axmax like bxmin in 04d7a6d3db56ea1a93908ff2d3d312e3fc40a58c
avformat/cafdec: Check nb_entries in read_info_chunk()
avcodec/vp9: Reallocate on resolution change which does not change tile_cols
avformat/img2dec: Check avio_size() for failure
avformat/mpegtsenc: Check remaining space in SDT
avformat/img2enc: Check split planes packet size
avformat/yuv4mpegen: Sanity check input packet frame dimensions
Fix overflow in STSD parser
avcodec/adpcm: Check input buffer size
avformat/hls: Check for integer overflow with #EXTINF:
avcodec/dca_xll: Clear padding in ff_dca_xll_parse()
vfilter/vf_find_rect: Clamp x/y min/max to valid values
avcodec/dca_xll: Check get_rice_array()
avformat/mpegts: Check program_info_length
avformat/mpegts: Check IOD_DESCRIPTOR len
avcodec/qdm2: fix heap-use-after-free in qdm2_decode_frame
avcodec/jpeg2000dec: Print bpno level when erroring out
avformat/dashdec: check value valid after read value from mpd xml
swscale/utils: zero init filter memory as before
lavc/j2kdec: Do not ignore colour association for packed formats
swscale/utils: Sanity check sizeFactor
swscale/utils: Avoid FF_ALLOC_TYPED_ARRAY() and use av_malloc_array() directly
avcodec/mjpegdec: fix segfault on extern_huff and no extradata
avcodec/exr: use av_realloc_array()
avcodec/omx: Check extradata size and nFilledLen
avfilter/scale_eval: Use 64bit for factor_w/h
avfilter/scale_eval: Avoid undefined behavior with double to int cast
avformat/http: Check that the protocol of redirects is http or https
avfilter/vf_find_rect: Fix handling odd sized images
avcodec/notchlc: zero-initialize history buffer
avfilter/vf_stack: add checks for the final canvas dimensions
avcodec/mjpegdec: only test the size bound in sequential mjpeg
avformat/hls: fix double space
avformat/hls: Check seg size and offset for overflow
avfilter/vf_neighbor_opencl: add error condition when filter name doesn't match
avfilter/vf_libopencv: make sure there is space for null-terminator in shape_str
fate: add missing options in config template
(fforge/pr/22413) aarch64/hpeldsp_neon: fix out-of-bounds read
(fforge/pr/22400) swscale/x86/yuv2rgb_template: Add emms to MMX(EXT) functions
forgejo: backport CI job names
(fforge/pr/21343) avformat/img2dec: reject input images too big to fit into a \ 
single packet
avcodec/aarch64/idct: Add missing stddef
tools/check_arm_indent: skip empty glob
all: apply linter fixes
forgejo: apply needed CI changes for 4.4
forgejo: backport CI to release/4.4
update for 4.4.7
avutil/common: cast GET_BYTE/GET_16BIT returned value
avcodec/utvideodec: Set B for the width= 1 case in restore_median_planar_il()
avformat/rtpdec_rfc4175: Only change PayloadContext on success
avformat/rtpdec_rfc4175: Check dimensions
avformat/rtpdec_rfc4175: Fix memleak of sampling
avformat/http: Fix off by 1 error
avcodec/exr: spelling
avcodec/exr: use tile dimensions in pxr24 UINT case
avcodec/exr: Simple check for available channels
avformat/sctp: Check size in sctp_write()
avformat/rtmpproto: consider command line argument lengths
avformat/rtmpproto_ Check tcurl and flashver length
avcodec/g723_1enc: Make min_err 64bit
avformat/rtpenc_h264_hevc: Check space for nal_length_size in ff_rtp_send_h264_hevc()
swscale/output: Fix integer overflow in yuv2ya16_X_c_template()
avcodec/exr: Check that DWA has 3 channels
avcodec/exr: check ac_size
avcodec/exr: Round dc_w/h up
avcodec/mjpegdec: Explain buf_size/width/height check
fftools/ffmpeg_mux_init: Fix double-free on error
avformat/avidec: Fix integer overflow iff ULONG_MAX < INT64_MAX
avformat/aviobuf: Keep checksum_ptr consistent in avio_seek()
aacenc_tns: clamp filter direction energy measurement
avcodec/dxv: Check coded_height, to avoid invalid av_clip()
avcodec/aac/aacdec: dont allow ff_aac_output_configure() allocating a new frame \ 
if it has no frame
avformat/lrcdec: Fix fate-sub-lrc-ms-remux on x86-32
avcodec/sanm: Check w,h,left,top
avcodec/utvideodec: Clear plane_start array
avcodec/dxv: Check that we initialize op_data
avcodec/exr: Check for pixel type consistency in DWA
avcodec/g726: init missing sample rate
avformat/lrcdec: limit input timestamp range to avoid overflows
avcodec/scpr3: Clear clr
avcodec/ilbcdec: Clear cbvec when used with create_augmented_vector()
avcodec/jpeg2000dec: Make sure the 4 extra bytes allocated are initialized
avfilter/avf_showcqt: fix unbounded index when copying to fft_data
avcodec/aacsbr_template: Check ilb
avcodec/utvideodec: Set B for the width= 1 case
avcodec/ffv1: Clear state on alloc
avcodec/jpeg2000dec: implement cdef remapping during pixel format matching
avcodec/jpeg2000dec: move cdef default check into get_siz()
avcodec/exr: Check rle_raw_data and surroundings
avcodec/exr: Dont access outside xsize/ysize
examples: Add check and replace av_free() to avoid potential memory errors
libavcodec/tests/snowenc: Add av_free() to avoid memory leak
avcodec/mpc8: init avctx->sample_rate
avformat/hls: add cmfv/cmfa exceptions
avformat/lrcdec: support arbitrary precision timestamp
avcodec/ffv1dec: Disable frame threading due to race condition
libavcodec/tests/motion: Add check for avcodec_alloc_context3()
avcodec/tests/avpacket: Add av_free() to avoid memory leak
examples: Add av_freep to avoid potential memory leak
avcodec/tests/avpacket: Add av_packet_free() to avoid memory leak
avcodec/fits: Clear naxis
avcodec/vqavideo; Check bytestream2_get_buffer() reading next_codebook_buffer
avcodec/lzf: Check for input space
avcodec/imc: Clear padding of buf16
avcodec/cri: Check bytestream2_get_buffer() for end
avcodec/cri: Factor read_len out
avformat/dashdec: Allocate space for appended "/"
avformat/mxg: clear AV_INPUT_BUFFER_PADDING_SIZE
avformat/mov: make sure file_checksum is fully initialized
avformat/asfdec_f: Check amount of value read
avformat/concatdec: Clip duration in one more case in get_best_effort_duration()
avcodec/ffv1dec: Check k in get_vlc_symbol()
avcodec/cfhd: Check idwt_buf size before allocation
avcodec/ivi: Check luma/chroma mb_size
avcodec/motion_est: don't add offsets to NULL pointers
swscale/swscale_unscaled: don't add offsets to NULL pointers
avcodec/psd: Move frame allocation after RLE processing
avcodec/smacker: Move buffer allocation to later
avcodec/opus: don't materialize buf pointer from null
avformat/iff: Check nb_channels == 0 in CHNL
avcodec/mss2dsp: use FF_PTR_ADD to add offsets to a pointer
avformat/hls: check return value of new_init_section()
avcodec/rkmppdec: Fix double-free on error
avcodec/ppc/vp8dsp_altivec: Fix out-of-bounds access
avcodec/x86/pngdsp: add missing emms at the end of add_png_paeth_prediction
   2026-01-07 09:49:50 by Thomas Klausner | Files touched by this commit (2525)
Log message:
*: recursive bump for icu 78.1
   2025-12-22 07:08:18 by Adam Ciarcinski | Files touched by this commit (128)
Log message:
revbump for x264
   2025-10-23 22:40:24 by Thomas Klausner | Files touched by this commit (2999)
Log message:
*: recursive bump for pcre2

Running an old binary against the new pcre doesn't work:
/usr/pkg/lib/libpcre2-8.so.0: version PCRE2_10.47 required by \ 
/usr/pkg/lib/libglib-2.0.so.0 not defined
   2025-09-22 16:26:13 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
ffmpeg4 ffplay4: updated to 4.4.6

version 4.4.6:
 avcodec/takdec: Check remaining space for first predictors
 avcodec/svq3: Check there are bits left before decompression
 avcodec/sonic: Check num_taps
 avformat/mov: reject negative ELST durations
 avformat/avidec: Ignore duplicate GAB2
 avcodec/h264_mb: Fix tmp_cr for arm
 avcodec/vorbisdec: Dont treat overread as error
 libpostproc: check minimum size
 avformat/hls: Fix flash1.bogulus.cfd support
 avformat/hls: Split allowed_segment_extensions off allowed_extensions
 avformat/hls: Fix Youtube AAC
 avformat/hls: add fmp4 to allowed_extensions
 avformat/hls: Add ec3 to allowed_extensions
 avformat/hls: Add cmfv and cmfa to allowed_extensions
 configure: Clearer documentation for "disable-safe-bitstream-reader"
 swscale/output: Fix integer overflow in yuv2gbrp_full_X_c()
 avcodec/libtheora: fix setting keyframe_mask
 avfilter/buffersrc: check for valid sample rate
 doc: replace http/git by https urls
 Update for 4.4.6
 configure: update copyright year
 avformat/hls: Partially revert "reduce default max reload to 3"
 avformat/hls: Fix twitter
 libavformat/hls: Be more restrictive on mpegts extensions
 avformat/hls: .ts is always ok even if its a mov/mp4
 avformat/hls: Print input format in error message
 avformat/hls: Be more picky on extensions
 avformat: add ff_match_url_ext()
 avfilter/bwdif: account for chroma sub-sampling in min size calculation
 avformat/iff: Check that we have a stream in read_dst_frame()
 avformat/mlvdec: fix size checks
 avformat/mxfdec: Check edit unit for overflow in mxf_set_current_edit_unit()
 avcodec/h263dec: Check against previous dimensions instead of coded
 avformat/mxfdec: Check avio_read() success in mxf_decrypt_triplet()
 avcodec/huffyuvdec: Initialize whole output for decode_gray_bitstream()
 avformat/ipmovie: Check signature_buffer read
 avformat/wtvdec: Initialize buf
 avcodec/cbs_vp9: Initialize VP9RawSuperframeIndex
 avformat/vqf: Propagate errors from add_metadata()
 avformat/vqf: Check avio_read() in add_metadata()
 avformat/dashdec: Check whitelist
 avutil/avstring: dont mess with NULL pointers in av_match_list()
 avfilter/vf_v360: Fix NULL pointer use
 avcodec/mpegvideo_enc: Check FLV1 resolution limits
 avcodec/ffv1enc: Fix handling of 32bit unsigned symbols
 avcodec/vc1dec: Clear block_index in vc1_decode_reset()
 avcodec/aacsbr_template: Clear n_q on error
 swscale/output: Fix undefined overflow in yuv2rgba64_full_X_c_template()
 avfilter/af_pan: Fix sscanf() use
 avfilter/vf_addroi: Add missing NULL termination to addroi_var_names[]()
 avformat/rmdec: check that buf if completely filled
 avcodec/hapdec: Clear tex buffer
 avformat/mxfdec: Check that key was read sucessfull
 avformat/rpl: Fix check for negative values
 avformat/mlvdec: Check avio_read()
 avcodec/utils: Fix block align overflow for ADPCM_IMA_WAV
 avformat/matroskadec: Check pre_ns for overflow
 avutil/timecode: Avoid fps overflow in av_timecode_get_smpte_from_framenum()
 avcodec/webp: Check ref_x/y
 avcodec/ilbcdec: Initialize tempbuff2
 avformat/dxa: check bpc
 swscale/slice: clear allocated memory in alloc_lines()
 avcodec/mjpegdec: Disallow progressive bayer images
 avformat/icodec: fix integer overflow with nb_pal
 doc/developer: Document relationship between git accounts and MAINTAINERS
 avformat/vividas: Check avio_read() for failure
 avformat/ilbc: Check avio_read() for failure
 avformat/nistspheredec: Clear buffer
 avformat/mccdec: Initialize and check rate.den
 INSTALL: explain the circular dependency issue and solution
 avformat/mpegts: Initialize predefined_SLConfigDescriptor_seen
 avformat/mxfdec: Fix overflow in midpoint computation
 swscale/output: used unsigned for bit accumulation
 avcodec/rangecoder: only perform renorm check/loop for callers that need it
 avcodec/ffv1dec: Fix end computation with ec=2
 avcodec/ffv1enc: Prevent generation of files with broken slices
 avformat/matroskadec: Check desc_bytes so bits fit in 64bit
 avcodec/ffv1enc: Correct error message about unsupported version
 avcodec/ffv1enc: Slice combination is unsupported
 avcodec/ffv1enc: 2Pass mode is not possible with golomb coding
 avcodec/ffv1enc: Fix >8bit context size
 avcodec/xan: Add basic input size check
 avcodec/svq3: Check for minimum size input
 avcodec/eacmv: Check input size for intra frames
 avcodec/jfdctint_template: use unsigned z* in row_fdct()
 avformat/mxfdec: Check timecode for overflow
 avformat/mxfdec: More offset_temp checks
 swscale/output: Fix undefined integer overflow in yuv2rgba64_2_c_template()
 swscale/swscale: Use unsigned operation to avoid undefined behavior
 avcodec/vc2enc: basic sanity check on slice_max_bytes
 avformat/mvdec: Check if name was fully read
 avcodec/wmavoice: Do not use uninitialized pitch[0]
 avformat/argo_brp: Check that ASF chunk header is completely read
 avcodec/notchlc: Check bytes left before reading
 avcodec/vc1_block: propagate error codes
 avformat/apetag: Check APETAGEX
 avcodec/avcodec: Warn about data returned from get_buffer*()
 avcodec/aic: Clear slice_data
 avcodec/vc1dec: Clear mb_type_base and ttblk_base
 avcodec/shorten: clear padding
 avformat/mpeg: Check an avio_read() for failure
 avcodec/mvha: Clear remaining space after inflate()
 avformat/segafilm: Set keyframe
 avcodec/sga: av_assert1 check init_get_bits8()
 avcodec/dxva2: initialize hr in ff_dxva2_common_end_frame()
 avcodec/dxva2: initialize validate
 avcodec/dxva2: Initialize ConfigBitstreamRaw
 avcodec/dxva2: Initialize dxva_size and check it
 avfilter/vf_xfade: Compute w2, h2 with float
 avfilter/vf_v360: Assert that vf was initialized
 avfilter/vf_tonemap_opencl: Dereference after NULL check
 avfilter/vf_xfade_opencl: Check ff_inlink_consume_frame() for failure
 avformat/lmlm4: Eliminate some AVERROR(EIO)
 avformat/wtvdec: Check length of read mpeg2_descriptor
 avformat/wtvdec: clear sectors
 avcodec/parser: ensure input padding is zeroed
 avformat/img2dec: Clear padding data after EOF
 avformat/wavdec: Check if there are 16 bytes before testing them
 avcodec/snow: Fix off by 1 error in run_buffer
 avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 for snow
 lsws/ppc/yuv2rgb_altivec: Fix build in non-VSX environments with Clang v2
 lsws/ppc/yuv2rgb_altivec: Fix build in non-VSX environments with Clang
 avformat/mov: (v4) fix get_eia608_packet
 configure: Improve the check for the rsync --contimeout option
 rtmpproto: Avoid rare crashes in the fail: codepath in rtmp_open
 vp9: recon: Use emulated edge to prevent buffer overflows
 arm: vp9mc: Load only 12 pixels in the 4 pixel wide horizontal filter
 aarch64: vp9mc: Load only 12 pixels in the 4 pixel wide horizontal filter
 avcodec/libx265: unbreak build for X265_BUILD >= 213
 lavc/libx265: unbreak build for X265_BUILD >= 210
 avformat/libzmq: fix check for zmq protocol prefix
 configure: improve check for POSIX ioctl
 configure: restore autodetection of v4l2 and fbdev
 configure: use just the pkg-config for sndio
 libavcodec/arm/mlpdsp_armv5te: fix label format to work with binutils 2.43
   2025-04-17 23:53:13 by Thomas Klausner | Files touched by this commit (2449)
Log message:
*: recursive bump for icu 77 and libxml2 2.14
   2025-04-12 08:54:27 by Thomas Klausner | Files touched by this commit (142)
Log message:
*: recursive bump for libtheora 1.2
   2025-02-12 07:45:45 by Ryo ONODERA | Files touched by this commit (850)
Log message:
*: Recursive revbump from audio/flac-1.5.0