Skip to content
Commits on Jan 31, 2016
  1. @jyavenard

    Don't use localeAwareCompare on Qt < 5.3.

    jyavenard committed
    On Qt 5.2 and earlier, this function is extremely slow (https://bugreports.qt.io/browse/QTBUG-36149).
    On my local system it caused the videos screen to not display anything for around 15s. With this workaround, load time is < 2s.
    
    Thanks to Angela Schmid for identifying the cause.
Commits on Jan 30, 2016
  1. @jyavenard

    Don't scan mounted disk image.

    jyavenard committed
    In 10.11 at least, a mounted Time Capsule volume is of type " Disk Image" when it used to be "Apple Disk Image". Scanning of such volume can take an extremely long time, which would cause hang when quitting as the MediaManager is waiting on the scan to complete before quitting
Commits on Jan 24, 2016
  1. @jyavenard

    Resync FFmpeg to n2.8.5

    jyavenard committed
Commits on Jan 17, 2016
  1. @jyavenard

    Fix AirPlay audio (RAOP) with iOS 9 devices.

    jyavenard committed
    Patch by john.p.harvey@btinternet.com with minor modifications. Thank you!.
    
    Fixes #12606
Commits on Jan 16, 2016
  1. @jyavenard

    Get around libvdpau crashing with some resolutions.

    jyavenard committed
    Two problems at hand, one is ours being that the pitch for U plane was wrong (twice as big as it should have been).
    There's still appear to be a problem with libvdpau causing an out of bound read when using resolution not multiple of 16. The issue is bypassed here as we allocate more than necessary and have both the U and V plans pointing to the same buffer, giving us plenty of leeway.
    
    Fixes #12531
Commits on Jan 10, 2016
  1. @jyavenard

    Bump FFmpeg to n2.8.4-8-g3e3aa25

    jyavenard committed
    version 2.8.4
    - rawdec: only exempt BIT0 with need_copy from buffer sanity check
    - mlvdec: check that index_entries exist
    - avcodec/mpeg4videodec: also for empty partitioned slices
    - avcodec/h264_refs: Fix long_idx check
    - avcodec/h264_mc_template: prefetch list1 only if it is used in the MB
    - avcodec/h264_slice: Simplify ref2frm indexing
    - avfilter/vf_mpdecimate: Add missing emms_c()
    - sonic: make sure num_taps * channels is not larger than frame_size
    - opus_silk: fix typo causing overflow in silk_stabilize_lsf
    - ffm: reject invalid codec_id and codec_type
    - golomb: always check for invalid UE golomb codes in get_ue_golomb
    - sbr_qmf_analysis: sanitize input for 32-bit imdct
    - sbrdsp_fixed: assert that input values are in the valid range
    - aacsbr: ensure strictly monotone time borders
    - aacenc: update max_sfb when num_swb changes
    - aaccoder: prevent crash of anmr coder
    - ffmdec: reject zero-sized chunks
    - swscale/x86/rgb2rgb_template: Fallback to mmx in interleaveBytes() if the alignment is insufficient for SSE*
    - swscale/x86/rgb2rgb_template: Do not crash on misaligend stride
    - avformat/mxfenc: Do not crash if there is no packet in the first stream
    - lavf/tee: fix side data double free.
    - avformat/hlsenc: Check the return code of avformat_write_header()
    - avformat/mov: Enable parser for mp3s by old HandBrake
    - avformat/mxfenc: Fix integer overflow in length computation
    - avformat/utils: estimate_timings_from_pts - increase retry counter, fixes invalid duration for ts files with hevc codec
    - avformat/matroskaenc: Check codecdelay before use
    - avutil/mathematics: Fix division by 0
    - mjpegdec: consider chroma subsampling in size check
    - libvpxenc: remove some unused ctrl id mappings
    - avcodec/vp3: ensure header is parsed successfully before tables
    - avcodec/jpeg2000dec: Check bpno in decode_cblk()
    - avcodec/pgssubdec: Fix left shift of 255 by 24 places cannot be represented in type int
    - swscale/utils: Fix for runtime error: left shift of negative value -1
    - avcodec/hevc: Fix integer overflow of entry_point_offset
    - avcodec/dirac_parser: Check that there is a previous PU before accessing it
    - avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
    - avcodec/dirac_parser: Fix potential overflows in pointer checks
    - avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows
    - avcodec/wmaprodec: Fix overflow of cutoff
    - avformat/smacker: fix integer overflow with pts_inc
    - avcodec/vp3: Fix "runtime error: left shift of negative value"
    - avformat/riffdec: Initialize bitrate
    - mpegencts: Fix overflow in cbr mode period calculations
    - avutil/timecode: Fix fps check
    - avutil/mathematics: return INT64_MIN (=AV_NOPTS_VALUE) from av_rescale_rnd() for overflows
    - avcodec/apedec: Check length in long_filter_high_3800()
    - avcodec/vp3: always set pix_fmt in theora_decode_header()
    - avcodec/mpeg4videodec: Check available data before reading custom matrix
    - avutil/mathematics: Do not treat INT64_MIN as positive in av_rescale_rnd
    - avutil/integer: Fix av_mod_i() with negative dividend
    - avformat/dump: Fix integer overflow in av_dump_format()
    - avcodec/h264_refs: Check that long references match before use
    - avcodec/utils: Clear dimensions in ff_get_buffer() on failure
    - avcodec/utils: Use 64bit for aspect ratio calculation in avcodec_string()
    - avcodec/hevc: Check max ctb addresses for WPP
    - avcodec/vp3: Clear context on reinitialization failure
    - avcodec/hevc: allocate entries unconditionally
    - avcodec/hevc_cabac: Fix multiple integer overflows
    - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_encode*()
    - avcodec/jpeg2000dwt: Check ndeclevels before calling dwt_decode*()
    - avcodec/hevc: Check entry_point_offsets
    - lavf/rtpenc_jpeg: Less strict check for standard Huffman tables.
    - avcodec/ffv1dec: Clear quant_table_count if its invalid
    - avcodec/ffv1dec: Print an error if the quant table count is invalid
    - doc/filters/drawtext: fix centering example
    
    version 2.8.3
    - avcodec/cabac: Check initial cabac decoder state
    - avcodec/cabac_functions: Fix "left shift of negative value -31767"
    - avcodec/h264_slice: Limit max_contexts when slice_context_count is initialized
    - rtmpcrypt: Do the xtea decryption in little endian mode
    - avformat/matroskadec: Check subtitle stream before dereferencing
    - avcodec/pngdec: Replace assert by request for sample for unsupported TRNS cases
    - avformat/utils: Do not init parser if probing is unfinished
    - avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
    - avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
    - avcodec/wmaprodec: Check for overread in decode_packet()
    - avcodec/smacker: Check that the data size is a multiple of a sample vector
    - avcodec/takdec: Skip last p2 sample (which is unused)
    - avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
    - avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
    - avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
    - avcodec/dpx: Move need_align to act per line
    - avcodec/flashsv: Check size before updating it
    - avcodec/ivi: Check image dimensions
    - avcodec/utils: Better check for channels in av_get_audio_frame_duration()
    - avcodec/jpeg2000dec: Check for duplicate SIZ marker
    - aacsbr: don't call sbr_dequant twice without intermediate read_sbr_data
    - hqx: correct type and size check of info_offset
    - mxfdec: check edit_rate also for physical_track
    - avcodec/jpeg2000: Change coord to 32bit to support larger than 32k width or height
    - avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
    - avcodec/jpeg2000: Check comp coords to be within the supported size
    - mpegvideo: clear overread in clear_context
    - avcodec/avrndec: Use the AVFrame format instead of the context
    - dds: disable palette flag for compressed images
    - dds: validate compressed source buffer size
    - dds: validate source buffer size before copying
    - dvdsubdec: validate offset2 similar to offset1
    - brstm: reject negative sample rate
    - aacps: avoid division by zero in stereo_processing
    - softfloat: assert when the argument of av_sqrt_sf is negative
    
    version 2.8.2
    - various fixes in the aac_fixed decoder
    - various fixes in softfloat
    - swresample/resample: increase precision for compensation
    - lavf/mov: add support for sidx fragment indexes
    - avformat/mxfenc: Only store user comment related tags when needed
    - tests/fate/avformat: Fix fate-lavf
    - doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
    - ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
    - apng: use correct size for output buffer
    - jvdec: avoid unsigned overflow in comparison
    - avcodec/jpeg2000dec: Clip all tile coordinates
    - avcodec/microdvddec: Check for string end in 'P' case
    - avcodec/dirac_parser: Fix undefined memcpy() use
    - avformat/xmv: Discard remainder of packet on error
    - avformat/xmv: factor return check out of if/else
    - avcodec/mpeg12dec: Do not call show_bits() with invalid bits
    - avcodec/faxcompr: Add missing runs check in decode_uncompressed()
    - libavutil/channel_layout: Check strtol*() for failure
    - avformat/mpegts: Only start probing data streams within probe_packets
    - avcodec/hevc_ps: Check chroma_format_idc
    - avcodec/ffv1dec: Check for 0 quant tables
    - avcodec/mjpegdec: Reinitialize IDCT on BPP changes
    - avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
    - avutil/file_open: avoid file handle inheritance on Windows
    - avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet
    - avformat/hls: update cookies on setcookie response
    - opusdec: Don't run vector_fmul_scalar on zero length arrays
    - avcodec/opusdec: Fix extra samples read index
    - avcodec/ffv1: Initialize vlc_state on allocation
    - avcodec/ffv1dec: update progress in case of broken pointer chains
    - avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
    - rtsp: Allow $ as interleaved packet indicator before a complete response header
    - videodsp: don't overread edges in vfix3 emu_edge.
    - avformat/mp3dec: improve junk skipping heuristic
    - concatdec: fix file_start_time calculation regression
    - avcodec: loongson optimize h264dsp idct and loop filter with mmi
    - avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too
    - avformat/hls: add support for EXT-X-MAP
    - avformat/hls: fix segment selection regression on track changes of live streams
    - configure: Require libkvazaar < 0.7.
    - avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup
  2. @jyavenard

    Add VAAPI HEVC support.

    jyavenard committed
    I don't have any hardware to test and FFmpeg 2.8 doesn't support it yet anyway.
  3. @jyavenard

    Fix VAAPI VC1 decoding..

    jyavenard committed
    Like in 4fa58eacb94907ade1b8ff09673c50fc10fd790f, the behaviour of the FFmpeg
    VC1 decoder is slightly different than the others. It attempts to identify
    the pixel type while scanning for streams.
    We have already identify that the data can be HW accelerated at that stage,
    and will setup a hardware decode context later. The get_format callback will be
    called again shortly. So returning AV_PIX_FMT_YUV420P is a good workaround.
    
    Fixes #12593
  4. @jyavenard

    Fix VDPAU VC1 decoding (and maybe others).

    jyavenard committed
    For some reasons, for VC1, get_format is called during the scanning of streams. Before we're ready to do anything.
    
    Fixes #12570
  5. @jyavenard

    Check that VDPAU hardware supports HEVC.

    jyavenard committed
    Fixes #12591
Commits on Nov 2, 2015
  1. @jyavenard
  2. @jyavenard

    FFmpeg resync.

    jyavenard committed
    From FFMpeg's changelog.
    
    version 2.8.1:
    - swscale: fix ticket #4881
    - doc: fix spelling errors
    - hls: only seek if there is an offset
    - asfdec: add more checks for size left in asf packet buffer
    - asfdec: alloc enough space for storing name in asf_read_metadata_obj
    - avcodec/pngdec: Check blend_op.
    - h264_mp4toannexb: fix pps offfset fault when there are more than one sps in avcc
    - avcodec/h264_mp4toannexb_bsf: Use av_freep() to free spspps_buf
    - avformat/avidec: Workaround broken initial frame
    - avformat/hls: fix some cases of HLS streams which require cookies
    - avcodec/pngdec: reset has_trns after every decode_frame_png()
    - lavf/img2dec: Fix memory leak
    - avcodec/mp3: fix skipping zeros
    - avformat/srtdec: make sure we probe a number
    - configure: check for ID3D11VideoContext
    - avformat/vobsub: compare correct packet stream IDs
    - avformat/srtdec: more lenient first line probing
    - avformat/srtdec: fix number check for the first character
    - avcodec/mips: build fix for MSA 64bit
    - avcodec/mips: build fix for MSA
    - avformat/httpauth: Add space after commas in HTTP/RTSP auth header
    - libavformat/hlsenc: Use of uninitialized memory unlinking old files
    - avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
    - avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
    - avcodec/ffv1dec: Explicitly check read_quant_table() return value
    - dnxhddata: correct weight tables
    - dnxhddec: decode and use interlace mb flag
    - swscale: fix ticket #4877
    - avcodec/rangecoder: Check e
    - avcodec/ffv1: seperate slice_count from max_slice_count
    - swscale: fix ticket 4850
    - cmdutils: Filter dst/srcw/h
    - avutil/log: fix zero length gnu_printf format string warning
    - lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
    - swscale/swscale: Fix "unused variable" warning
    - avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
    - MAINTAINERS: add 2.8, drop 2.2
    - doc: mention libavcodec can decode Opus natively
    - hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
    - avfilter/af_ladspa: process all channels for nb_handles > 1
    - configure: add libsoxr to swresample's pkgconfig
    - lavc: Fix compilation with --disable-everything --enable-parser=mpeg4video.
    
    version 2.8:
    - colorkey video filter
    - BFSTM/BCSTM demuxer
    - little-endian ADPCM_THP decoder
    - Hap decoder and encoder
    - DirectDraw Surface image/texture decoder
    - ssim filter
    - optional new ASF demuxer
    - showvolume filter
    - Many improvements to the JPEG 2000 decoder
    - Go2Meeting decoding support
    - adrawgraph audio and drawgraph video filter
    - removegrain video filter
    - Intel QSV-accelerated MPEG-2 video and HEVC encoding
    - Intel QSV-accelerated MPEG-2 video and HEVC decoding
    - Intel QSV-accelerated VC-1 video decoding
    - libkvazaar HEVC encoder
    - erosion, dilation, deflate and inflate video filters
    - Dynamic Audio Normalizer as dynaudnorm filter
    - Reverse video and areverse audio filter
    - Random filter
    - deband filter
    - AAC fixed-point decoding
    - sidechaincompress audio filter
    - bitstream filter for converting HEVC from MP4 to Annex B
    - acrossfade audio filter
    - allyuv and allrgb video sources
    - atadenoise video filter
    - OS X VideoToolbox support
    - aphasemeter filter
    - showfreqs filter
    - vectorscope filter
    - waveform filter
    - hstack and vstack filter
    - Support DNx100 (1440x1080@8)
    - VAAPI hevc hwaccel
    - VDPAU hevc hwaccel
    - framerate filter
    - Switched default encoders for webm to VP9 and Opus
    - Removed experimental flag from the JPEG 2000 encoder
    
    version 2.7:
    - FFT video filter
    - TDSC decoder
    - DTS lossless extension (XLL) decoding (not lossless, disabled by default)
    - showwavespic filter
    - DTS decoding through libdcadec
    - Drop support for nvenc API before 5.0
    - nvenc HEVC encoder
    - Detelecine filter
    - Intel QSV-accelerated H.264 encoding
    - MMAL-accelerated H.264 decoding
    - basic APNG encoder and muxer with default extension "apng"
    - unpack DivX-style packed B-frames in MPEG-4 bitstream filter
    - WebM Live Chunk Muxer
    - nvenc level and tier options
    - chorus filter
    - Canopus HQ/HQA decoder
    - Automatically rotate videos based on metadata in ffmpeg
    - improved Quickdraw compatibility
    - VP9 high bit-depth and extended colorspaces decoding support
    - WebPAnimEncoder API when available for encoding and muxing WebP
    - Direct3D11-accelerated decoding
    - Support Secure Transport
    - Multipart JPEG demuxer
    
    version 2.6:
    - nvenc encoder
    - 10bit spp filter
    - colorlevels filter
    - RIFX format for *.wav files
    - RTP/mpegts muxer
    - non continuous cache protocol support
    - tblend filter
    - cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
    - Camellia symmetric block cipher
    - OpenH264 encoder wrapper
    - VOC seeking support
    - Closed caption Decoder
    - fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
    - showpalette filter
    - Twofish symmetric block cipher
    - Support DNx100 (960x720@8)
    - eq2 filter ported from libmpcodecs as eq filter
    - removed libmpcodecs
    - Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
    - ported softpulldown filter from libmpcodecs as repeatfields filter
    - dcshift filter
    - RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
    - RTP depacketizer for AC3 payload format (RFC 4184)
    - palettegen and paletteuse filters
    - VP9 RTP payload format (draft 0) experimental depacketizer
    - RTP depacketizer for DV (RFC 6469)
    - DXVA2-accelerated HEVC decoding
    - AAC ELD 480 decoding
    - Intel QSV-accelerated H.264 decoding
    - DSS SP decoder and DSS demuxer
    - Fix stsd atom corruption in DNxHD QuickTimes
    - Canopus HQX decoder
    - RTP depacketization of T.140 text (RFC 4103)
    - Port MIPS optimizations to 64-bit
    
    version 2.5:
    - HEVC/H.265 RTP payload format (draft v6) packetizer
    - SUP/PGS subtitle demuxer
    - ffprobe -show_pixel_formats option
    - CAST128 symmetric block cipher, ECB mode
    - STL subtitle demuxer and decoder
    - libutvideo YUV 4:2:2 10bit support
    - XCB-based screen-grabber
    - UDP-Lite support (RFC 3828)
    - xBR scaling filter
    - AVFoundation screen capturing support
    - ffserver supports codec private options
    - creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
    - WebP muxer with animated WebP support
    - zygoaudio decoding support
    - APNG demuxer
    - postproc visualization support
    
    version 2.4:
    - Icecast protocol
    - ported lenscorrection filter from frei0r filter
    - large optimizations in dctdnoiz to make it usable
    - ICY metadata are now requested by default with the HTTP protocol
    - support for using metadata in stream specifiers in fftools
    - LZMA compression support in TIFF decoder
    - H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
    - HEVC/H.265 RTP payload format (draft v6) depacketizer
    - added codecview filter to visualize information exported by some codecs
    - Matroska 3D support thorugh side data
    - HTML generation using texi2html is deprecated in favor of makeinfo/texi2any
    - silenceremove filter
  3. @jyavenard

    Fix SPDIFEncoder's avio context.

    jyavenard committed
    avid context used to create the raw buffer was opened read only.
  4. @jyavenard

    Use default audio device when none is set.

    jyavenard committed
    This is the default configuration, and would cause initial mythmusic playback to always fail
  5. @jyavenard

    Fix hardware decoding.

    jyavenard committed
    FFmpeg 2.8 now expects that the hwaccel_context be initialized upon returning from get_format. So set it there.
    Verified to work with VDPAU and VAAPI. DXVA not tried.
Commits on Oct 25, 2015
  1. @jyavenard
  2. @jyavenard
  3. @jyavenard

    Fix mythtv-mpegts demuxer.

    jyavenard committed
    FFmpeg has switched to 'probesize2' API
Commits on Oct 11, 2015
  1. @jyavenard

    Initialize AVProbeData objects.

    jyavenard committed
    The new mimetype field is accessed if not set to 0, which would cause out of bound memory access.
  2. @jyavenard
Commits on Oct 10, 2015
  1. @jyavenard

    Fix invalid path to ffmpeg header

    jyavenard committed
    (to merge with ffmpeg resync commit)
  2. @jyavenard

    Add VP9 and HEVC codec data.

    jyavenard committed
  3. @jyavenard
Commits on Oct 4, 2015
  1. @jyavenard

    resync FFmpeg with version 2.8.

    jyavenard committed
    Work in progress Expect things to be broken
Commits on Sep 13, 2015
  1. @jyavenard

    Bug 12505: P4. Fix dependency between mythservicecontracts and mythbase

    jyavenard committed
    libmythservicecontracts needs objects defined in libmyth however we do not want to introduce a cross-dependency between the two.
  2. @jyavenard

    Bug 12505: P3. Update headers

    jyavenard committed
    Add missing headers and update for Qt5
  3. @jyavenard

    Bug 12505: P2. Remove OS X deprecated calls.

    jyavenard committed
    There's no official C/C++ way to retrieve the OS version number anymore (Gestalt was deprecated in 10.8.
    So read the SystemVersion.plist dictionary instead
  4. @jyavenard

    Bug 12505: P1. Remove Carbon + Quartz support

    jyavenard committed
    Qt5 only supports 64 bits . Carbon and Quartz are 32 bits only frameworks and can no long be used. this change drops support for those
Commits on Oct 6, 2014
  1. @jyavenard

    mythtranscode: Prevent double-free

    jyavenard committed
    Not the best way to solve the problem, but it works...
    
    Fixes #12228
  2. @jyavenard

    AirPlay: Fix iOS 8 not seeing video device.

    jyavenard committed
    This is done by advertising support for mirror service (which we don't).
Commits on Sep 11, 2014
  1. @jyavenard

    Playback: digital passthrough changes.

    jyavenard committed
    We use to always decode stereo so enabling upmixing on the fly was possible.
    
    Change in behaviors and capabilities
    * Now will bitstream even stereo signal.
    * allows to upmix digital stereo and revert back to bitstreaming once disabled once again
  2. @jyavenard

    AO: Do not reset audio card if we can continue to passthrough with cu…

    jyavenard committed
    …rrent configuration.
    
    A channel number change while doing passthrough doesn’t usually require a reset of the audio card. Avoid it if we can.
    This could be further extended, so we only reset the card if absolutely necessary
  3. @jyavenard

    AVFD: Do not force the number of channels for AC3

    jyavenard committed
    Honestly, I can’t fully recall what it was ever there for. I remember something to do with properly detecting channel changes, but it doesn’t appear to make a difference anymore.
  4. @jyavenard

    AVFD: Rescan audio stream when detecting audio change even when passt…

    jyavenard committed
    …hrough.
    
    Also don’t drop the audio packet when a change occurs.
Commits on Aug 21, 2014
  1. @jyavenard
Something went wrong with that request. Please try again.