Ffmpeg-devel-irc
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
May 2017
- 1 participants
- 62 discussions
[03:34:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:758258f567a8: avformat/http: Check for truncated buffers in http_connect()
[03:34:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5ee27f48d77c: avcodec/wavpacl: Fix runtime error: left shift of negative value -1
[03:34:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:edb15cce009d: avcodec/mpeg12dec: Fix runtime error: left shift of negative value
[03:34:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:508b8c3569a9: avcodec/pngdec: Check bit depth for validity
[03:34:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:ccce40356ae0: avcodec/srtdec: Fix signed integer overflow: 1811992524 * 384 cannot be represented in type 'int'
[03:34:01 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:116120045b57: avcodec/pictordec: Do not read more than nb_planes
[03:34:01 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1108c628baf3: avcodec/rv34: Simplify and factor get_slice_offset() code
[03:34:02 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:24a9a51e579a: avcodec/mpegaudiodec_template: Correct return code on id3 tag discarding
[03:34:02 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1e301c21d747: avcodec/vp56: Fix sign typo
[03:34:03 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:891f35479653: avcodec/pngdec: Fix runtime error: left shift of 152 by 24 places cannot be represented in type 'int'
[03:34:04 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:eaa6ac7ffd80: avcodec/amrwbdec: Fix 2 runtime errors: left shift of negative value -1
[03:34:05 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:47c30a60e62c: avcodec/vp56: Implement very basic error concealment
[03:34:06 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:11477cdba540: avcodec/vp56: Clear dimensions in case of failure in the middle of a resolution change
[03:34:07 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:3dd0166bde6e: avcodec/mpeg12dec: Fix runtime error: left shift of negative value -1
[03:34:08 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:bf780cbd991d: Add CHECK/SUINT code
[03:34:09 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d7d2a121a334: avcodec/vp3dsp: Fix multiple signed integer overflow: 46341 * 47523 cannot be represented in type 'int'
[03:34:10 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4b1f14dcf585: avcodec/vp56: Factorize vp56_render_mb() out
[03:34:11 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b8b8e4f9eb8c: avcodec/vp8: Check for bitsteam end in decode_mb_row_no_filter()
[03:34:12 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:de43cdb2f50c: avcodec/vp3: Do not return random positive values but the buf size
[03:34:13 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:c098e99d06f4: avcodec/vp56: Require a correctly decoded frame before using vp56_conceal_mb()
[03:34:14 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4770ef874254: avcodec/vp8: remove redundant check
[03:34:15 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9e0e1e3d5417: avcodec/vp568: Check that there is enough data for ff_vp56_init_range_decoder()
[03:34:16 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:cc08c4490409: avcodec/vp8: Check for the bitstream end per MB in decode_mb_row_no_filter()
[03:34:17 CEST] <cone-936> ffmpeg 03Thomas Guilbert 07release/3.2:c73128381fb0: avcodec/vp8: Fix hang with slice threads
[03:34:18 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:e1ebd54a268a: avcodec/vp56: Reset have_undamaged_frame on resolution changes
[03:34:19 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:3e6b3d20b21d: avcodec/vp6: clear dimensions on failed resolution change in vp6_parse_header()
[03:34:20 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8161ebbcc39d: avcodec/htmlsubtitles: Fix reading one byte beyond the array
[03:34:21 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:762bf27fcc6e: avcodec/eac3dec: Fix runtime error: left shift of negative value
[03:34:22 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:6be28e7545a6: avcodec/mjpegdec: Fix runtime error: left shift of negative value -507
[03:34:23 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:09dfcb857e9a: avcodec/mpeg4videodec: Fix runtime error: shift exponent -2 is negative
[03:34:24 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:297b077b49c2: avcodec/h264_cabac: runtime error: signed integer overflow: 2147483647 + 14 cannot be represented in type 'int'
[03:34:25 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:e2b46de96168: avcodec/rv40: Fix runtime error: left shift of negative value
[03:34:26 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0ccc767a15f4: avcodec/ituh263dec: Fix runtime error: left shift of negative value -22
[03:34:27 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:706dd2331a58: avcodec/mpeg4video: Fix runtime error: left shift of negative value
[03:34:28 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:025af5ccd16c: avcodec/mpeg4videodec: Check sprite_offset in addition to shifts
[03:34:29 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:be3852ab9ba9: avcodec/mpeg4videodec: Check the other 3 sprite points for intermediate overflows
[03:34:30 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:842c0b9f59f9: avcodec/mpeg12dec: Fix runtime error: left shift of negative value -2
[03:34:31 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5d21cfb1707f: avcodec/eac3dec: Fix runtime error: left shift of negative value -3
[03:34:32 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:aa34d29b2e2d: avcodec/mpeg4videodec: Fix runtime error: left shift of negative value -2650
[03:34:33 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4c91e1eb5ca4: avcodec/pictordec: Check plane value before doing value/mask computations
[03:34:34 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a07319a0cc98: avcodec/h264_direct: Fix runtime error: left shift of negative value -14
[03:34:35 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:fe4b666707f3: avcodec/mjpegdec: Fix runtime error: left shift of negative value -511
[03:34:36 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4071e7eaab83: avcodec/mpeg4videodec: Improve the overflow checks in mpeg4_decode_sprite_trajectory()
[03:34:37 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0cabddc13bca: avcodec/adxdec: Fix runtime error: left shift of negative value -1
[03:34:38 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:87ae54564846: avcodec/h264_mvpred: Fix multiple runtime error: left shift of negative value
[03:34:39 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b31b1499cfbe: avcodec/mpeg12dec: Fix runtime error: left shift of negative value -13
[03:34:40 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:43919b6e2e74: avcodec/mpeg4videodec: Fix runtime error: signed integer overflow: 134527392 * 16 cannot be represented in type 'int'
[03:34:41 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9b783dc49254: avcodec/wavpack: Fix runtime error: left shift of negative value -2
[03:34:42 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d63cec6ce3b4: avcodec/wavpack: Fix runtime error: left shift of negative value -5
[03:34:43 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:60385207aa36: avcodec/mjpegdec: Fix runtime error: left shift of negative value -127
[03:34:44 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7c349ae7e969: avcodec/h264_mvpred: Fix runtime error: left shift of negative value -1
[03:34:45 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f03bab024097: avcodec/mpeg4videodec: Fix runtime error: signed integer overflow: -135088512 * 16 cannot be represented in type 'int'
[03:34:46 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8eadc50021ab: avcodec/amrwbdec: Fix runtime error: left shift of negative value -1
[03:34:47 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b0c5fff85991: avcodec/rv34: Fix runtime error: signed integer overflow: 36880 * 66288 cannot be represented in type 'int'
[03:34:48 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:81ea01fb1cf2: avcodec/wavpack: Fix runtime error: shift exponent 32 is too large for 32-bit type 'int'
[03:34:49 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:6ee76fab4c52: avcodec/tiff: Check for multiple geo key directories
[03:34:50 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:665279926713: avcodec/mpegaudiodec_template: Make l3_unscale() work with e=0
[03:34:51 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a7ccd87090df: avcodec/tiff: Check stripsize strippos for overflow
[03:34:52 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:6f0a892ba087: avcodec/vp56: Check avctx->error_concealment before enabling EC
[03:34:53 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:fc863900b753: avcodec/tiff: Check geotag count for being non zero
[03:34:54 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8ee3f73464c4: avcodec/h264_ps: Fix runtime error: signed integer overflow: 2147483647 + 26 cannot be represented in type 'int'
[03:34:55 CEST] <cone-936> ffmpeg 03Philip Langdale 07release/3.2:d4f4fa22d7ac: avcodec/vdpau_hevc: Fix potential out-of-bounds write
[03:34:56 CEST] <cone-936> ffmpeg 03Timothy Gu 07release/3.2:efc708afae75: omx: Fix OOM check
[03:34:57 CEST] <cone-936> ffmpeg 03Steven Liu 07release/3.2:7129dfdba86f: avformat/test/fifo_muxer: add check for FailingMuxerPacketData alloc
[03:34:58 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4dcceb650d2b: avcodec/tiff: Perform multiply in tiff_unpack_lzma() as 64bit
[03:34:59 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a99a7bb071b5: avfilter/avfiltergraph: Add assert to write down in machine readable form what is assumed about sample rates in swap_samplerates_on_filter()
[03:35:00 CEST] <cone-936> ffmpeg 03wm4 07release/3.2:4ed0177e4a2a: avcodec: fix uninitialized variable read
[03:35:01 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8ce5038e9998: avfilter/af_sofalizer: Fix bad shift
[03:35:02 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a17d258e949e: avformat/libopenmpt: Check for avio_size() failure
[03:35:03 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5e8786fc228f: avformat/oggparsedaala: Check duration for AV_NOPTS_VALUE
[03:35:04 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:30f20c0b9301: avformat/oggparsedaala: Do not leave an invalid value in gpshift
[03:35:05 CEST] <cone-936> ffmpeg 03Thierry Foucu 07release/3.2:2d0c5899413c: libavformat/mov: Fix memory leak, need to free the chapter tracks array
[03:35:06 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7655f73c45a1: avcodec/h264: Check weight values to be within the specs limits.
[03:35:07 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0a6598536cbc: avcodec/dvdsubdec: Fixes 2 runtime error: left shift of 170 by 24 places cannot be represented in type 'int'
[03:35:08 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:502313dd5079: avformat/mov: Check creation_time for overflow
[03:35:09 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:773c55b820cb: avformat/oggparseogm: Check available data before reading global header
[03:35:10 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:bb61a3122340: avformat/oggparseogm: Check ff_alloc_extradata() for failure
[03:35:11 CEST] <cone-936> ffmpeg 03Derek Buitenhuis 07release/3.2:1485562f6ede: avformat/webmdashenc: Require the 'adaptation_sets' option to be set
[03:35:12 CEST] <cone-936> ffmpeg 03Derek Buitenhuis 07release/3.2:e66548345c6d: avformat/webmdashenc: Validate the 'streams' adaptation sets parameter
[03:35:13 CEST] <cone-936> ffmpeg 03Martin Vignali 07release/3.2:0ed8bab02f1b: libavcodec/exr : fix float to uint16 conversion for negative float value
[03:35:14 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8fb0b9ae3550: avcodec/x86/vc1dsp_init: Fix build failure with --disable-optimizations and clang
[03:35:15 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:50cd472ce6d7: avcodec/mdec: Fix runtime error: left shift of negative value -127
[03:35:16 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9f2b473fa789: doc/developer: Add terse documentation of assumed C implementation defined behavior
[03:35:17 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:bd2e3b0e908b: avcodec/vp3: Check remaining bits in unpack_dct_coeffs()
[03:35:18 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8fee7589d56e: avcodec/indeo2: Check remaining bits in ir2_decode_plane()
[03:35:19 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:fa595a94a118: avcodec/svq3: Increase offsets to prevent integer overflows
[03:35:20 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f66140a1bd21: avcodec/svq3: Reject dx/dy beyond 16bit
[03:35:21 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4674c4594f7f: avcodec/dcadsp: Fix runtime error: signed integer overflow
[03:35:22 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:56f8ab180262: avcodec/h264_cavlc: Fix undefined behavior on qscale overflow
[03:35:23 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:03dee014f4c3: avcodec/msvideo1: Check buffer size before re-getting the frame
[03:35:24 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:6bdc6bef2a7b: avcodec/pngdec: Use ff_set_dimensions()
[03:35:25 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5aa97eb1a6f3: libavcodec/mpeg4videodec: Convert sprite_offset to 64bit
[03:35:26 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:58b05f8720cc: avcodec/dvdsubdec: Fix runtime error: left shift of 242 by 24 places cannot be represented in type 'int'
[03:35:27 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:231e242ed2e3: avcodec/cavsdec: Fix undefined behavior from integer overflow
[03:35:28 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b0d6bff2f29d: avcodec/mjpegdec: Fix runtime error: signed integer overflow: -24543 * 2031616 cannot be represented in type 'int'
[03:35:29 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a78cfe84f962: avcodec/tiertexseqv: set the fixed dimenasions, do not depend on the demuxer doing so
[03:35:30 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5fb14cc889d1: avcodec/wnv1: Fix runtime error: left shift of negative value -1
[03:35:31 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:77aa9eddbc9b: avcodec/dss_sp: Fix multiple left shift of negative value -466
[03:35:32 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:db8f28fd3f8b: avcodec/g722: Fix multiple runtime error: left shift of negative value -1
[03:35:33 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0f6f16392208: avcodec/cdxl: Fix signed integer overflow: 14243456 * 164 cannot be represented in type 'int'
[03:35:34 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9c7184ae63de: avcodec/nellymoser: Fix multiple left shift of negative value -8591
[03:35:35 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:536af4212100: avcodec/dfa: Fix off by 1 error
[03:35:36 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1f91d66a62d1: avcodec/mdec: Fix signed integer overflow: 28835400 * 83 cannot be represented in type 'int'
[03:35:37 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:2a6cad221b12: avcodec/aacsbr_template: Do not leave bs_num_env invalid
[03:35:38 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:cff78c4cc437: avutil/softfloat: Fix multiple runtime error: left shift of negative value -8
[03:35:39 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:2d3da218ce3f: avcodec/snowdec: Check qbias
[03:35:40 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4ee1e00f08a1: avcodec/mlpdec: Fix runtime error: left shift of negative value -22
[03:35:41 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:aa39ca14d67f: avcodec/fic: Fix multiple left shift of negative value -15
[03:35:42 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:054a16d37562: avcodec/mimic: Fix runtime error: left shift of negative value -1
[03:35:43 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:37d51c242f6f: avcodec/g723_1: Fix multiple runtime error: left shift of negative value
[03:35:44 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:65f3fffbcfde: avcodec/dfa: Fix signed integer overflow: -2147483648 - 1 cannot be represented in type 'int'
[03:35:45 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:57e603fd9f14: avcodec/webp: Fix null pointer dereference
[03:35:46 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8bf18194abd6: avcodec/shorten: Check k in get_uint()
[03:35:47 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:db835412058f: avcodec/mss3: Change types in rac_get_model_sym() to match the types they are initialized from
[03:35:48 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f20c485e4e41: avcodec/hq_hqa: Fix runtime error: left shift of negative value -207
[03:35:49 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1bb1d2d4a1ca: avutil/softfloat: Fix overflow in av_div_sf()
[03:35:50 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7a69c1b2abfa: avcodec/cdxl: Check format parameter
[03:35:51 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:207f2874c075: avcodec/dds: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
[03:35:52 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:89e26447fa87: avcodec/msmpeg4dec: Correct table depth
[03:35:53 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a3e3d72d122a: avcodec/svq3: Fix multiple runtime error: signed integer overflow: 44161 * 61694 cannot be represented in type 'int'
[03:35:54 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1514e432f962: avcodec/ivi_dsp: Fix multiple left shift of negative value -2
[03:35:55 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a7ca51b2734c: avcodec/texturedsp: Fix multiple runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
[03:35:56 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5c81cf8225ce: avcodec/targa_y216dec: Fix width type
[03:35:57 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8d1700079456: avcodec/mss34dsp: Fix multiple signed integer overflow
[03:35:58 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:fe09596f4983: avcodec/ra144: Fix runtime error: left shift of negative value -798
[03:35:59 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:408b4fb430a0: avcodec/g726: Fix runtime error: left shift of negative value -2
[03:36:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:e9a8242b96d9: avcodec/eamad: Fix runtime error: signed integer overflow: 49674 * 49858 cannot be represented in type 'int'
[03:36:01 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:36dd76ef1459: avcodec/s302m: Fix left shift of 8 by 28 places cannot be represented in type 'int'
[03:36:02 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:332a9cbbf7df: avcodec/aacdec_template: Do not decode 2nd PCE if it will lead to failure
[03:36:03 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:85c8c0c826e7: avcodec/xwddec: Check bpp more completely
[03:36:04 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:ed06434bff3f: avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -12156865 cannot be represented in type 'int'
[03:36:05 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4aea3cd974c2: avcodec/ffv1dec: Fix copying planes of paletted formats
[03:36:06 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7f3a671ece8f: avcodec/cdxl: Check format for BGR24
[03:36:07 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:862b16aabfd3: avcodec/cavsdec: Check sym_factor
[03:36:08 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f06fae660b59: avcodec/hqxdsp: Fix multiple runtime error: signed integer overflow: 248220 * 21407 cannot be represented in type 'int' in idct_col()
[03:36:09 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:05efc2bab7d3: avcodec/vp8dsp: Fixes: runtime error: signed integer overflow: 1330143360 - -1023040530 cannot be represented in type 'int'
[03:36:10 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:afa243bdf007: avcodec/dvbsubdec: check region dimensions
[03:36:11 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:14da95af46af: avcodec/dss_sp: Fix multiple runtime error: signed integer overflow: -15699 * -164039 cannot be represented in type 'int'
[03:36:12 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f47b687067aa: avcodec/bmvvideo: Fix runtime error: left shift of 137 by 24 places cannot be represented in type 'int'
[03:36:13 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:350f7f0bdf68: avcodec/htmlsubtitles: Check for string truncation and return error
[03:36:14 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:1219924dbe2f: avcodec/g723_1dec: Fix several integer related cases of undefined behaviour
[03:36:15 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:ebbf9e1eb8b7: avcodec/indeo2: Check for invalid VLCs
[03:36:16 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:477020fdf1cd: avcodec/takdec: Fix multiple runtime error: left shift of negative value -1
[03:36:17 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7810d341d376: avcodec/lagarith: Fix runtime error: left shift of negative value -1
[03:36:18 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d47a3f3f9d62: avcodec/lagarith: Check scale_factor
[03:36:19 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:f01e5156df1b: avcodec/texturedsp: Fix runtime error: left shift of 218 by 24 places cannot be represented in type 'int'
[03:36:20 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:dcc5cdbdbbcc: avcodec/svq3: Fix multiple runtime error: signed integer overflow: -237341 * 24552 cannot be represented in type 'int'
[03:36:21 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:3c8e14482e3f: avcodec/y41pdec: Fix width in input buffer size check
[03:36:22 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:25a592e5d456: avcodec/cavs: Check updated MV
[03:36:23 CEST] <cone-936> ffmpeg 03N^ 07release/3.2:a4fb44723dca: avformat/wavdec: Check chunk_size
[03:36:24 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d6c2b08e733b: avcodec/dss_sp: Fix runtime error: signed integer overflow: 2147481189 + 4096 cannot be represented in type 'int'
[03:36:25 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d757c9428c4f: avcodec/eatqi: Fix runtime error: signed integer overflow: 4466147 * 1075 cannot be represented in type 'int'
[03:36:26 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:89a23848281e: avcodec/truemotion1: Fix multiple runtime error: left shift of negative value -1
[03:36:27 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:fa3bbd77c1bd: avfilter/vf_uspp: Fix currently unused input frame dimensions
[03:36:28 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:869e8b1d0f54: avcodec/webp: Always set pix_fmt
[03:36:29 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:8bdef54c198a: avcodec/mpeg12dec: Fixes runtime error: division by zero
[03:36:30 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b36be353b862: avcodec/aacdec_fixed: Fix multiple shift exponent 33 is too large for 32-bit type 'int'
[03:36:31 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:b83e839f1e25: avcodec/dvbsubdec: Check entry_id
[03:36:32 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0a75880b648e: avcodec/cllc: Factor VLC_BITS/DEPTH out, do not use repeated literal numbers
[03:36:33 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:af52a28f4dd2: avcodec/cllc: Check num_bits
[03:36:34 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:54eaad7c6e32: avcodec/msmpeg4dec: Check for cbpy VLC errors
[03:36:35 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:a1a7dd4da0b5: avcodec/diracdec: Fix Assertion frame->buf[0] failed at libavcodec/decode.c:610
[03:36:36 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:2964778d7ea8: avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -17047030 cannot be represented in type 'int'
[03:36:37 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:bec98cd8bd96: avcodec/g723_1dec: Fix runtime error: left shift of negative value -1
[03:36:38 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7d37865af0ff: avcodec/texturedsp: Fix runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
[03:36:39 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9c6577035e4f: avcodec/avcodec: Limit the number of side data elements per packet
[03:36:40 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5983ae55ec04: avcodec/vp8dsp: vp7_luma_dc_wht_c: Fix multiple runtime error: signed integer overflow: -1366381240 + -1262413604 cannot be represented in type 'int'
[03:36:41 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:39a24c1fa81e: avcodec/mlp: Fix multiple runtime error: left shift of negative value -1
[03:36:42 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:4d47113c662a: avcodec/aacsbr_template: Do not change bs_num_env before its checked
[03:36:43 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:95ccad67582f: avcodec/aacdec_fixed: Fix runtime error: left shift of negative value -1
[03:36:44 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:7ed2d4dcb773: avcodec/webp: Add missing input padding
[03:36:45 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:85d5f5502ca0: avcodec/ac3dec: Keep track of band structure
[03:36:46 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:236628520787: avcodec/mlpdec: Check that there is enough data for headers
[03:36:47 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:ea57abac8d92: avcodec/svq3: Fix runtime error: signed integer overflow: 169 * 12717677 cannot be represented in type 'int'
[03:36:48 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:79bfa4a6636a: avcodec/webp: Fix signedness in prefix_code check
[03:36:49 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:82bcbad1fd89: avcodec/ffv1dec: Fix runtime error: signed integer overflow: 1550964438 + 1550964438 cannot be represented in type 'int'
[03:36:50 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:45a0a449bd6f: libswscale/tests/swscale: Fix uninitialized variables
[03:36:51 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:08a4305128bd: avcodec/g723_1dec: Fix LCG type
[03:36:52 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d736890eedd2: avcodec/hqxdsp: Fix runtime error: signed integer overflow: -196264 * 11585 cannot be represented in type 'int'
[03:36:53 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:322077091c33: avcodec/ac3dec: Fix: runtime error: index -1 out of bounds for type 'INTFLOAT [2]'
[03:36:54 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:36847fd7f1e0: avcodec/mpeg4videodec: Clear sprite wraping on unsupported cases in VOP decode
[03:36:55 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:9b762642418f: avcodec/dds: Fix runtime error: left shift of 210 by 24 places cannot be represented in type 'int'
[03:36:56 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:3c428a5ff7a2: avcodec/rscc: Check pixel_size for overflow
[03:36:57 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:d835d6cd089b: avcodec/cllc: Check prefix
[03:36:58 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:2384c67d06ae: avcodec/webp: Factor update_canvas_size() out
[03:36:59 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:5d7b87af7e26: avcodec/webp: Update canvas size in vp8_lossy_decode_frame() as in vp8_lossless_decode_frame()
[03:37:00 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:3078fc9de74f: avcodec/snowdec: Check width
[03:37:01 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:6131115d27af: avcodec/flacdec: Return error code instead of 0 for failures
[03:37:02 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:0f5cb5c1113d: avcodec/opus_silk: Fix integer overflow and out of array read
[03:37:03 CEST] <cone-936> ffmpeg 03Michael Niedermayer 07release/3.2:826515083a28: avcodec/aacps: Fix undefined behavior
[10:19:32 CEST] <mateo`> tmm1: hello, should i push your jni patch ?
[11:39:18 CEST] <cone-685> ffmpeg 03wm4 07master:532b23f079b5: videotoolbox: add hwcontext support
[11:47:32 CEST] <cone-685> ffmpeg 03Timo Rothenpieler 07master:6a3740572dfe: configure: add cuda-sdk for things requiring full CUDA sdk
[11:47:33 CEST] <cone-685> ffmpeg 03Timo Rothenpieler 07master:f1ab71b04636: build: add support for building .cu files via nvcc
[11:47:34 CEST] <cone-685> ffmpeg 03Yogender Gupta 07master:921bd9a2be4c: avfilter/scale_cuda: add CUDA scale filter
[12:47:09 CEST] <wm4> mateo`: so I assume your mediacodec wrapper can't deal with negative PTS
[12:55:43 CEST] <mateo`> wm4: I assume not too as queueInputBuffer takes the input pts as an uint64_t (like the ndk method). However the Java method takes a (j)long for the pts arg.
[12:56:24 CEST] <mateo`> so, it should be ok to change the pts type to int64_t
[12:56:44 CEST] <wm4> so is the type supposed to be signed or unsigned?
[12:57:05 CEST] <wm4> using NDK (a different wrapper) with nvidia's decoder seems to corrupt negative timestamps
[12:59:38 CEST] <mateo`> I don't know for sure, sorry. But I can test things if that can help
[13:02:18 CEST] <mateo`> Do you have a test case for negative pts ?
[13:04:55 CEST] <wm4> mateo`: just test transcoding with ffmpeg.c and use -ss
[13:05:11 CEST] <wm4> I mean, -ss before the input file
[13:05:41 CEST] <wm4> it seems in this mode, the decoder will get negative timestamps for the offset between resulting demuxer seek position and the -ss argument
[13:39:39 CEST] <JEEB> wm4: ah, so that's why I often get interesting edit lists
[13:39:46 CEST] <JEEB> when doing -ss before -i and -t with remuxing
[13:42:00 CEST] <wm4> dunno
[13:42:25 CEST] <JEEB> since it does the negative PTS thing with an edit list I think
[13:42:33 CEST] <JEEB> although I'd have to double-check
[13:42:52 CEST] <JEEB> (I generally see it by comparing how firefox and mpv play an mp4 file)
[13:44:41 CEST] <wm4> mpv has "advanced" edit lists disabled now
[13:45:08 CEST] <nevcairiel> lav too
[13:45:26 CEST] <JEEB> yea, I think that's just a basic one tho
[13:45:31 CEST] <JEEB> I don't think lavf can write the more fancy ones
[13:45:51 CEST] <nevcairiel> yeah probably not
[14:30:16 CEST] <cone-685> ffmpeg 03Paul B Mahol 07master:7760ed7e9606: avfilter/af_silenceremove: set output timestamps
[14:30:17 CEST] <cone-685> ffmpeg 03Paul B Mahol 07master:13f4d077ed27: avfilter/af_compand: change default attack to 0
[14:42:25 CEST] <BBB> J_Darnley: did anyone review your patch yet? (simple_idct)
[14:43:02 CEST] <J_Darnley> I think no
[14:43:13 CEST] <BBB> let me make some time for that
[14:43:17 CEST] <BBB> getting that in would be pretty amazing
[14:43:21 CEST] <BBB> (IMHO)
[15:18:52 CEST] <J_Darnley> Is anyone is the middle of doing a merge?
[15:18:56 CEST] <J_Darnley> I want to push my old h264 patch set that I haven't done yet.
[15:22:31 CEST] <BBB> doesnt look like it
[15:25:34 CEST] <J_Darnley> Then I will push in a moment
[15:26:28 CEST] <J_Darnley> BBB: I dropped the label change patch after some investigation. It turned into that rather long email about strip option.
[15:26:40 CEST] <BBB> ok
[15:29:25 CEST] <cone-685> ffmpeg 03James Darnley 07master:060ba9e5e335: avcodec/h264: change RETs into REP_RETs where appropriate
[15:29:26 CEST] <cone-685> ffmpeg 03James Darnley 07master:b5325c6711a6: avcodec/h264: use some 3 operand forms
[15:29:27 CEST] <cone-685> ffmpeg 03James Darnley 07master:f61d454ca13f: avcodec/h264: add avx 8-bit h264_idct_add
[15:29:28 CEST] <cone-685> ffmpeg 03James Darnley 07master:27460dfebc29: avcodec/h264: add avx 8-bit h264_idct_dc_add
[15:29:29 CEST] <cone-685> ffmpeg 03James Darnley 07master:7aa90b4e9414: avcodec/h264: add sse2 versions of previous idct functions
[17:02:55 CEST] <philipl> BtbN: There's at least one problem with that ptx2c script. It assumes /bin/sh is bash.
[17:03:05 CEST] <philipl> Which is not true on a default ubuntu install
[17:03:17 CEST] <BtbN> it does?
[17:04:01 CEST] <philipl> NAME=="${NAME/.ptx/}"
[17:04:04 CEST] <philipl> That's a bashism
[17:04:09 CEST] <philipl> https://wiki.ubuntu.com/DashAsBinSh#A.24.7Bparm.2F.3F.2Fpat.5B.2Fstr.5D.7D
[17:07:03 CEST] <BtbN> just slightly insane to pull in perl or something for a trivial string replace
[17:07:48 CEST] <philipl> No doubt. but awk is present everywhere
[17:08:22 CEST] <BtbN> I have no idea how to script awk though, perl regexps I know
[17:08:28 CEST] <philipl> Mind you, I think there are additional bash specific things in here.
[17:08:33 CEST] <philipl> I'm trying to work it out
[17:08:44 CEST] <BtbN> I'd be more tempted to just run it with bash instead
[17:08:53 CEST] <BtbN> bash is also available pretty much everywhere
[17:09:44 CEST] <philipl> Oh, silly. Yes.
[17:09:49 CEST] <philipl> I thought it was make deciding to use sh.
[17:09:53 CEST] <philipl> Then yes, just use bash
[17:10:29 CEST] <BtbN> No idea if not using bash is written somewhere
[17:11:15 CEST] <philipl> echo "No compatible shell script interpreter found."
[17:11:15 CEST] <philipl> echo "This configure script requires a POSIX-compatible shell"
[17:11:15 CEST] <philipl> echo "such as bash or ksh."
[17:11:34 CEST] <BtbN> But doesn't the configure script also just put /bin/sh?
[17:11:38 CEST] <philipl> Yes.
[17:11:52 CEST] <philipl> The configure script doesn't require bash but at least it recommends it :-)
[17:12:01 CEST] <BtbN> So I'd assume it doesn't use bash features
[17:12:06 CEST] <philipl> It does not.
[17:12:10 CEST] <BtbN> I actually only have bash, no other shell
[17:12:17 CEST] <BtbN> Will try it with busybox sh
[17:12:25 CEST] <philipl> Let's be honest, you have to go out of your way to compile this filter - a bash requirement is hardly a big deal.
[17:13:13 CEST] <BtbN> If it's just using sed instead of that, I'd be fine with that
[17:14:09 CEST] <philipl> There's another problem in there I have not diagnosed yet.
[17:14:29 CEST] <philipl> Oh, they pass some bash specific argument to echo
[17:14:34 CEST] <philipl> echo -ne is a bashism.
[17:14:53 CEST] <philipl> so I guess use /bin/echo
[17:15:10 CEST] <BtbN> -ne seems pretty basic to me
[17:15:16 CEST] <BtbN> I guess the posix way is printf?
[17:15:52 CEST] <philipl> Dunno. Anyway. I have a fix I guess.
[17:16:31 CEST] <BtbN> I'd also kinda of like to harden the script against special chars in the ptx files
[17:17:00 CEST] <BtbN> but that will be incredibly hard, without going for an all-in solution and putting every single byte as \xXY
[17:18:57 CEST] <BtbN> busybox sh executes the current script successfully
[17:20:36 CEST] <philipl> https://github.com/philipl/FFmpeg/commit/dfaa3eadb6d43ee69157c556b6fe2cf51d…
[17:21:07 CEST] <BtbN> is $() also bash?
[17:21:22 CEST] <philipl> If it is, it's also in dash.
[17:21:33 CEST] <BtbN> Cause right now it's mixing `` and $(), which looks kinda strange
[17:21:54 CEST] <philipl> Fair. My habit is always ``. I can make it $() if you want.
[17:21:58 CEST] <BtbN> can also just slab that sed into the existing $()
[17:22:22 CEST] <BtbN> But don't worry, I'm working on the script right now as well, have more idea
[17:23:12 CEST] <philipl> BtbN: Ok. I'll leave it you then :-)
[17:23:33 CEST] <BtbN> I'm actually going to use awk
[17:23:39 CEST] <BtbN> to convert the entire input file to hex
[17:24:07 CEST] <nevcairiel> making the entire file unreadable seems not ideal for debugging purposes
[17:24:25 CEST] <BtbN> nobody is going to ever look at the ptx code nvcc outputs
[17:24:30 CEST] <BtbN> besides, the .ptx file is still plaintext
[17:24:37 CEST] <BtbN> just the .ptx.c with the PTX in a C string will
[17:24:57 CEST] <BtbN> I don't want any bad surprises with nvidia decides to output a " somewhere
[17:27:15 CEST] <nevcairiel> so escape things that need actual escaping, " and \
[17:27:42 CEST] <BtbN> How would I do that cleanly in a shell script? Seems way more of a mess than just converting that whole file to a binary hex string
[17:28:50 CEST] <nevcairiel> sed can do all that
[17:30:09 CEST] <nevcairiel> echo "foo\"bar" | sed 's/"/\\"/' .. add more as appropriate
[17:31:16 CEST] <nevcairiel> echo "\\foo\"bar" | sed 's/["\\]/\\&/' for multiple tokens
[17:31:33 CEST] <BtbN> I don't see a benefit, the hell of unicode might still get that
[17:31:48 CEST] <nevcairiel> unicode in a string is a problem why? :)
[17:32:01 CEST] <BtbN> It might be weird control characters
[17:32:10 CEST] <nevcairiel> as long as you dont print those, it no care
[17:51:44 CEST] <BtbN> sed plain refuses to replace \
[18:00:33 CEST] <BtbN> printf "\n\t\"%s\\\n\"" "$(printf "%s" "$LINE" | sed 's/["\\]/\\&/g')"
[18:00:35 CEST] <BtbN> great...
[18:01:27 CEST] <Gramner^> are you trying to include a binary file as a c string? use od
[18:02:43 CEST] <ubitux> xxd -i?
[18:03:07 CEST] <BtbN> I want to include an arbitrary text file in a C string
[18:03:16 CEST] <Gramner> x264 has code to do this fwiw: https://git.videolan.org/?p=x264.git;a=blob;f=tools/cltostr.sh;hb=HEAD
[18:03:17 CEST] <BtbN> I don't want to assume xxd to be installed.
[18:06:12 CEST] <BtbN> philipl, https://github.com/BtbN/FFmpeg/blob/master/compat/cuda/ptx2c.sh
[18:07:18 CEST] <BtbN> work in dash, bb sh and bash for me
[18:16:10 CEST] <faLUCE> Hello. sorry to ask here, but nobody seems to have an answer for this question in the #ffmpeg channel: I fill my demuxer's packets with a read callback ( int read_packet(void *opaque, uint8_t *buf, int buf_size){...} ), which is called by av_read_frame(). Is there a way to make av_read_frame() return EAGAIN when I don't have data to put into read_packet()? I tried to return "-1" from read_packet() when I don't
[18:16:11 CEST] <faLUCE> have data, but I don't understand if it is the proper way to manage this case.
[18:21:25 CEST] <philipl> BtbN: cool. Looks fine to me
[18:26:57 CEST] <nevcairiel> faLUCE: thats not a supported mode, return 0 indicates EOF and any negative value an error, you would need to block and wait for data
[18:27:49 CEST] <faLUCE> nevcairiel: is it necessary to block? I'm searching for an ASYNC soultion
[18:28:29 CEST] <nevcairiel> we dont support non-blocking IO on that level
[18:28:52 CEST] <faLUCE> damn :-(
[18:29:29 CEST] <faLUCE> anyway, thanks nevcairiel... I hoped there was a way to make an async call
[18:33:54 CEST] <J_Darnley> wm4: your addition of libavutil/hwcontext_videotoolbox.h has caused fate-source to fail. The inclusion guard isn't of the form demanded by the test.
[18:34:17 CEST] <cone-685> ffmpeg 03James Almer 07master:e0ecc7db48b1: avcodec/Makefile: fix dnxhd parser dependencies
[18:47:17 CEST] <wm4> J_Darnley: what's the problem? the fate test doesn't say
[18:47:33 CEST] <wm4> the .err file is empty
[18:47:38 CEST] <wm4> (this is bullshit btw.)
[18:48:37 CEST] <J_Darnley> Yes it is BS. The header guard should be AVUTIL_HWCONTEXT_VIDEOTOOLBOX_H
[18:50:54 CEST] <cone-685> ffmpeg 03wm4 07master:f0435bbe170d: hwcontext_videotoolbox: fix fate-source
[18:55:24 CEST] <cone-685> ffmpeg 03Timo Rothenpieler 07master:88896c46196e: compat/cuda/ptx2c: remove bashism and harden against arbitrary input
[19:59:19 CEST] <cone-685> ffmpeg 03Paul B Mahol 07master:9bebad86c7f8: avfilter/af_stereotools: introduce different balance modes
[21:17:05 CEST] <bofh_> atomnuker: sec, let me toss a patch at the ML
[21:34:35 CEST] <cone-685> ffmpeg 03Paul B Mahol 07master:4c55144ee969: avfilter/vf_deflicker: add bypass option
[00:00:00 CEST] --- Tue May 16 2017
1
0
[00:28:56 CEST] <sikilikis> I need help with some problem. Here is my command + the error i get: https://pastebin.com/BUNqaYyB
[00:29:12 CEST] <sikilikis> I have used this same command previously with ffmpeg 3.2.4 stable and it worked then
[00:29:32 CEST] <sikilikis> this is running on a raspberry pi 3. I recently formatted the sd card and installed +recompiled everything fresh
[00:29:38 CEST] <sikilikis> using the latest version of ffmpeg
[01:07:29 CEST] <sikilikis> nobody has any hints as to what my problem is?
[01:19:44 CEST] <arin20> Hi, quick CLI noob question, could you tell me the syntax for adding a chapters.txt file to an mkv encode? Thanks in advance
[01:22:28 CEST] <arin20> The chapters file is already prepared
[02:27:46 CEST] <sikilikis> can someone help me? I'm using the most recent ffmpeg on a raspberry pi 3. I'm trying to use the hardware encoder but i'm getting some generic error. Here is my command and the error: https://pastebin.com/zAvbijN0
[02:29:02 CEST] <sikilikis> that command used to work on ffmpeg 3.2.4 stable. i reinstalled the OS on the pi and now it isnt working
[02:35:18 CEST] <thebombzen> sikilikis: what if you use the omx command line tools
[02:35:40 CEST] <sikilikis> I have no idea what that is. I've never needed them before
[02:37:19 CEST] <sikilikis> here is the full output: https://pastebin.com/EDpPZ1wR
[02:41:59 CEST] <hiihiii> hello
[02:45:27 CEST] <sikilikis> oh my god i'm an idiot. I forgot to do the memory split on the raspberry pi
[02:48:06 CEST] <hiihiii> suppose you have a 60fps clip whose frames are A B C A B C A B C ...
[02:48:33 CEST] <hiihiii> what can you do to drop the C frames
[02:49:27 CEST] <hiihiii> I tried to duplicate "fps=90,fps=60" but i got A C A C A C instead
[02:55:26 CEST] <hiihiii> with "fps=90,select=gte(n\,1),fps=60" I believe that the select filter will be applied first before fps=90
[02:55:31 CEST] <hiihiii> ?
[02:56:23 CEST] <hiihiii> if that's not the case then I'd get C A C A C A which is okay for me
[03:15:29 CEST] <arin20> Ah never mind, I'll just add the chapters later with mkvtoolnix
[03:15:35 CEST] <arin20> Thanks anyway, take care
[03:16:44 CEST] <hiihiii> got it. "fps=90,select=gte(n\,1),fps=60,select=gte(n\,1),..." this skips two frames but I get A B A B ..etc nonetheless
[03:19:05 CEST] <hiihiii> looks ugly though. is there anything I could possibly to optimize this??
[03:22:49 CEST] <thebombzen> sikilikis: haha user error would do it
[03:23:05 CEST] <thebombzen> but yes I meant "what about the command-line tools" not because they would work but because they can help you diagnose the problem
[03:23:23 CEST] <thebombzen> hiihiii: use -vf framestep=3
[03:23:27 CEST] <thebombzen> !filter framestep
[03:25:58 CEST] <hiihiii> it says "Select frame after every 'step' frames."
[03:26:20 CEST] <sikilikis> well now I'm running into general performance issues
[03:26:28 CEST] <sikilikis> again, no idea why and it was working perfectly fine before
[03:26:45 CEST] <sikilikis> its not overheating either and doesn't seem to be hitting memory issues
[03:27:08 CEST] <hiihiii> framestep=3 would drop 2 frames and output 1
[03:27:17 CEST] <hiihiii> I'm trying to do the reverse of that
[03:27:30 CEST] <hiihiii> output the first 2 then drop the third
[03:29:40 CEST] <thebombzen> at worst you could use -vf select
[03:29:48 CEST] <thebombzen> although there's probably an easier way to do it
[03:30:27 CEST] <hiihiii> I apologies maybe I had thrown you off with fps=90
[03:32:12 CEST] <thebombzen> this is a bit of a hack
[03:32:20 CEST] <thebombzen> but you could use fps=120,framestep=3
[03:32:37 CEST] <thebombzen> which will duplicate every frame and then select every 3rd frame
[03:33:59 CEST] <hiihiii> but that 'every 3rd frame' is what I'm trying to dodge
[03:34:26 CEST] <thebombzen> hm?
[03:34:53 CEST] <hiihiii> A B C A B C A B C to A B A B A B and not A C A C A C
[03:35:13 CEST] <hiihiii> or C C C
[03:35:22 CEST] <thebombzen> I believe I just answered your question
[03:35:46 CEST] <thebombzen> "you could use fps=120,framestep=3 which will duplicate every frame and then select every 3rd frame"
[03:36:11 CEST] <thebombzen> duplicating every frame takes you to aabbccaabbccaabbccaabbcc
[03:36:16 CEST] <thebombzen> what happens if you select every 3rd frame from that
[03:36:37 CEST] <thebombzen> you drop 'cc' and the 'ab' in the middle of aabb
[03:36:42 CEST] <thebombzen> and you're left with aabbaabbaabb
[03:36:48 CEST] <thebombzen> errr
[03:36:50 CEST] <thebombzen> ababababab
[03:36:51 CEST] <thebombzen> typo
[03:37:23 CEST] <hiihiii> I think you need to errr again
[03:37:50 CEST] <hiihiii> wait
[03:38:03 CEST] <hiihiii> it selects 1 then drops two
[03:38:20 CEST] <hiihiii> I thought it drops 2 then selects 1
[03:38:25 CEST] <hiihiii> ok
[03:39:04 CEST] <thebombzen> either way if you care about the exact frames dropped
[03:39:11 CEST] <thebombzen> you should be using vf select
[03:41:46 CEST] <hiihiii> okay thx anyway
[03:43:07 CEST] <thebombzen> hiihiii: try -vf 'select=if(mod(n\,3)\,1)'
[03:43:29 CEST] <thebombzen> don't forget the single quotes and the backslashes (part of the filter)
[03:43:50 CEST] <thebombzen> note that with -vf select, this will return variable framerate video
[03:44:02 CEST] <thebombzen> this will drop every third frame but won't change the timestamps
[03:44:06 CEST] <hiihiii> already tried it
[03:44:15 CEST] <hiihiii> it doesn't work for my case
[03:44:19 CEST] <thebombzen> why not
[03:44:31 CEST] <thebombzen> how does it "not work"
[03:45:16 CEST] <thebombzen> there's more than one way for it to do the wrong thing
[03:46:04 CEST] <thebombzen> also hiihiii if you want to rebase it from 60 to 40 constant framerate once you drop the frames then you should then you should append a setpts filter
[03:46:11 CEST] <thebombzen> probably setpts=N/40/TB
[03:47:19 CEST] <hiihiii> for 'select=if(mod(n\,3)\,1)' to work in my case i'd have to skip the first 3 frames
[03:47:25 CEST] <thebombzen> why
[03:47:36 CEST] <hiihiii> which mean I'll need to do a nother select
[03:47:45 CEST] <thebombzen> skipping 3 frames would do nothing
[03:47:51 CEST] <thebombzen> because this filter is cyclic mod 3
[03:48:06 CEST] <hiihiii> then there's the problem you added that I haven't heard of until now
[03:48:33 CEST] <hiihiii> the frames are indexed starting from 0
[03:48:46 CEST] <hiihiii> 0 1 2 3 4 5 6 7 8 9 10
[03:48:53 CEST] <thebombzen> okay, then add 1
[03:49:00 CEST] <thebombzen> -vf 'select=if(mod(n+1\,3)\,1)'
[03:49:13 CEST] <hiihiii> 0 1 2 X 4 5 X 7 8 X 10
[03:50:07 CEST] <hiihiii> huh didn't know you could do arithmetic
[03:50:20 CEST] <thebombzen> why wouldn't you think that
[03:50:29 CEST] <thebombzen> when this literally modular arithmetic
[03:50:51 CEST] <thebombzen> also, 0 is 0 mod 3 so it wouldn't be 0 1 2 X 4 5 X 7 8 X 10, it would be X 1 2 X 4 5 X 7 8 X 10
[03:51:01 CEST] <hiihiii> because of that. modulo is a function and not an operator
[03:51:17 CEST] <thebombzen> that's becaue there's no modulus key on the keyboard
[03:51:54 CEST] <hiihiii> so my mind just jumped to the conclusion that you couldn't especially since you could only use certain preset "macros" like n and whatnot
[03:52:09 CEST] <thebombzen> n is not a macro here
[03:52:16 CEST] <hiihiii> % is modulo in a lot of languages
[03:52:24 CEST] <thebombzen> only in C-based languages
[03:52:31 CEST] <thebombzen> and not in standard mathematical notation
[03:52:38 CEST] <thebombzen> unlike +, -, *, and /
[03:53:07 CEST] <hiihiii> you could also say I was lazy to check
[03:54:53 CEST] <hiihiii> -vf 'select=if(mod(n+1\,3)\,1)' I'll try it
[03:55:12 CEST] <hiihiii> it's late now so I'll be off
[03:55:48 CEST] <hiihiii> bye
[06:11:43 CEST] <damdai> what is best way to extrat subtitle file from .mkv file
[06:29:09 CEST] <dystopia_> mkvmerge
[06:29:22 CEST] <dystopia_> well mkvmerge gui is easiest
[06:29:49 CEST] <dystopia_> you can do it with the command line too though with -a and -v to omit audio and video
[06:37:59 CEST] <damdai> that created mka file
[06:38:05 CEST] <damdai> not srt file
[06:44:31 CEST] <dystopia_> you used gui or command line?
[06:47:48 CEST] <thebombzen> damdai: ffmpeg -i input.mkv -map s -c copy output.srt
[06:48:04 CEST] <thebombzen> assuming the sub is subrip
[06:48:18 CEST] <damdai> what if it's vobsub
[06:49:22 CEST] <thebombzen> well do you want the subs to be identical or do you just want it to a subrip
[06:49:38 CEST] <thebombzen> cause if you just want a subrip file do: ffmpeg -i input.mkv -map s output.srt
[06:51:10 CEST] <dystopia_> damdai http://i.imgur.com/i2MXVnz.png
[06:51:27 CEST] <dystopia_> or do what thebombzen said heh
[06:51:45 CEST] <damdai> Stream mapping:
[06:51:45 CEST] <damdai> Stream #0:2 -> #0:0 (dvd_subtitle (dvdsub) -> subrip (srt))
[06:51:45 CEST] <damdai> Stream #0:3 -> #0:1 (dvd_subtitle (dvdsub) -> subrip (srt))
[06:51:45 CEST] <damdai> Stream #0:4 -> #0:2 (dvd_subtitle (dvdsub) -> subrip (srt))
[06:51:45 CEST] <damdai> Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[06:51:58 CEST] <thebombzen> well there's three subtitle streams
[06:52:26 CEST] <thebombzen> if you want to select only one of them then you're going to need to do -map 0:2 or -map 0:3 or -map 0:4, depending on which one you want
[06:52:39 CEST] <damdai> how do i do all 3 then
[06:52:42 CEST] <dystopia_> mkv merge is the same though kinda, mkvmerge -o output.mkv -A -v -T input.mkv
[06:52:45 CEST] <dystopia_> bah
[06:52:48 CEST] <dystopia_> you need to map them
[06:52:50 CEST] <thebombzen> you can't put 3 subtitle tracks in a single subrip file
[06:53:06 CEST] <damdai> i mean to 3 different files
[06:53:07 CEST] <thebombzen> subrip files only support one subtitle track
[06:53:25 CEST] <dystopia_> -map 0:x
[06:53:32 CEST] <dystopia_> x being the one you want to dump each time
[06:53:40 CEST] <thebombzen> you could do: ffmpeg -i input.mkv -map 0:2 first.srt -map 0:3 second.srt -map 0:4 third.srt
[06:54:34 CEST] <gregors> hi there. I'm trying to compile ffmpeg-3.3.1 on a banana pi (arm). ./configure gives me an "ERROR:frei0r.h header not found". Can somebody help?
[06:54:45 CEST] <damdai> thebombzen okay, then what does -map s do
[06:54:54 CEST] <thebombzen> "s" is a stream selector
[06:54:57 CEST] <thebombzen> it means "all subtitle streams"
[06:56:12 CEST] <thebombzen> see https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1 for a more indepth description
[06:56:18 CEST] <damdai> -map 0:2 didn't work
[06:59:37 CEST] <damdai> thebombzen what is the difference between "ffmpeg -i input.mkv -map s output.srt" and "ffmpeg -i input.mkv -map s -c copy output.srt"
[06:59:58 CEST] <thebombzen> -c copy means codec copy. it tells ffmpeg to output whatever subtitle codec came in
[07:00:12 CEST] <damdai> subtitle codec?
[07:00:24 CEST] <thebombzen> yes, like dvd_subtitle or subrip
[07:00:42 CEST] <damdai> if you don't use -c copy , what format does it use
[07:01:05 CEST] <dystopia_> it should use same as imput also, unless you specify otherwise
[07:01:32 CEST] <damdai> ffmpeg -i input.mkv -map s output.srt worked on different mkv file with one subtitle file
[07:01:43 CEST] <damdai> but doesn't work on this 3 subtitle one
[07:02:14 CEST] <dystopia_> ffmpeg -i input.mkv -map 0:2 s output.srt
[07:02:26 CEST] <dystopia_> you tried this? and 0:3 and 0:4
[07:02:56 CEST] <damdai> [NULL @ 0000000002835520] Unable to find a suitable output format for 's'
[07:02:56 CEST] <damdai> s: Invalid argument
[07:04:57 CEST] <dystopia_> instead of s
[07:05:01 CEST] <dystopia_> try -scodec copy
[07:05:47 CEST] <dystopia_> ffmpeg -i input.mkv -map 0:2 -scodec copy -an -vn output.srt
[07:05:48 CEST] <dystopia_> i guess
[07:06:32 CEST] <damdai> doesn't work
[07:06:35 CEST] <damdai> still
[07:06:45 CEST] <dystopia_> :(
[07:06:59 CEST] <damdai> i think it uses vobsub
[07:07:00 CEST] <dystopia_> i dunno, i would just use mkvmerge's gui unless you are scripting this or somthing
[07:07:18 CEST] <damdai> not text based subtitle
[07:07:38 CEST] <damdai> does ffmpeg not support vobsub?
[07:18:50 CEST] <thebombzen> dystopia_: that's wrong
[07:19:06 CEST] <thebombzen> damdai: the output format is determined from the filename
[07:19:11 CEST] <thebombzen> unless you tell ffmpeg otherwise
[07:19:56 CEST] <thebombzen> damdai: it doesn't work because that's a typo
[07:20:04 CEST] <thebombzen> do this: ffmpeg -i input.mkv -map 0:2 output.srt
[07:20:05 CEST] <thebombzen> not this ffmpeg -i input.mkv -map 0:2 s output.srt
[07:20:14 CEST] <thebombzen> as in, do what I told you to do.
[07:20:16 CEST] <thebombzen> A bit ago.
[07:21:06 CEST] <thebombzen> so to answer your questions:
[07:21:14 CEST] <thebombzen> [01:00:42] <damdai> if you don't use -c copy , what format does it use
[07:21:50 CEST] <thebombzen> ^ it automatically selects one from the output file format, which in turn is automatically determined from the output filename.
[07:22:11 CEST] <thebombzen> [01:01:32] <damdai> ffmpeg -i input.mkv -map s output.srt worked on different mkv file with one subtitle file
[07:22:21 CEST] <thebombzen> ^ [00:53:06] <thebombzen> subrip files only support one subtitle track
[07:22:41 CEST] <thebombzen> [01:07:38] <damdai> does ffmpeg not support vobsub?
[07:23:30 CEST] <damdai> what typo?
[07:24:01 CEST] <thebombzen> ^ ffmpeg does support vobsub but it's called dvdsub.
[07:24:04 CEST] <thebombzen> as for what typo, the 's'
[07:24:06 CEST] <thebombzen> the 's' was a typo
[07:24:20 CEST] <thebombzen> [01:20:04] <thebombzen> do this: ffmpeg -i input.mkv -map 0:2 output.srt [01:20:05] <thebombzen> not this ffmpeg -i input.mkv -map 0:2 s output.srt
[07:24:21 CEST] <damdai> it doesn't work with or without s
[07:24:45 CEST] <thebombzen> you're saying this doesn't work: ffmpeg -i input.mkv -map 0:2 output.srt
[07:24:52 CEST] <damdai> correct
[07:25:13 CEST] <thebombzen> there's lots of ways something can "not work"
[07:25:21 CEST] <thebombzen> that doesn't provide any information really
[07:26:22 CEST] <damdai> Stream #0:2 -> #0:0 (dvd_subtitle (dvdsub) -> subrip (srt))
[07:26:22 CEST] <damdai> Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
[07:44:34 CEST] <Threads> damdai dvb_subtitle is picture subtitles you cant use ffmpeg to extract them
[07:45:14 CEST] <damdai> ffmpeg doesn't support picture subtitles?
[07:45:40 CEST] <Threads> best to use subtitle edit for that sort of thing
[07:45:59 CEST] <Threads> http://www.nikse.dk/subtitleedit/
[10:34:42 CEST] <ergZay> hi, i have a broken file that appears to have had the colormatrix encoded to limited so even when using a limited colormatrix the black levels are already at 20 and white levels at 230
[10:34:55 CEST] <ergZay> is there a way to apply a filter to expand these out again to the full range?
[13:39:16 CEST] <eMDi> hello ev1
[13:40:20 CEST] <eMDi> need help with concating files into one videofile. i receive everytime error :( Unsafe file name , but switch -safe 0 is used
[13:59:06 CEST] <eMDi> solved, thanks. bye
[15:42:44 CEST] <Nacht> Are there standard rules as to what number a video or audio PID can have for an MPEG-TS stream ? Like is video always lower then audio ?
[15:49:48 CEST] <DHE> no particular rules. some number/ranges are reserved though. any reason to change the defaults?
[15:53:03 CEST] <Nacht> Making bumpers to fit around a video, so the PID's have to match. Was just wondering if there was some logic in the PID, since I see quite a range of different PIDs
[15:53:16 CEST] <Nacht> 33, 34, 251 252, 481, 482 etc.
[15:55:50 CEST] <DHE> nothing in particular. I think it just defaults to putting PMTs in one "region" and the the main elementary streams in another...
[15:57:24 CEST] <Nacht> I see, thank you for the info :)
[15:57:58 CEST] <DHE> ... bumpers?
[16:03:44 CEST] <Nacht> Bumpers, as in a short intro and outro around a clip.
[16:04:30 CEST] <Nacht> An example of a crappy intro bumper: https://www.youtube.com/watch?v=IKoxoYYsq5A
[16:14:11 CEST] <DHE> that's not the intended use of multiple PIDs
[16:14:44 CEST] <DHE> they're intended so you can have multiple programs (audio + video streams) or multiple streams (eg: multiple language audio tracks) or both inside a single bitstream.
[16:16:27 CEST] <Nacht> That's not it. I had recieved bumpers, which I converted to TS with FFMPEG. But I wanted to merge them with TS from an HLS stream. Which had different PID's. So I had to manipulate the default PID's of ffmpeg.
[16:43:38 CEST] <termos> any good reason why my libffmpeg transcoded stream plays in ffplay but not in a flash player?
[16:44:36 CEST] <termos> example stream: rtmp://46.137.108.163/live/transcoder_test1
[16:47:34 CEST] <Nacht> What about ? rtmp://46.137.108.163:1935/live/transcoder_test1
[16:48:22 CEST] <termos> same issue for me with specifying the port
[17:10:08 CEST] <sikilikis> I have a general question. When using alsa as an input to record audio from an application, what causes the Alsa buffer xrun error?
[17:11:41 CEST] <sikilikis> This is on a raspberry pi 3. everything was working for me perfectly fine, even between reboots, but then at somepoint I began getting them more and more. Now I can't even format the OS and recompile everything without still seeing this
[17:12:06 CEST] <sikilikis> makes me think either my SD card is becoming crappy or the hardware itself is failing, but I won't know until I understand what that error actually is and why it happens
[17:15:27 CEST] <sikilikis> this *was* being used to stream music and a looping animation to youtube. And it used to work perfectly. No change in software or hardware (that I know of). then more and more alsa buffer xrun errors popped up, making the audio choppy and eventually making the stream suffer
[17:43:14 CEST] <debianuser> sikilikis: Alsa buffer overrun means that the application is reading audio data from the buffer slower than the soundcard putting it there, so eventually the buffer overruns and some audio samples are lost.
[17:48:53 CEST] <faLUCE> hello, I fill my demuxer's packets with a read callback ( int read_packet(void *opaque, uint8_t *buf, int buf_size){...} ), which is called by av_read_frame(). Is there a way to make av_read_frame() return EAGAIN when I don't have data to put into read_packet()? I tried to return "-1" from read_packet() when I don't have data, but I don't understand if it is the proper way to manage this case.
[17:52:00 CEST] Last message repeated 1 time(s).
[18:04:09 CEST] <sikilikis> which application would that be? ffmpeg or the media player?
[18:06:55 CEST] <sikilikis> or in other words, should I be worrying about optimizing ffmpeg or is this due to something else in the system?
[18:10:31 CEST] <kepstin> sikilikis: well, the issue is that ffmpeg isn't running fast enough, but that's probably due to resources on the system - e.g. if you're writing to an sd card and the card is wearing out, writes will get slower, ffmpeg runs slower, then you get alsa xruns
[18:10:53 CEST] <sikilikis> does ffmpeg write to the sd card?
[18:10:59 CEST] <kepstin> sikilikis: only if you tell it to
[18:11:10 CEST] <kepstin> I don't know what you're doing with it...
[18:11:29 CEST] <sikilikis> its streaming audio and looping images to youtube
[18:11:34 CEST] <kepstin> if you're streaming video over wifi - maybe your wifi is congested, so ffmpeg can't stream fast enough, so it's causing xruns
[18:11:45 CEST] <sikilikis> with the output being redirected to /tmp, which should be a ramdisk
[18:11:48 CEST] <sikilikis> its ethernet
[18:11:59 CEST] <sikilikis> and it was working perfectly fine before.
[18:11:59 CEST] <faLUCE> help me please!
[18:12:07 CEST] <kepstin> sikilikis: could just be cpu limitations as well, depending on the encoder in use
[18:12:11 CEST] <sikilikis> only thing that changes were the mp3s I'm playing, but in no major way
[18:12:49 CEST] <sikilikis> I didnt change any of the software. It just started to get alsa errors. I ended up formatting the card and reinstalling the OS. recompiled the newest version of ffmpeg and its the same thing
[18:13:07 CEST] <sikilikis> only software running on it (besides the OS) is mpg123 and ffmpeg
[18:13:23 CEST] <kepstin> faLUCE: you have a *very* esoteric dev question, repeating it and shouting "help me please!" is not gonna magically get you a solution faster.
[18:13:24 CEST] <sikilikis> its on a rpi 3
[18:14:09 CEST] <sikilikis> I don't have my ffmpeg command on me cuz I'm at work, but I don't think its a problem with ffmpeg. Like I said it was working before
[18:14:14 CEST] <kepstin> sikilikis: well, it's a performance thing, you're just gonna have to start profiling bits of the system to see where the bottleneck is
[18:14:21 CEST] <sikilikis> I just need to know what might cause them to begin with
[18:14:33 CEST] <sikilikis> do you think a bad sd card could be a source of this?
[18:14:33 CEST] <kepstin> e.g. start by running 'top' and see if the cpu usage is the limit before looking at other things
[18:14:52 CEST] <faLUCE> kepstin: it's not an esoteric question!
[18:14:56 CEST] <faLUCE> It's a basic question
[18:14:56 CEST] <kepstin> sikilikis: hard to say. it could be, but it's unlikely
[18:15:08 CEST] <sikilikis> its not the cpu. I've noticed the opposite actually. I see more cpu drops
[18:15:23 CEST] <sikilikis> temperatures are fine as well
[18:15:34 CEST] <sikilikis> I don't see any indication that its power
[18:15:47 CEST] <kepstin> sikilikis: check memory usage - you want to make sure you have no swap, since swap on sd card will cause nasty latency issues.
[18:15:57 CEST] <sikilikis> no I have no swap
[18:16:32 CEST] <sikilikis> i reinstalled the OS but the issue appeared before that. and again, it worked perfectly for days. Weeks even. Then it kind of started to hiccup
[18:16:47 CEST] <sikilikis> at first doing some reboots helped for a bit but it would always return
[18:16:56 CEST] <kepstin> make sure that when looking at cpu usage, you have something that shows you per-core - if ffmpeg is using all of one core and the others are idle, that's indications of a problem
[18:16:59 CEST] <sikilikis> and now, even after reinstalling the OS and recompiling ffmpeg, it continues
[18:17:33 CEST] <sikilikis> I use htop. It shows all four cores and I don't see any huge jumps
[18:18:18 CEST] <sikilikis> but it's still weird that it began out of nowhere. That's why I asked if it could be sd card corruption. The other alternative is that the cpu itself is starting to fail
[18:18:30 CEST] <sikilikis> or the hardware encoder. I'm not too familiar with the raspberry pi's hardware
[18:18:59 CEST] <sikilikis> but would you agree that it's probably not an issue with ffmpeg itself?
[18:20:19 CEST] <kepstin> well, the ffmpeg cli tool is inherently single-threaded, and not designed for realtime work, so it's really sensitive t bottlenecks elsewhere that'll cause it to hiccup the entire encode.
[18:21:32 CEST] <kepstin> i find it kind of surprising how many people are using underpowered rpi hardware to stream video to youtube, there's probably a market for someone to make a dedicated optimized app for that :/
[18:21:41 CEST] <sikilikis> hmm. Well in my case it does appear to use the four cores.
[18:22:30 CEST] <sikilikis> also most people stream video feed from a webcam. usually anyway. I havent heard of any other use case except my own
[18:22:45 CEST] <kepstin> that's really odd, with the hw encoder in use, ffmpeg shouldn't be running any stuff in extra threads. It's probably just bouncing the single ffmpeg thread among cores?
[18:23:21 CEST] <sikilikis> maybe I dunno. each core will hover around 15-25% usage and it will list multiple ffmpeg processes, which I assume are different threads
[18:23:45 CEST] <sikilikis> well now like I said I'll see more 0% usages with some occasional jumps
[18:23:53 CEST] <kepstin> ... make sure you aren't running multiple ffmpeg processes
[18:24:06 CEST] <sikilikis> oh yeah, in my case I'm also displaying text and the text is dynamic. So that probably uses up some cpu
[18:24:25 CEST] <sikilikis> it's not running multiple ffmpeg processes. never has
[18:24:56 CEST] <sikilikis> before I was using ffmpeg 3.2.4 stable if that helps anything, but I doubt that's the issue
[18:25:12 CEST] <furq> what lists multiple ffmpeg processes
[18:25:20 CEST] <furq> if that's regular top then that's definitely not right
[18:25:28 CEST] <kepstin> sounds like it's htop? I forget if it shows threads separately by default
[18:25:35 CEST] <kepstin> should be an option to switch that on/off
[18:25:35 CEST] <sikilikis> its htop yeah
[18:25:43 CEST] <furq> yeah if it's htop then that's probably fine
[18:25:56 CEST] <furq> the threads will show up as children of the main process
[18:26:39 CEST] <sikilikis> yeah I like htop because it shows per-core usage
[18:27:03 CEST] <kepstin> so does top, just hit '1' while it's running ;)
[18:27:09 CEST] <sikilikis> when it worked, each core hovered around like 15-25%
[18:27:21 CEST] <furq> quiz time: what does the h stand for
[18:27:23 CEST] <furq> you have five seconds
[18:27:34 CEST] <furq> you all lose
[18:27:37 CEST] <sikilikis> now its a bit more dynamic but I don't think I saw any cpu spikes
[18:27:51 CEST] <furq> it obviously stands for "hisham"
[18:27:58 CEST] <sikilikis> its lower than usual. I'm going to try more once I get home but that's where it stands for now
[18:28:00 CEST] <furq> that's the most useless bit of trivia i know
[18:28:41 CEST] <sikilikis> I'm sure there are worse trivia bits to know
[18:29:49 CEST] <sikilikis> basically, if it worked before and nothing in the system changed, then it stop working, what are the possible causes?
[18:30:02 CEST] <furq> bad feng shui
[18:30:05 CEST] <dystopia_> user error
[18:30:21 CEST] <sikilikis> I don't think it's overheating and throttling. Had a fan on it the whole time and its been relatively cool lately
[18:30:41 CEST] <furq> i'd be surprised if you could ever load a pi 3 enough to need a fan
[18:30:56 CEST] <furq> unless you live in the sahara
[18:31:03 CEST] <sikilikis> yeah I'm going to try it without a fan and see what happens. Maybe I never needed it
[18:31:08 CEST] <furq> i mean it ships with no heatsink
[18:31:09 CEST] <sikilikis> we get an occasional heat wave here
[18:31:17 CEST] <sikilikis> it has a heatsink on it at least
[18:31:23 CEST] <furq> i put one on mine mostly for comedy value
[18:31:23 CEST] <dystopia_> isnt an rpi too weak to do anything with ffmpeg?
[18:31:27 CEST] <furq> because i had a spare one of the right size
[18:31:31 CEST] <sikilikis> but yeah the hottest it got with the fan is like 55C
[18:31:50 CEST] <kepstin> dystopia_: most people with rpis are using the hardware encoder
[18:31:54 CEST] <sikilikis> and that was during a hot week where it got to the 90s
[18:32:02 CEST] <furq> shame it doesn't have a hardware aac encoder really
[18:32:15 CEST] <kepstin> that said, the rpi3 is a 1.2ghz quad core, it could probably run x264 with a fast preset almost usefully :/
[18:32:19 CEST] <sikilikis> but yeah, if we rule out heating issues, what's left
[18:32:47 CEST] <furq> the only thing that comes to mind is different videocore stuff
[18:32:50 CEST] <furq> if you reinstalled everything
[18:33:09 CEST] <furq> if you're running a newer firmware then the vc stuff should've been updated
[18:33:16 CEST] <furq> i don't see why that'd cause alsa issues though
[18:34:32 CEST] <furq> also yeah the tjmax of the pi cpu is like 85C
[18:34:40 CEST] <furq> so 55 isn't even getting warm
[18:35:54 CEST] <furq> oh
[18:35:57 CEST] <furq> were you overclocking it before
[18:36:10 CEST] <sikilikis> no. I'm not even sure how to overclock the pi 3
[18:36:19 CEST] <furq> obviously if you wiped the card then your /boot/config.txt is gone
[18:36:22 CEST] <sikilikis> it probably doesnt need it though
[18:36:30 CEST] <kepstin> hmm, awesome, one of my scripts is generating a command that causes ffmpeg to eat lots of ram and get oom killed. time for some script debugging...
[18:36:33 CEST] <furq> yeah i'm just thinking of things that could've changed
[18:36:54 CEST] <sikilikis> the version of ffmpeg changed. But this happened to both stable 3.2.4 and the current latest
[18:36:58 CEST] <sikilikis> so I don't think it's that
[18:37:42 CEST] <james999> surprise Jeremy Corbyn wants a tax hike for those with £80,000 or higher. How much does he make? £75,000
[18:37:43 CEST] <sikilikis> the wipe didn't fix the issue. So the only thing that stayed the same between those is the hardware (an sd card, a flash drive for extra storage, and the pi itself) and the mp3 files
[18:38:08 CEST] <furq> james999: he'd make more than 80k if he won
[18:38:12 CEST] <furq> and if he doesn't win then it's not happening
[18:38:16 CEST] <furq> so uh
[18:38:54 CEST] <furq> this is why you shouldn't get your opinions from image macros on your bad uncle's facebook wall
[18:39:09 CEST] <james999> T_T
[18:39:22 CEST] <james999> So Teresa May is making £150,402?
[18:39:27 CEST] <furq> don't ask me
[18:39:38 CEST] <furq> i think the 80k tax hike is a bad idea anyway
[18:39:44 CEST] <james999> that's what the top google result tells me
[18:40:14 CEST] <james999> but, but... image macros are fun and educational!
[18:40:20 CEST] <furq> you can't call it a "robin hood tax" when you're going after people who make 80k and ignoring companies sending all their money to luxembourg
[18:41:14 CEST] <furq> same with hiking corporation tax. it's only going to affect people who aren't doing well enough to absorb it
[18:41:40 CEST] <furq> everyone with enough money to absorb it isn't paying it anyway
[18:42:26 CEST] <james999> yeah. same problem with taxes here in the US now that I think about it
[18:42:44 CEST] <james999> anyway I posted a comment about what you said, so thanks for the clarification
[18:43:02 CEST] <furq> helping the world, one bad facebook wall at a time
[18:43:40 CEST] <furq> like a much more severely punished sisyphus
[18:44:17 CEST] <anchi> Hello! I have a questiong regarding ffmpeg command that does not seem to function well
[18:46:30 CEST] <anchi> I should send command here?
[18:46:40 CEST] <anchi> ffmpeg -i input.mp4 -loop 1 -i image.png -filter_complex "[1:v]format=rgba,scale=-2:240,fade=in:st=4:d=1.5:alpha=1,fade=out:st=9:d=0.3:alpha=1[png];[0:v][png]overlay=x='min(-1.5*w+6*w*t,0)':y=3*(H-h)/4-0:shortest=1:enable='between(t,4,10)'" -y output.mp4
[18:48:51 CEST] <james999> should the "x=" be "x:"?
[18:49:11 CEST] <furq> no
[18:49:35 CEST] <furq> anchi: what's the problem with it
[18:50:29 CEST] <anchi> I will change it to x:
[18:50:38 CEST] <furq> it shouldn't be x
[18:50:40 CEST] <furq> :
[18:51:00 CEST] <anchi> but this happens whenever I add enable=between
[18:51:17 CEST] <anchi> without this it's good
[18:51:21 CEST] <anchi> it has transition
[18:52:14 CEST] <furq> try changing the in start and out start to 1 and 5
[18:52:19 CEST] <furq> or 0 and 5, rather
[18:52:42 CEST] <anchi> ok I will try that. it seems I cannot use -loop 1 and enable between together
[18:55:16 CEST] <anchi> ok I changed between 1 to 5 still no sliding from left to right
[19:07:24 CEST] <JodaZ> guys, something must be wrong with ffmpeg default settings, "the scene" has been shitting on a group for using ffmpeg for like a year now giving examples like this: https://i.imgur.com/1A416M2.jpg
[19:10:03 CEST] <faLUCE> Do you know if is there another good library that I can use for demuxing mpegts, other than libav?
[19:10:25 CEST] <furq> JodaZ: what am i even looking at here
[19:10:49 CEST] <BtbN> looks like normal movie motion blur to me
[19:11:18 CEST] <furq> that just looks like a bad soufce
[19:11:19 CEST] <furq> r
[19:12:43 CEST] <furq> the standards (inasmuch as they're worth listening to) don't even mention ffmpeg
[19:12:52 CEST] <furq> other than to say you shouldn't use ffmpeg's ivtc filters or aac encoder
[19:13:12 CEST] <furq> and the aac encoder being disallowed makes sense because they disallow cbr aac
[19:13:39 CEST] <dystopia_> faLUCE, haali media splitter ?
[19:15:49 CEST] <faLUCE> dystopia_: is it a library?
[19:16:42 CEST] <faLUCE> dystopia_: there's not the source code and the website is very obscure
[19:16:55 CEST] <BtbN> I think it's a dshow filter?
[19:35:00 CEST] <kepstin> you can convince ffmpeg's ivtc filters to give decent results if you have clean input, but you have to check the result to make sure :/
[19:38:07 CEST] <JEEB> well, you have to check the result of all IVTC and deint filters anyways
[19:38:17 CEST] <JEEB> if you care about the output that is
[19:46:45 CEST] <anchi> so guys expression evaluation x='min(-1.5*w+5*w*t,5)' is ignored if I add enable='between(t,4,10)' to the command
[19:46:53 CEST] <anchi> else it works
[20:37:45 CEST] <Fenrirthviti> Any recommendations for taking an RTMP ingest and making it available for playback on mobile? I don't care the format, I'm willing to install any additional libraries or tools needed on my server (linux) to accomplish this. Currently have nginx-rtmp being used for ingest, I need to figure out some way of getting playback working for mobile
[20:38:09 CEST] <Fenrirthviti> hls isn't an option through nginx-rtmp directly because the fragments are all bugged to shit and playback fails after the first two
[20:40:05 CEST] <BtbN> hls from nginx-rtmp works fine for me.
[20:40:14 CEST] <furq> same
[20:41:13 CEST] <Fenrirthviti> Mind sharing a config sample? Nothing I do seems to work.
[20:41:33 CEST] <Fenrirthviti> Inspection of the playlist fragments is constant CC errors that break playback.
[20:41:49 CEST] <BtbN> sounds to me like you're sending super long gops or something
[20:42:23 CEST] <Fenrirthviti> I'm just using whatever nginx-rtmp does by default
[20:42:47 CEST] <furq> what are you sending to it
[20:43:15 CEST] <Fenrirthviti> h.264/aac flv stream
[20:43:33 CEST] <Fenrirthviti> from OBS, x264 encoded
[20:43:51 CEST] <Fenrirthviti> rtmp playback works fine, then I'm using ffmpeg to copy the stream to the hls block
[20:45:32 CEST] <Fenrirthviti> https://gist.github.com/Fenrirthviti/b8c69c9715b7d974289b723f1d273e8b is the config I'm using, nothing fancy
[20:45:42 CEST] <Fenrirthviti> and sorry, not using ffmpeg currently, just pushing it
[20:46:00 CEST] <Fenrirthviti> but tried using ffmpeg with exec_push and same result
[20:47:09 CEST] <furq> you'll want to make sure you're using 5-second gops in OBS
[20:47:20 CEST] <furq> or set hls_fragment to whatever OBS is using
[20:47:44 CEST] <furq> i assume that sets the m3u duration header, and i know modern iOS blows up if your fragments exceed that length
[20:47:57 CEST] <Fenrirthviti> just set to auto, so whatever x264 is using by default
[20:47:58 CEST] <Fenrirthviti> 2 I think?
[20:48:40 CEST] <furq> no
[20:48:46 CEST] <furq> x264 uses 250 frames by default
[20:48:49 CEST] <furq> which is probably more than five seconds
[20:49:02 CEST] <Fenrirthviti> ah ha.
[20:49:20 CEST] <furq> i mean maybe OBS does something different
[20:49:58 CEST] <Fenrirthviti> no, you can keyframe int manually for x264, default is just auto though
[20:50:15 CEST] <Fenrirthviti> and I think OBS changes based on certain streaming services, like Twitch or whatever, but doesn't apply to custom destinations
[20:55:22 CEST] <Fenrirthviti> Nope, that didn't work.
[20:55:24 CEST] <Fenrirthviti> Same issue.
[20:56:31 CEST] <kepstin> bah, so I have a video file (webcam source, recorded server-side from rtmp stream) with a 191 minute jump in timestamps
[20:56:53 CEST] <kepstin> and when I run it through an 'fps' filter to even out the framerate, all of the frames it queues up to fill the gap cause ffmpeg to oom
[20:57:46 CEST] <kepstin> inserts 275237 duplicated frames.
[20:58:10 CEST] <furq> is it h264
[20:58:37 CEST] <kepstin> both input and output are h264, yeah
[20:58:39 CEST] <ChocolateArmpits> kepstin, try generating timestamps just before the fps filter
[20:58:46 CEST] <ChocolateArmpits> use setpts/asetpts
[20:58:55 CEST] <furq> you should be able to rewrite the timestamps by demuxing and remuxing it
[20:59:02 CEST] <kepstin> ChocolateArmpits: not sure how that would help, the timestamps are correct. the stream just has no frames for 191 minutes
[20:59:22 CEST] <kepstin> and I need to fill that gap by repeating the last frame I have so it looks good
[20:59:23 CEST] <furq> ffmpeg -i foo.mp4 -c copy out.264; ffmpeg -r 30 -i out.264 -c copy out.mp4
[20:59:43 CEST] <ChocolateArmpits> kepstin, so what's the problem with the fps filter ?
[20:59:46 CEST] <kepstin> in particular, I cannot remove the gap because that'll cause a/v desync
[20:59:48 CEST] <furq> oh right do you actually need an appropriately sized gap
[20:59:48 CEST] <ChocolateArmpits> if you need it filled anyways
[21:00:11 CEST] <furq> ChocolateArmpits: it's running out of memory
[21:00:14 CEST] <kepstin> ChocolateArmpits: it queues up all 275237 filler frames at the same time, causing an oom from the memory needed to do so
[21:01:06 CEST] <ChocolateArmpits> i see
[21:01:38 CEST] <Fenrirthviti> Thanks for the input guys. This is going to be beyond my skillset to sort out and I don't want to waste your time expecting me to have knowledge I don't.
[21:01:57 CEST] <furq> Fenrirthviti: what players are you testing it with
[21:02:10 CEST] <Fenrirthviti> vlc and video.js, plus an HLS inspector I found
[21:02:15 CEST] <furq> oh right
[21:02:31 CEST] <furq> yeah if it's not working with proper players then there's some bigger issue
[21:02:47 CEST] <Fenrirthviti> https://pub.rachni.com/img/javaw_2017-05-15_14-02-44.png
[21:02:53 CEST] <furq> iOS's player is particularly picky about spec violations, but hls.js is pretty robust in my experience
[21:02:54 CEST] <Fenrirthviti> is what I get from the inspector tool
[21:03:03 CEST] <Fenrirthviti> VLC plays the first two fragments fine, then just locks up
[21:03:11 CEST] <Fenrirthviti> I can't even restart playback without restarting the player completely
[21:03:23 CEST] <Fenrirthviti> video.js does the same thing pretty much
[21:03:36 CEST] <furq> what gop length/framerate are you using
[21:03:37 CEST] <Fenrirthviti> I've found dozens of similar reports regarding nginx-rtmp and HLS playback
[21:03:47 CEST] <furq> weird
[21:03:54 CEST] <Fenrirthviti> I'll be perfectly honest, I have no idea what gop length means.
[21:03:56 CEST] <furq> it's always worked fine for me, and i've not seen anyone complain about it
[21:03:57 CEST] <Fenrirthviti> If you mean keyframe int?
[21:03:59 CEST] <furq> yeah
[21:04:05 CEST] <furq> group of pictures
[21:04:06 CEST] <Fenrirthviti> 120 right now
[21:04:18 CEST] <Fenrirthviti> 2 seconds @ 60fps
[21:04:30 CEST] <furq> oh
[21:04:34 CEST] <furq> 250 was probably fine then
[21:04:40 CEST] <Fenrirthviti> https://gist.github.com/Fenrirthviti/a147d290da2a0a967070bedf86359f6c
[21:04:42 CEST] <Fenrirthviti> not sure if this helps
[21:04:51 CEST] <Fenrirthviti> that's what ffprobe says
[21:07:04 CEST] <kepstin> right, for now I guess I'll just use a computer with a ton of ram and transcode this video by itself with an fps filter to fix the timestamps, then use that as input for my processing scripts. better than nothing :/ (the full filter chain has something like 10 inputs and a bunch of hstack/vstack/pad/etc., so it seems more likely to oom)
[21:08:49 CEST] <furq> Fenrirthviti: it's probably not good that it's yuvj420p
[21:09:00 CEST] <furq> but that shouldn't break in the way you described
[21:10:32 CEST] <furq> maybe download the stream with ffmpeg -v debug and see what errors you get
[21:11:59 CEST] <kms_> how to restream from my rtsp cam to youtube?
[21:12:36 CEST] <kms_> i try this ffmpeg -i rtsp://... -acodec copy -vcodec copy -f flv rtmp://...
[21:12:43 CEST] <kms_> but dont work
[21:13:32 CEST] <furq> oh no
[21:13:37 CEST] <furq> it's the dreaded "dont work" error
[21:15:52 CEST] <DHE> is that like "error failed" ?
[21:15:59 CEST] <durandal_1707> kepstin: why it have hstack/vstack/pad?
[21:16:23 CEST] <kepstin> durandal_1707: because I have 10 webcam videos that I'm laying out in a grid
[21:20:30 CEST] <kepstin> you'll note that you can't tile 10 equal-sized videos to fill a rectangle with hstack/vstack, which is why there's a pad in there too ;)
[21:22:19 CEST] <kepstin> anyways, I guess I'll take a look at the fps filter code later, I wonder why all these frames are being queued and why it's not just generating frames only as needed on the request_frame callback? or is there something weirder going on...
[21:34:25 CEST] <Fenrirthviti> furq: Output file #0 does not contain any stream
[21:34:28 CEST] <Fenrirthviti> So that's promising.
[21:34:45 CEST] <Fenrirthviti> the inspector fails half the time opening it with the same error too
[21:36:40 CEST] <Fenrirthviti> And yeah, ffmpeg reports the same error as my inspector: [mpegts @ 0x1553180] Continuity check failed for pid 0 expected 1 got 0 | [mpegts @ 0x1553180] Continuity check failed for pid 4097 expected 1 got 0
[21:40:19 CEST] <kms_> Invalid UE golomb code
[21:44:29 CEST] <kepstin> hmm, come to think of it, why am I running an fps filter before the hstack/vstack/etc? I think the framesync code in those should handle the timestamp jumps on their own, duplicating frames as needed
[21:44:46 CEST] <kepstin> then a single fps filter afterwards to get everything at the rate I want
[21:45:51 CEST] <BtbN> why not just setpts to something sane?
[21:47:22 CEST] <kepstin> in this case, the timestamps are correct - there is simply a long gap with no frames in the video. If I use setpts to change the timestamps, then i'll have A/V desync
[21:48:51 CEST] <ChocolateArmpits> kepstin, what about using -re ? Is realtime transcoding not an option ?
[21:49:34 CEST] <kepstin> ChocolateArmpits: wouldn't change anything except make it slower. This is batch processing from file sources to file output, has to run as fast as possible
[21:50:03 CEST] <kepstin> I mean, the real fix is that on the rtmp server side when originally saving the webcam files, we should disconnect the stream if there's no frames in X time :/
[21:50:22 CEST] Action: kepstin is gonna poke his server folks about that
[22:27:42 CEST] <faLUCE> Do you know if is there another good library that I can use for demuxing mpegts, other than libav?
[22:28:01 CEST] <BtbN> ffmpeg!
[22:28:29 CEST] <faLUCE> BtbN: it doesn't provide an asyncrhonous API
[22:29:05 CEST] <faLUCE> BtbN: then I'm forced to do the demuxing task in a blocking manner, and this is ugly
[22:29:38 CEST] <BtbN> It's how every other application does it.
[22:29:52 CEST] <faLUCE> BtbN: I'm sure that this is not true
[22:30:20 CEST] <BtbN> if you say so
[22:30:21 CEST] <faLUCE> using threads because the API is broken is ugly, IMHO
[22:31:07 CEST] <BtbN> A blocking api is not broken. It's blocking, a lot of APIs are, and there's nothing wrong with it. That's what threads exist for.
[22:32:19 CEST] <faLUCE> BtbN: really not. Threds are intended for taking advantage of multi-core mobos. Absolutely NOT for decoupling tasks, which is the UGLIEST way of coding
[22:32:36 CEST] <BtbN> Do what you want to make your life harder then, I'm not going to stop you.
[22:33:07 CEST] <faLUCE> BtbN: using the async programming is not harder than threads, if you know what you are doing
[22:33:36 CEST] <BtbN> But there is no advantage, and a lot more boilerplate around it.
[22:33:50 CEST] <faLUCE> on the other hand, using threads make things harder because of mutexes, deadlocks, no-portability etc.
[22:34:00 CEST] <BtbN> sorry, but that's bullshit.
[22:34:04 CEST] <faLUCE> BtbN: don't absolutetly agree.
[22:34:16 CEST] <faLUCE> BtbN: for me, the bullshit is your opinion
[22:34:32 CEST] <james999> hi i'm a neutral third party, what is this about
[22:34:53 CEST] <BtbN> just some guy making his life hard because threads are evil in his weird world.
[22:34:54 CEST] <faLUCE> james999: I'm searching for an async mpegts demux library
[22:35:28 CEST] <faLUCE> (or some other guy that doesn't know what he is talking about)
[22:36:21 CEST] <BtbN> You're spending tons of time, multiple weeks now, to solve a problem that has basically been solved already. And you don't think you are doing something wrong?
[22:37:01 CEST] <faLUCE> BtbN: absolutely not. I created a 100% async library and I work with async A/V since years
[22:37:08 CEST] <james999> well i'm confused because i thought threads implmented asynchronous behavior?
[22:37:52 CEST] <haroldp> I have a working nginx config that uses ffmpeg to convert some crappy IP cams to RTMP for embedding in a web page. But it sucks and I'd like to switch to Dash or HLS or some such. Can someone help me update my config for that? I'm not having much luck.
[22:39:38 CEST] <kepstin> james999: yep, threads, particularly cooperative threads like we used to have back on single-processor machines, were great for that sort of thing. With languages like python with the way it handles locking, it's still the only thing they're useful for :/
[22:39:59 CEST] <faLUCE> james999: no, threads are meant for synchronous programming
[22:40:16 CEST] <BtbN> uhm, what? No, not at all.
[22:40:32 CEST] <faLUCE> BtbN: are you serious??
[22:40:48 CEST] <BtbN> they are running asynchronous by definiton, that's the whole point of them.
[22:41:44 CEST] <kepstin> keep in mind that on linux, you more or less can't even do async io on files at all, either the IO completes immediately or it blocks. Most "async" IO libraries that deal with file io use threads in the background because of this :/
[22:41:45 CEST] <faLUCE> BtbN: threads are meant for SYNCHRONOUS programming, while event loop is meant for ASYNCHRONOUS programming. No need to explain more
[22:42:31 CEST] <BtbN> You must have never used Qt or some other decent library with a similar concept.
[22:43:05 CEST] <kepstin> for example, qt or glib, which have "asynchronous io" with event loops as a feature, implement the async io by using io threads :/
[22:43:10 CEST] <faLUCE> BtbN: as said before, I'm absolutely certain of what I'm saying. And I deal with threads and event loopers since years
[22:44:07 CEST] <faLUCE> so, if for example x264 uses internal threads, it's not a matter of the API, which is strictly asynchronous
[22:44:24 CEST] <BtbN> kepstin, threads are kind of the only portable way do do that, as otherwise you end up with platform specific things like epoll
[22:44:56 CEST] <kepstin> BtbN: polling on files doesn't do anything useful on linux, iirc it always returns writable/readable even if a write/read would block :/
[22:45:21 CEST] <faLUCE> BtbN: this is not true. the select()/poll() __template__ is absolutely portable.
[22:45:39 CEST] <BtbN> But it has quite a few issues by itself, which is why epoll was invented.
[22:47:00 CEST] <BtbN> If you're just handling a single file, it doesn't really matter, but once you are handling a lot of them, select/poll are kind of troublesome
[22:48:15 CEST] <faLUCE> BtbN: I would like to know why I can handle lot of devices in the same loop without any threads. As well as THIS library does (http://www.live555.com/liveMedia/)
[22:49:09 CEST] <faLUCE> threads used for decoupling stuff is shitty programming
[22:49:42 CEST] <BtbN> Because with select/poll you only learn that one of your fds had an event fired
[22:49:49 CEST] <BtbN> You then have to figure out which one
[22:49:53 CEST] <faLUCE> and what about libcurl??? does it use threads?? absolutely not
[22:49:58 CEST] <BtbN> if you are handling a lot of them, that becomes very limiting
[22:50:17 CEST] <faLUCE> BtbN: then tell to libcurl developer that his library is very limiting
[22:50:28 CEST] <faLUCE> he will laugh
[22:51:10 CEST] <BtbN> Yeah, because you always do hundrets of thousands of http requests in parallel, sure...
[22:51:55 CEST] <BtbN> If you are dealing with any notable amount of FDs, you need either epoll or threads to do so efficiently
[22:52:08 CEST] <BtbN> Or even both
[22:52:39 CEST] <faLUCE> BtbN: obviously this is false: it's up to the USER to decide to use threads or not, with the same library, in certain conditions. It's not UP to the library, unless it performs HEAVY tasks (like x264)
[22:53:01 CEST] <faLUCE> BtbN: I'm sure you don't know what you are talking about, forgive me.
[22:53:11 CEST] <faLUCE> but now, I don't want to convince anyone
[22:53:22 CEST] <BtbN> You are either trolling or have no clue what you are talking about.
[22:53:35 CEST] <furq> you know libcurl has examples for both epoll and threads for parallel requests, right
[22:53:37 CEST] <BtbN> Just gonna put you on ignore, don't want to waste my time with that bullshit anymore.
[22:54:05 CEST] <faLUCE> BtbN: this is strange: I think the same about your convintions. And do what you want (ignore/don't ignore), it's not a matter, for me.
[22:57:19 CEST] <james999> so far the only thing i've learned is that Qt uses threads for non-blocking i/O
[22:57:31 CEST] <james999> because you don't want your program to freeze when a file doesn't exist or something
[22:57:42 CEST] <BtbN> When the disk is slow primarily
[22:57:53 CEST] <furq> that's the only way to do it on posix systems
[22:57:55 CEST] <BtbN> Or it's a mounted network share in disguise or something
[22:58:16 CEST] <BtbN> if a file plain doesn't exist you will get told so immediately
[22:58:29 CEST] <furq> someone else can probably explain in detail why aio is worthless
[22:58:41 CEST] <furq> i've had it explained to me but it was hard to make out over the anguished screaming
[22:58:44 CEST] <faLUCE> james999: do yu know wxwidgets ?
[22:58:49 CEST] <BtbN> well, unless it's a slow network mount, and even open'ing the file takes a while
[22:58:56 CEST] <james999> i've used programs with wxwidgets, don't know more
[23:01:09 CEST] <faLUCE> james999: they have a strict async API
[23:01:19 CEST] <furq> i'm sure that works well for file io
[23:03:22 CEST] <james999> <faLUCE> james999: no, threads are meant for synchronous programming
[23:03:36 CEST] <james999> I stil am confused what you meant by this
[23:03:49 CEST] <kepstin> yep, they have an async api. it's obviously implemented with threads, at least for file io... maybe not for network sockets.
[23:04:02 CEST] <kepstin> and probably depends on platform too
[23:04:04 CEST] <furq> i would hope it isn't for networking stuff
[23:04:18 CEST] <kepstin> i dunno if the windows overlapping io stuff works usefully on files?
[23:04:43 CEST] <furq> i believe iocp works as you'd expect with files
[23:04:52 CEST] <BtbN> Windows has an entirely separate API for files as well
[23:05:08 CEST] <furq> or "works", rather, since "works as you'd expect" is subject to interpretation when you're talking about windows
[23:06:47 CEST] Action: kepstin should look into some of these async io systems, he's curious how they pass the io completion message from the io thread into the event loop in the main thread.
[23:07:19 CEST] <kepstin> probably a few ways you could do it, e.g. signals or having a pipe that's being polled or something
[23:07:41 CEST] <BtbN> kepstin, at least Qt just sends one of its signals
[23:11:38 CEST] <faLUCE> james999: what does confuse you?
[00:00:00 CEST] --- Tue May 16 2017
1
0
[02:24:54 CEST] <cone-938> ffmpeg 03Derek Buitenhuis 07release/3.3:9eb0d76e25c6: avformat/webmdashenc: Require the 'adaptation_sets' option to be set
[02:24:55 CEST] <cone-938> ffmpeg 03Derek Buitenhuis 07release/3.3:2ff9e21f7fce: avformat/webmdashenc: Validate the 'streams' adaptation sets parameter
[02:24:56 CEST] <cone-938> ffmpeg 03Martin Vignali 07release/3.3:3ffde707dfa3: libavcodec/exr : fix float to uint16 conversion for negative float value
[02:24:57 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:87dcc7502dc6: avcodec/x86/vc1dsp_init: Fix build failure with --disable-optimizations and clang
[02:24:58 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:51f24cb3f59b: avcodec/mdec: Fix runtime error: left shift of negative value -127
[02:24:59 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:681ca7ecd08a: avcodec/bmp: Use ff_set_dimensions()
[02:25:00 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:0875b2651dad: doc/developer: Add terse documentation of assumed C implementation defined behavior
[02:25:01 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:b6a4aeb2f635: avcodec/vp3: Check remaining bits in unpack_dct_coeffs()
[02:25:02 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:b1fc2c5c2560: avcodec/indeo2: Check remaining bits in ir2_decode_plane()
[02:25:03 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:65a9d0c66c31: avcodec/svq3: Increase offsets to prevent integer overflows
[02:25:04 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:78fd652af442: avcodec/svq3: Reject dx/dy beyond 16bit
[02:25:05 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:44eabc5d5d9e: avcodec/dcadsp: Fix runtime error: signed integer overflow
[02:25:06 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:927ff67ab44b: avcodec/h264_cavlc: Fix undefined behavior on qscale overflow
[02:25:07 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:dfda395b2f01: avcodec/msvideo1: Check buffer size before re-getting the frame
[02:25:08 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:142c65ba9ca6: avcodec/pngdec: Use ff_set_dimensions()
[02:25:09 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:a5bcb36874eb: libavcodec/mpeg4videodec: Convert sprite_offset to 64bit
[02:25:10 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:dd3a5f04b91d: avcodec/dvdsubdec: Fix runtime error: left shift of 242 by 24 places cannot be represented in type 'int'
[02:25:11 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:175a569f5bfa: avcodec/cavsdec: Fix undefined behavior from integer overflow
[02:25:12 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:484ce1af757a: avcodec/mjpegdec: Fix runtime error: signed integer overflow: -24543 * 2031616 cannot be represented in type 'int'
[02:25:13 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:1e8212798c82: avcodec/tiertexseqv: set the fixed dimenasions, do not depend on the demuxer doing so
[02:25:14 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:671530ccb438: avcodec/wnv1: Fix runtime error: left shift of negative value -1
[02:25:15 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:5520e00a49af: avcodec/dss_sp: Fix multiple left shift of negative value -466
[02:25:16 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:85bf84c96c5c: avcodec/g722: Fix multiple runtime error: left shift of negative value -1
[02:25:17 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:b80d4f58d898: avcodec/cdxl: Fix signed integer overflow: 14243456 * 164 cannot be represented in type 'int'
[02:25:18 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:2adf20b3da90: avcodec/nellymoser: Fix multiple left shift of negative value -8591
[02:25:19 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:7617b90f0705: avcodec/dfa: Fix off by 1 error
[02:25:20 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:28b6588b4816: avcodec/mdec: Fix signed integer overflow: 28835400 * 83 cannot be represented in type 'int'
[02:25:21 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:955b97704f12: avcodec/aacsbr_template: Do not leave bs_num_env invalid
[02:25:22 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:67835afd7955: avutil/softfloat: Fix multiple runtime error: left shift of negative value -8
[02:25:23 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:645b36ce647c: avcodec/snowdec: Check qbias
[02:25:24 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3585986a005a: avcodec/mlpdec: Fix runtime error: left shift of negative value -22
[02:25:25 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:cab8d31804ed: avcodec/fic: Fix multiple left shift of negative value -15
[02:25:26 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:6f590bf05fe5: avcodec/clearvideo: Fix multiple runtime error: left shift of negative value -1024
[02:25:27 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:139d88127347: avcodec/mimic: Fix runtime error: left shift of negative value -1
[02:25:28 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:e2462c882813: avcodec/g723_1: Fix multiple runtime error: left shift of negative value
[02:25:29 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:88a3e4c34e2a: avcodec/dfa: Fix signed integer overflow: -2147483648 - 1 cannot be represented in type 'int'
[02:25:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:28c618355c9f: avcodec/webp: Fix null pointer dereference
[02:25:31 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:2ff5e3f54e95: avcodec/shorten: Check k in get_uint()
[02:25:32 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:99bedf74acda: avcodec/mss3: Change types in rac_get_model_sym() to match the types they are initialized from
[02:25:33 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:66b7e165db8a: avcodec/hq_hqa: Fix runtime error: left shift of negative value -207
[02:25:34 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:cbc5796fc3f4: avutil/softfloat: Fix overflow in av_div_sf()
[02:25:35 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:973a66108b8e: avcodec/cdxl: Check format parameter
[02:25:36 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:c108bba1ae3e: avcodec/dds: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
[02:25:37 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:f8eea96d64c9: avcodec/msmpeg4dec: Correct table depth
[02:25:38 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:bd739bce1cd3: avcodec/svq3: Fix multiple runtime error: signed integer overflow: 44161 * 61694 cannot be represented in type 'int'
[02:25:39 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:fca86d3e2842: avcodec/ivi_dsp: Fix multiple left shift of negative value -2
[02:25:40 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:4f0fecf9fa83: avcodec/texturedsp: Fix multiple runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
[02:25:41 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:eec20b665a9e: avcodec/targa_y216dec: Fix width type
[02:25:42 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3f7a9eef5165: avcodec/mss34dsp: Fix multiple signed integer overflow
[02:25:43 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:ffa39cd57408: avcodec/ra144: Fix runtime error: left shift of negative value -798
[02:25:44 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:9970fa10c0a5: avcodec/magicyuv: Check len to be supported
[02:25:45 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:77af72687120: avcodec/g726: Fix runtime error: left shift of negative value -2
[02:25:46 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:8795bf9e5db0: avcodec/eamad: Fix runtime error: signed integer overflow: 49674 * 49858 cannot be represented in type 'int'
[02:25:47 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:298de0a183bf: avcodec/s302m: Fix left shift of 8 by 28 places cannot be represented in type 'int'
[02:25:48 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:bf4b8b167794: avcodec/aacdec_template: Do not decode 2nd PCE if it will lead to failure
[02:25:49 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:edb8d29ca5fe: avcodec/xwddec: Check bpp more completely
[02:25:50 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:e397902d47eb: avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -12156865 cannot be represented in type 'int'
[02:25:51 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:97eb92b27681: avcodec/ffv1dec: Fix copying planes of paletted formats
[02:25:52 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:a483e46b7945: avcodec/cdxl: Check format for BGR24
[02:25:53 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:88893627a1c6: avcodec/cavsdec: Check sym_factor
[02:25:54 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:0d17ecffa56c: avcodec/hqxdsp: Fix multiple runtime error: signed integer overflow: 248220 * 21407 cannot be represented in type 'int' in idct_col()
[02:25:55 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:6ec9c902ee4d: avcodec/vp8dsp: Fixes: runtime error: signed integer overflow: 1330143360 - -1023040530 cannot be represented in type 'int'
[02:25:56 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:abeb7838ca83: avcodec/dvbsubdec: check region dimensions
[02:25:57 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:27a30e4166da: avcodec/dss_sp: Fix multiple runtime error: signed integer overflow: -15699 * -164039 cannot be represented in type 'int'
[02:25:58 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:49aa0e9cc7b3: avcodec/bmvvideo: Fix runtime error: left shift of 137 by 24 places cannot be represented in type 'int'
[02:25:59 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:9e541146479b: avcodec/htmlsubtitles: Check for string truncation and return error
[02:26:00 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:d9adb13ff631: avcodec/g723_1dec: Fix several integer related cases of undefined behaviour
[02:26:01 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:8850dc3771ad: avcodec/indeo2: Check for invalid VLCs
[02:26:02 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:497de399c9c6: avcodec/takdec: Fix multiple runtime error: left shift of negative value -1
[02:26:03 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:95c80c7d27a1: avcodec/lagarith: Fix runtime error: left shift of negative value -1
[02:26:04 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:be3a7857ed6c: avcodec/lagarith: Check scale_factor
[02:26:05 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:311b29134e5b: avcodec/texturedsp: Fix runtime error: left shift of 218 by 24 places cannot be represented in type 'int'
[02:26:06 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:452629fb23de: avcodec/svq3: Fix multiple runtime error: signed integer overflow: -237341 * 24552 cannot be represented in type 'int'
[02:26:07 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:f66eaded0157: avcodec/y41pdec: Fix width in input buffer size check
[02:26:08 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:5d2ddaa139b5: avcodec/cavs: Check updated MV
[02:26:09 CEST] <cone-938> ffmpeg 03N^ 07release/3.3:f58b45f0ac56: avformat/wavdec: Check chunk_size
[02:26:10 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3459fd598ea8: avcodec/dss_sp: Fix runtime error: signed integer overflow: 2147481189 + 4096 cannot be represented in type 'int'
[02:26:11 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3af036360d1c: avcodec/eatqi: Fix runtime error: signed integer overflow: 4466147 * 1075 cannot be represented in type 'int'
[02:26:12 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:e6997adee98e: avcodec/truemotion1: Fix multiple runtime error: left shift of negative value -1
[02:26:13 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:e9c3c8df45dc: avfilter/vf_uspp: Fix currently unused input frame dimensions
[02:26:14 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:924a2dd57a04: avcodec/webp: Always set pix_fmt
[02:26:15 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:4a974cb59501: avcodec/pixlet: Fix runtime error: signed integer overflow: 436207616 * -5160230545260541 cannot be represented in type 'long'
[02:26:16 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:35f293fe898d: avcodec/mpeg12dec: Fixes runtime error: division by zero
[02:26:17 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:363b46cdbf5d: avcodec/aacdec_fixed: Fix multiple shift exponent 33 is too large for 32-bit type 'int'
[02:26:18 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:9b754ccc5373: avcodec/dvbsubdec: Check entry_id
[02:26:19 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:79f6a1b96ee2: avcodec/scpr: Check y in first line loop in decompress_i()
[02:26:20 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:383fdec3b256: avcodec/cllc: Factor VLC_BITS/DEPTH out, do not use repeated literal numbers
[02:26:21 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:5d0e4c877f3b: avcodec/cllc: Check num_bits
[02:26:22 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:971fe0607420: avcodec/msmpeg4dec: Check for cbpy VLC errors
[02:26:23 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:256b9442df2c: avcodec/diracdec: Fix Assertion frame->buf[0] failed at libavcodec/decode.c:610
[02:26:24 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:ee92ea890388: avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -17047030 cannot be represented in type 'int'
[02:26:25 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:34ae6101156f: avcodec/g723_1dec: Fix runtime error: left shift of negative value -1
[02:26:26 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3526d2501746: avcodec/texturedsp: Fix runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
[02:26:27 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:5121f31cacf0: avcodec/avcodec: Limit the number of side data elements per packet
[02:26:28 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:f0ee408624c1: avcodec/vp8dsp: vp7_luma_dc_wht_c: Fix multiple runtime error: signed integer overflow: -1366381240 + -1262413604 cannot be represented in type 'int'
[02:26:29 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:906f1f66a820: avcodec/xpmdec: Fix multiple pointer/memory issues
[02:26:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:00a9eaff9788: avcodec/mlp: Fix multiple runtime error: left shift of negative value -1
[02:26:31 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:d1dd90ae5425: avcodec/scpr: Fix multiple runtime error: index 256 out of bounds for type 'unsigned int [256]'
[02:26:32 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:128b42f4d191: avcodec/aacsbr_template: Do not change bs_num_env before its checked
[02:26:33 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:b0f3f56bbcec: avcodec/aacdec_fixed: Fix runtime error: left shift of negative value -1
[02:26:34 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:479bb1cacd25: avcodec/webp: Add missing input padding
[02:26:35 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:47da68fc8e24: avcodec/ac3dec: Keep track of band structure
[02:26:36 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:6f8dab7a7bd9: avcodec/mlpdec: Check that there is enough data for headers
[02:26:37 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:3ed0d94b827a: avcodec/svq3: Fix runtime error: signed integer overflow: 169 * 12717677 cannot be represented in type 'int'
[02:26:38 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:9fb677dd8256: avcodec/webp: Fix signedness in prefix_code check
[02:26:39 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:236912f78923: avcodec/ffv1dec: Fix runtime error: signed integer overflow: 1550964438 + 1550964438 cannot be represented in type 'int'
[02:26:40 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:bbda1264775e: libswscale/tests/swscale: Fix uninitialized variables
[02:51:05 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07release/3.3:8fbd34750834: Update for 3.3.1
[03:11:51 CEST] <jamrial> michaelni: should i backport 28f60eeabb? seeing you backported d5711cb891
[03:13:31 CEST] <michaelni> jamrial, if you like, up to you
[03:14:07 CEST] <jamrial> michaelni: i'm asking mainly since i didn't know if you were in the middle of testing/tagging
[03:14:15 CEST] <jamrial> i'll do it then, thanks
[03:16:26 CEST] <cone-938> ffmpeg 03James Almer 07release/3.3:8c33e2e11bc9: avcodec/avpacket: allow only one element per type in packet side data
[03:17:33 CEST] <michaelni> jamrial, no, i intend to sleep first and do the release tomorrow
[03:19:33 CEST] <jamrial> michaelni: alright, good night then
[03:22:39 CEST] <michaelni> iam not sleeping yet :) i meant ill go to sleep before making the release not that ill do so now immedeatly
[03:23:54 CEST] <jamrial> ah, my bad :p
[04:11:58 CEST] <cone-938> ffmpeg 03James Almer 07release/3.3:d7b86cd30836: avcodec/hevc_sei: fix amount of bits skipped when reading picture timing SEI message
[04:28:24 CEST] <cone-938> ffmpeg 03James Almer 07release/3.3:6a9017d3a586: avcodec/aacenc_ltp: fix use of uninitialized values
[04:28:25 CEST] <cone-938> ffmpeg 03James Almer 07release/3.3:7f79879a0189: avcodec/aac_adtstoasc: fix ASC passthrough on small frames
[10:53:48 CEST] <cone-737> ffmpeg 03Matthieu Bouron 07release/3.3:d8afd8d371ec: lavc/aarch64/simple_idct: fix iOS build without gas-preprocessor
[10:53:49 CEST] <cone-737> ffmpeg 03Matthieu Bouron 07release/3.3:79122e267135: lavc/ffjni: fix local reference leak
[10:53:50 CEST] <cone-737> ffmpeg 03Matthieu Bouron 07release/3.3:1d37fe95e858: lavc/mediacodec_wrapper: fix local reference leaks
[12:01:06 CEST] <cone-737> ffmpeg 03Paul B Mahol 07master:69b83f599224: avfilter/af_compand: fix default companding to avoid clipping
[15:31:04 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07master:f2c539d35011: avcodec/g723_1dec: Fix LCG type
[15:31:04 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07master:b92321327677: avcodec/hqxdsp: Fix runtime error: signed integer overflow: -196264 * 11585 cannot be represented in type 'int'
[15:31:04 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07master:c55e637072b6: avcodec/ac3dec: Fix: runtime error: index -1 out of bounds for type 'INTFLOAT [2]'
[15:51:57 CEST] <JEEB> heh, that ticket sure triggered me
[17:23:07 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07master:467677769a22: avcodec/mpeg4videodec: Clear sprite wraping on unsupported cases in VOP decode
[17:23:08 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07master:a453f5549a8c: avcodec/pixlet: Fixes: runtime error: signed integer overflow: 9203954323419769657 + 29897660706736950 cannot be represented in type 'long'
[18:29:21 CEST] <Compn> did adobe update flv spec to support h265 ?
[18:29:44 CEST] <Compn> oh JEEB answered it already :D
[18:45:56 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:bc6c12b7e769: avcodec/g723_1dec: Fix LCG type
[18:45:57 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:b38c8fd291dc: avcodec/hqxdsp: Fix runtime error: signed integer overflow: -196264 * 11585 cannot be represented in type 'int'
[18:45:58 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:099120815194: avcodec/ac3dec: Fix: runtime error: index -1 out of bounds for type 'INTFLOAT [2]'
[18:45:59 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:340690e8e686: avcodec/mpeg4videodec: Clear sprite wraping on unsupported cases in VOP decode
[18:46:00 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:611ef6381b59: avcodec/pixlet: Fixes: runtime error: signed integer overflow: 9203954323419769657 + 29897660706736950 cannot be represented in type 'long'
[18:46:01 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:0f928e5918ab: avcodec/dds: Fix runtime error: left shift of 210 by 24 places cannot be represented in type 'int'
[18:46:02 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:d9b25b392330: avcodec/rscc: Check pixel_size for overflow
[18:46:03 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:d2108de6b844: avcodec/fmvc: Check nb_blocks
[18:46:04 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:70d3ad7b6fb7: avcodec/cllc: Check prefix
[18:46:05 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:d93a5a8d11f2: avcodec/webp: Factor update_canvas_size() out
[18:46:06 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:0f980302902a: avcodec/webp: Update canvas size in vp8_lossy_decode_frame() as in vp8_lossless_decode_frame()
[18:46:07 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:b4cea069a5ad: avcodec/snowdec: Check width
[18:46:08 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:224b47f76dbe: avcodec/flacdec: Return error code instead of 0 for failures
[18:46:09 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:814dd3e9ebc6: avcodec/opus_silk: Fix integer overflow and out of array read
[18:46:10 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:dd349b24ce24: avcodec/aacps: Fix undefined behavior
[18:46:11 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:9b33462dc4e4: avcodec/pixlet: Fix shift exponent 4294967268 is too large for 32-bit type 'int'
[18:46:12 CEST] <cone-654> ffmpeg 03Clément BSsch 07release/3.3:ff1f181178ff: doc/general: fix project name after 2b1a6b1ae
[18:46:13 CEST] <cone-654> ffmpeg 03Michael Niedermayer 07release/3.3:c1c50650df6c: Changelog: update
[20:51:42 CEST] <kierank> J_Darnley: so I guess a checkasm is a good idea
[21:19:13 CEST] <cone-654> ffmpeg 03Martin Vignali 07master:2c6179aa829e: libavcodec/exr : simplify reorder_pixels
[23:16:50 CEST] <cone-654> ffmpeg 03Martin Vignali 07n3.3.1:HEAD: libavcodec/exr : simplify reorder_pixels
[00:00:00 CEST] --- Mon May 15 2017
1
0
[00:15:18 CEST] <arp> hello
[02:39:05 CEST] <hataki> hi, I have issue with this command....ffmpeg -i "a2.flac" -ss 0 -t 91 -acodec copy "axxxxxxx.flac"...output has 91 seconds audio but duration is still as input file...ffmpeg version N-85750-ga75ef15
[02:53:48 CEST] <klaxa> huh that's weird
[02:56:53 CEST] <hataki> General Complete name : C:\Users\hp\Videos\a2.flac Format : FLAC Format/Info : Free Lossless Audio Codec File size : 247 MiB Duration : 24 min 9 s Overall bit rate mode : Variable Overall bit rate : 1 426 kb/s Writing application : Lavf57.72.101 Audio Format : FLAC Format/Info : Free Lo
[02:57:19 CEST] <hataki> General Complete name : C:\Users\hp\Videos\axxxxxxx.flac Format : FLAC Format/Info : Free Lossless Audio Codec File size : 18.1 MiB Duration : 24 min 9 s Overall bit rate mode : Variable Overall bit rate : 105 kb/s Writing application : Lavf57.72.101 Audio Format : FLAC Format/Info : Fr
[09:41:19 CEST] <tristandm> Hi, so I'm trying to use ffmpeg to stream from YouTube out to a file using the realtime (-re) parameter on the input stream (youtube source url, found with youtube-dl) and partially through the stream the socket disconnects. Any insight? https://pastebin.com/3sujwmZC
[09:45:24 CEST] <tristandm> Here's a better paste: https://pastebin.com/jM1fWN8e
[10:14:14 CEST] <Pandela> Wanna hear what photoshopped audio data sounds like?
[10:14:50 CEST] <c3r1c-Linux> Only if it takes a picture of brittany spears,a nd then sounds like her.
[10:15:31 CEST] <Pandela> kek
[10:15:40 CEST] <c3r1c-Linux> ;-)
[10:15:47 CEST] <Pandela> https://my.mixtape.moe/mphrio.mp3
[10:15:52 CEST] <Pandela> This'll have to suffice
[10:16:22 CEST] <cousin_luigi> Greetings.
[10:16:30 CEST] <Pandela> ayy lmao
[10:16:48 CEST] <cousin_luigi> How do I change the aspect ratio and also zoom into it by an arbitrary factor?
[11:01:47 CEST] <Pandela> thebombzen: https://my.mixtape.moe/elfsrj.mp3 :-aewdigasefkiusf)
[11:02:11 CEST] <thebombzen> You're the one who was playing with rawaudio <-> rawvideo stuff right
[11:02:44 CEST] <Pandela> Yee
[11:03:18 CEST] <Pandela> I encoded audio data into an image and photoshopped it lmao
[11:03:49 CEST] <thebombzen> yea I was the one who helped you with testsrc or what
[11:04:16 CEST] <Pandela> ya you showed me dat filter, was pretty dank
[11:04:41 CEST] <Pandela> I updated my shit and got gbrp16le
[11:05:46 CEST] <Pandela> https://a.yiff.moe/rxnyxz.png Moonlight Sonata
[11:06:31 CEST] <thebombzen> You should consider http://0x0.st/
[11:06:44 CEST] <thebombzen> temporary upload thing
[11:07:10 CEST] <Pandela> rad domain name
[11:07:12 CEST] <thebombzen> cause it's not like that stuff needs to be on the internet forever. so like if you're just sending someone a small file it's ideal
[11:07:32 CEST] <thebombzen> I mean imgur stores every image they've ever had ULed to them
[11:07:40 CEST] <furq> no they don't
[11:07:48 CEST] <Pandela> no u
[11:07:58 CEST] <thebombzen> I can view all the images I've ever ULed to them :O
[11:08:15 CEST] <furq> you can delete them all as well
[11:08:19 CEST] <furq> how about that
[11:09:27 CEST] <Pandela> delet this
[11:09:29 CEST] <Pandela> https://www.youtube.com/watch?v=dQw4w9WgXcQ
[11:10:12 CEST] <thebombzen> well okay
[11:10:13 CEST] <thebombzen> but I mean
[11:10:18 CEST] <thebombzen> unless you explicitly delete them
[11:10:20 CEST] <thebombzen> they're still going to be there
[11:10:26 CEST] <furq> or someone else has them taken down
[11:10:35 CEST] <thebombzen> I'm not saying the images are immortal
[11:10:40 CEST] <thebombzen> I'm saying they're not temporary
[11:10:45 CEST] <thebombzen> which isn't the same thing
[11:10:50 CEST] <thebombzen> they're not removed unless someone elects to remove them
[11:11:01 CEST] <furq> that sounds temporary to me
[11:11:12 CEST] <thebombzen> are you just being difficult for the sake of being difficult
[11:11:17 CEST] <furq> i might be
[11:11:27 CEST] <thebombzen> Pandela: either way you should check that out
[11:11:36 CEST] <thebombzen> and if you can't remember the command line, then....
[11:11:42 CEST] <Pandela> I shall
[11:12:00 CEST] <thebombzen> https://0x0.st/gT6.bin
[11:12:24 CEST] <Pandela> I usually use https://rduke.com/owlfarm/
[11:12:50 CEST] <thebombzen> I wrote a script that uploads the first argument to 0x0.st, takes the link provided and copies it into both clipboards
[11:13:30 CEST] <Pandela> That's pretty sexy
[11:13:55 CEST] <thebombzen> I made it do both cause I could never remember whether it was in the plain clipboard (middleclick) or the rich clipboard (Ctrl+V)
[11:14:06 CEST] <thebombzen> so it puts it in both
[11:15:03 CEST] <furq> ladies
[11:17:42 CEST] <Pandela> memes
[15:05:02 CEST] <cousin_luigi> Greetings.
[15:05:19 CEST] <cousin_luigi> I don't understand which operator to use to zoom in a video. zoompan? crop?
[15:12:08 CEST] <c_14> zoompan probably
[15:20:06 CEST] <cousin_luigi> How can I find out the values to use if I also want to change the aspect ratio at the same time?
[15:22:26 CEST] <c_14> crop,scale might be easier in that case
[15:35:12 CEST] <cousin_luigi> Indeed. But is there a way to preview the result with ffplay so that I don't have to wait for a full run of the conversion? Or perhaps I should convert my video only for a few seconds?
[15:35:23 CEST] <cousin_luigi> Well, a few seconds of the video, I mean.
[15:37:18 CEST] <c_14> usually just do a conversion of a few seconds, yeah
[15:37:40 CEST] <c_14> though if you use a format that supports playing as you encode you can just view that
[15:45:48 CEST] <cousin_luigi> c_14: Unfortunately the latter is not true.
[15:46:09 CEST] <c_14> hmm?
[15:46:14 CEST] <c_14> what format?
[15:46:31 CEST] <c_14> mpeg-ts should work and matroska if you enable live mode
[15:46:59 CEST] <cousin_luigi> h264 inside mp4. Could try mkv I suppose.
[15:47:10 CEST] <c_14> mp4 won't work
[15:47:13 CEST] <cousin_luigi> Indeed.
[15:47:27 CEST] <cousin_luigi> What's this live mode?
[15:47:29 CEST] <c_14> -live
[15:47:39 CEST] <c_14> might be -live 1
[15:47:41 CEST] <c_14> not sure
[15:54:19 CEST] <cousin_luigi> crop and aspect or setdar don't work together. Not sure how to use scale:/
[15:54:54 CEST] <c_14> crop the portion of the input you want to keep and then scale to the size you want it to end up as?
[15:57:20 CEST] <c_14> so if you want the center of your video, something like crop=700:600,scale=1400:1200
[15:57:35 CEST] <c_14> if you want the center 700:600 block and then want it x2
[16:36:12 CEST] <dl2s4> hi, why "ffmpeg -i input.mkv > text.txt" does not work?
[16:36:48 CEST] <JEEB> what on earth are you trying to do there?
[16:36:59 CEST] <JEEB> you haven't told ffmpeg to output anything to stdout yet you are piping it?
[16:37:15 CEST] <JEEB> if you just want the text, most tools output to stderr
[16:37:16 CEST] <dl2s4> i want to see the streams of the input.mkv and put the console output to a txt
[16:37:17 CEST] <JEEB> which is 2>
[16:37:38 CEST] <JEEB> stdout is generally not used because then you cannot pipe an actual output to a following process
[16:37:49 CEST] <JEEB> <one app> | <another app>
[16:37:56 CEST] <JEEB> this would be impossible if stdout was used for logging
[16:38:15 CEST] <dl2s4> 2> it is thanks
[16:38:25 CEST] <cousin_luigi> c_14: will try that, thanks!
[16:57:27 CEST] <cousin_luigi> How do I find out the current h264 quality of a clip so that I can supply an h265 equivalent crf?
[17:00:01 CEST] <BtbN> you can't
[17:00:16 CEST] <BtbN> if you already have a h264 version, there is rarely any point to re-compress
[17:04:30 CEST] <cousin_luigi> ok
[17:05:06 CEST] <cousin_luigi> well, now I have the right crop, the right quality but as soon as I force an aspect ratio, my window gets cropped further. How do I tell ffmpeg to use black bands?
[17:05:37 CEST] <cousin_luigi> or perhaps that means that I don't really have the correct resolution?
[17:11:45 CEST] <bencc> is there a filter to fix broken voice in the audio channel?
[17:11:55 CEST] <bencc> to make the speech sound more fluent and not broken
[17:12:09 CEST] <bencc> like opus plc works
[17:55:29 CEST] <tristandm> Hi, so I'm trying to use ffmpeg to stream from YouTube out to a file using the realtime (-re) parameter on the input stream (youtube source url, found with youtube-dl) and partially through the stream the socket disconnects. Any insight? https://pastebin.com/jM1fWN8e
[18:02:10 CEST] <BtbN> download the file first, and use -re on the file then
[18:02:18 CEST] <BtbN> you might just plain timeout the server connection
[19:21:10 CEST] <hiihiii> hello
[19:21:55 CEST] <hiihiii> how would you drop the last frame out of 3. in other words select the first two frames and drop the last?
[19:22:12 CEST] <hiihiii> A B C A B C A B C
[19:22:14 CEST] <hiihiii> then gat
[19:22:22 CEST] <hiihiii> A B A B A B
[19:23:24 CEST] <hiihiii> using fps drops the middle frame
[19:23:27 CEST] <hiihiii> I get
[19:23:34 CEST] <hiihiii> A C A C A C
[19:23:48 CEST] <hiihiii> end that messes with my filters
[19:24:31 CEST] <hiihiii> Can I use select filter?
[19:32:43 CEST] <c_14> don't see why not
[19:51:53 CEST] <faLUCE> (libav) Hello. Is there an EASY way to demux LIVE packets, instead of filling the AVIOContext buffer through the read callback and then call av_read_frame()? This method sounds terrible, and I can't believe that the API doesn't provide an easier mechanism
[20:21:41 CEST] <GNU\colossus> is there an objective way to compare the quality for two different output files that are results of the same input?
[20:25:02 CEST] <furq> yes, but they're not really useful these days
[20:26:18 CEST] <furq> modern video codecs will deliberately do things which reduce psnr/ssim scores
[20:26:23 CEST] <furq> s/codecs/encoders/
[20:29:51 CEST] <roxlu> hey! I just saw that ffmpeg support VideoToolbox based encodding. Does this also work on iOS?
[20:32:11 CEST] <Mandevil> Why I am getting [libx264 @ 00000000005ecb60] DPB size (16 frames, 518400 mbs) > level limit (5 frames, 184320 mbs)
[20:32:22 CEST] <Mandevil> When I am not specifying ref frames?
[20:32:28 CEST] <Mandevil> https://pastebin.com/y2EfdzQG
[20:32:31 CEST] <furq> are you specifying -preset veryslow
[20:32:43 CEST] <furq> good guess furq
[20:32:45 CEST] <Mandevil> And that forces -refs 16?
[20:32:54 CEST] <furq> yeah
[20:33:03 CEST] <Mandevil> But why doesn't x264 just up the level?
[20:33:06 CEST] <furq> i don't know
[20:33:09 CEST] <furq> it should do that
[20:33:14 CEST] <furq> that's always worked for me anyway
[20:33:25 CEST] <Mandevil> Yes, it works when you use x264 directly.
[20:33:31 CEST] <furq> i mean through ffmpeg
[20:33:33 CEST] <ertes> hi& what are the presets i can use with libx264 for someone who doesn't want to learn what all the individual options do?
[20:33:40 CEST] <furq> i always use -preset veryslow and it sets the level automatically
[20:34:14 CEST] <Mandevil> furq: It says it is using level 5.2
[20:34:19 CEST] <Mandevil> That _should_ be sufficient.
[20:34:45 CEST] <furq> ertes: http://vpaste.net/ptWeO
[20:35:07 CEST] <furq> Mandevil: is this 4k
[20:35:15 CEST] <Mandevil> Yes.
[20:35:20 CEST] <Mandevil> 3840x2160
[20:35:40 CEST] <furq> yeah i'm guessing that's just too much for h264 to handle
[20:35:55 CEST] <Mandevil> It's not the first 4k video I am encoding.
[20:36:03 CEST] <Mandevil> Why I haven't seen this before.
[20:36:05 CEST] <furq> wikipedia reckons 2160p60 will only support 5 refs at 5.2
[20:36:10 CEST] <ertes> furq: thanks!
[20:36:14 CEST] <Mandevil> This is 25 fps video.
[20:36:18 CEST] <furq> shrug
[20:36:34 CEST] <furq> actually nvm the framerate obviously won't matter
[20:36:45 CEST] <Mandevil> :)
[20:37:14 CEST] <Mandevil> I was encoding different 4k video recently and haven't noticed the message.
[20:37:20 CEST] <furq> you could maybe try -level 52
[20:37:26 CEST] <furq> forcing level will normally cap refs
[20:37:38 CEST] <GNU\colossus> furq, thanks
[20:37:45 CEST] <furq> i'm surprised libx264 doesn't handle that automatically though
[20:37:53 CEST] <furq> that might be worth a bug report if you're on the latest
[20:39:27 CEST] <Mandevil> *more testing needed
[20:40:12 CEST] <furq> i think it normally handles it by just bumping the level
[20:40:18 CEST] <furq> but obviously it can't do that in this case
[20:40:35 CEST] <Mandevil> But it says it _is_ using 5.2
[20:40:43 CEST] <furq> well yeah but 5.2 is the highest
[20:40:44 CEST] <Mandevil> And 5.2 _is_ enough for 2160p@25
[20:40:46 CEST] <furq> and that only does 5 refs
[20:41:23 CEST] <furq> i think -level 52 capping refs is done by ffmpeg
[20:41:47 CEST] <Mandevil> I can just specify -refs 5 and be done with it.
[20:41:52 CEST] <furq> yeah that works
[20:42:17 CEST] <Mandevil> I assume most SW decoder will handle that ok anyway?
[20:42:30 CEST] <furq> it's within the spec
[20:42:38 CEST] <furq> i've never really touched 4k x264 though
[20:42:41 CEST] <Mandevil> I mean, refs 16 :-)
[20:42:45 CEST] <furq> oh
[20:42:46 CEST] <furq> no idea then
[20:42:59 CEST] <Mandevil> 4k x265 is unbearably slow on my PC.
[20:43:06 CEST] <furq> i certainly wouldn't expect hardware decoders to touch it
[20:43:51 CEST] <furq> if ffmpeg decodes it ok then most software players will work
[20:44:00 CEST] <furq> all the ones worth using use libavcodec anyway
[20:45:09 CEST] <furq> and yeah x265 is generally unbearably slow
[20:45:48 CEST] <Mandevil> 3 minute 4K video... something like 20 hours encoding on veryslow.
[20:45:59 CEST] <furq> nice
[20:46:19 CEST] <Mandevil> Then again, i5 ivy bridge is not the fastest CPU in the universe.
[20:46:39 CEST] <furq> fwiw -crf 18 is probably overkill with 4k
[20:46:48 CEST] <furq> i doubt it makes too much difference for three minutes though
[20:47:01 CEST] <Mandevil> furq: I don't have much grasp of x265 crf's.
[20:47:06 CEST] <furq> i mean with x264
[20:47:31 CEST] <furq> you can get away with higher crf at higher resolution
[20:47:31 CEST] <Mandevil> 18 is my go to crf for "best quality, bitrate doesn't matter"
[20:47:38 CEST] <furq> fair enough
[20:48:13 CEST] <Mandevil> BTW, I tried encoding with libx265 on 32-thread Xeon.
[20:48:27 CEST] <Mandevil> Surprisingly, the loadavg barely went over 10.
[20:48:45 CEST] <Mandevil> So the encoder was unable to saturate the CPU :-(
[20:49:09 CEST] <Mandevil> (it was 720p source, maybe it had something to do with it).
[20:52:31 CEST] <Mandevil> So I stopped the encode and used refs=5
[20:52:39 CEST] <Mandevil> Now it chose level 5.1
[20:52:48 CEST] <Mandevil> Go figure.
[22:45:59 CEST] <tristandm> @BtbN Is there a way that I can have ffmpeg read from a partial file? The issue i'd be running into if i download the whole file would be files that are large, like people playing 10h youtube videos just for a portion of it. Previously when I tried having ffmpeg use a partial file as an input, it would only read up to the point where the file was at the time ffmpeg started reading from it
[22:47:21 CEST] <tristandm> Like a way to treat the file as a stream input
[23:55:16 CEST] <faLUCE> (libav) Hello. Is there an EASY way to demux LIVE packets, instead of filling the AVIOContext buffer through the read callback and then call av_read_frame()? This method sounds terrible, and I can't believe that the API doesn't provide an easier mechanism
[00:00:00 CEST] --- Mon May 15 2017
1
0
[00:39:30 CEST] <Gramner> BtbN: rdtsc doesn't count core clock cycles any more, no. it has it's own clock that's not synchronized in relation to the core clock
[00:43:49 CEST] <Gramner> also rdtsc by itself doesn't serialize, so out-of-order execution will happily run things wildly out of order so you have no idea what you're actually measuring. rdtscp or lfence;rdtsc fixes that though (at least on intel cpus, no idea about amd)
[00:54:03 CEST] <J_Darnley> fortunately the timer macro does use a fence
[00:55:38 CEST] <jamrial> on x86_32 that only happens if you target sse2 or higher, which doesn't happen in most configuration scenarios
[00:57:32 CEST] <Gramner> yes, I added that a few years ago. if you want to actually measure clock cycles though you probably have to use performance monitoring counters
[00:58:02 CEST] <Gramner> unrelated, but why isn't SSE2 the default anyway?
[00:58:28 CEST] <Gramner> even steam hw survey has SSE2 supported by 100.00% of users
[00:58:56 CEST] <J_Darnley> Because none of us have put in the work to make sse2 the default minimum.
[00:59:21 CEST] <rcombs> our product requires SSE2 out of sheer convenience
[00:59:27 CEST] <rcombs> afaik nobody has ever complained
[01:00:05 CEST] <nevcairiel> i build my 32-bit libraries without sse2 because the compiler starts assuming 16-byte aligned arguments then, and ffmpeg doesnt build w ith incoming-stack-boundary :(
[01:00:11 CEST] <J_Darnley> I expect the Steam survey to not be very accurate for all computers woldwide
[01:00:44 CEST] <J_Darnley> XP is still a significant portion.
[01:00:45 CEST] <Gramner> i don't expect all ancient legacy computers worldwide to do multimedia processing though
[01:01:08 CEST] <J_Darnley> So equally old CPUs must be around
[01:02:21 CEST] <Gramner> xp support ended 2014. sse2 has been around since 2001. quite a difference
[01:03:23 CEST] <nevcairiel> everytime I mentioned requiring sse2 there is some random lusers coming out of the wood work whining for their old Athlon XP
[01:04:08 CEST] <J_Darnley> :)
[01:04:14 CEST] <nevcairiel> or pentum3, or w hatever
[01:05:08 CEST] <Gramner> a good reason for them to upgrade then ;)
[01:05:28 CEST] <jamrial> i'm amazed there are still working pentium 3 or old athlon rigs out there. by now I'd expect every single one of them having failed in some way or another
[01:06:03 CEST] <nevcairiel> i used a k6-2 as a router for way more years then one might think it would be good for
[01:06:42 CEST] <jamrial> those ran super hot, so i'd expect a fan with a bit of dust should be enough to cook one
[01:07:19 CEST] <Gramner> a modern budget system would probably save money in power consumption alone compared to using old stuff forever
[01:07:50 CEST] <jamrial> don't recall if it was my thunderbird or thorougbread that ran at like 80c idle when the fan started to misbehave
[01:10:19 CEST] <nevcairiel> you could probably pick up a recemt Pi and rival the processing speed of a Pentium3
[01:10:29 CEST] <nevcairiel> i wonder if anyone did benchmarks of such a nature =p
[01:12:43 CEST] <Gramner> I'd guess the p3 would be significantly faster
[01:15:18 CEST] <Gramner> oh, or the recent ones. yeah they would probably win, I was thinking about the original one which was kinda slow
[01:16:07 CEST] <nevcairiel> yeah the original was slow
[01:17:05 CEST] <Gramner> "performance is similar to a 300 MHz Pentium II" for the 1st gen according to wikipedia
[01:18:04 CEST] <alevinsn> Since you are talking about processors, remember Itanium? A new (and supposedly last) Itanium processor was released yesterday.
[01:18:15 CEST] <Gramner> "new"
[01:18:19 CEST] <nevcairiel> they still make those?
[01:18:33 CEST] <alevinsn> Intel is contractually obligated as a result of its deal with HP
[01:18:38 CEST] <alevinsn> HP still uses Itanium
[01:18:50 CEST] <Gramner> they bumped the clock a bit and called it a new product. the only reason they do so is because they're required to
[01:19:03 CEST] <alevinsn> I don't think Windows supports Itanium anymore, probably just HP-UX and maybe Linux
[01:19:04 CEST] <Gramner> contracts etc
[01:19:14 CEST] <Gramner> it's still 32nm too
[01:19:22 CEST] <alevinsn> http://www.anandtech.com/show/11372/intels-itanium-takes-one-last-breath-97…
[01:20:42 CEST] <alevinsn> It used to be known as "Itanic" :-)
[01:20:50 CEST] <alevinsn> in some circles
[01:20:58 CEST] <nevcairiel> Microsoft dropped support for itanium years ago
[01:21:31 CEST] <Gramner> everyone who wasn't legally required to support it dropped it ages ago
[01:21:34 CEST] <nevcairiel> and HP would likely prefer to kill it as well, but they are also bound in contracts with their customers
[01:33:21 CEST] <J_Darnley> Well that ^ problem obviously comes from cmd
[01:33:51 CEST] <J_Darnley> I wonder what it might do with %string% ???
[01:34:14 CEST] <alevinsn> cmd as in cmd.exe on Windows?
[01:37:13 CEST] <J_Darnley> yes
[01:54:01 CEST] <alevinsn> J_Darnley: you might find this useful: https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/e…
[01:54:21 CEST] <J_Darnley> *I* don't need it
[01:54:41 CEST] <J_Darnley> *I* know %string% is environment variable substitution
[02:12:08 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:5ac17f187ae6: avcodec/cavsdec: Fix runtime error: signed integer overflow: 31 + 2147483640 cannot be represented in type 'int'
[02:12:09 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:e66488252335: avcodec/hq_hqadsp: Fix runtime error: signed integer overflow: 80359 * 30274 cannot be represented in type 'int'
[02:12:10 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:0158b405a71f: avcodec/fmvc: Check nb_blocks
[02:12:11 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:934572c5c359: avcodec/rscc: Check pixel_size for overflow
[02:12:12 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:afb4632cc30e: avcodec/dds: Fix runtime error: left shift of 210 by 24 places cannot be represented in type 'int'
[02:12:13 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:96cbaaa5481b: avcodec/rangecoder: Fix range coder corner case handling
[02:33:11 CEST] <J_Darnley> > Analyzed by developer set
[02:33:13 CEST] <J_Darnley> top kek
[02:34:34 CEST] <J_Darnley> *sigh* did I ever register there?
[02:35:14 CEST] <J_Darnley> no
[02:47:09 CEST] <jamrial> nevcairiel: http://fate.ffmpeg.org/log.cgi?time=20170512222049&log=test&slot=x86_64-msv…
[02:47:17 CEST] <jamrial> your vm ran out of space
[04:37:37 CEST] <cone-423> ffmpeg 03James Almer 07master:0fbc7a2169af: x86/float_dsp: remove usage of integer instructions
[10:15:52 CEST] <atomnuker> what am I doing wrong such that swr_next_pts() is giving me batshit crazy timestamps?
[10:16:47 CEST] <atomnuker> I'm just resampling 44100->48000 and whatever I feed it in I get something like -3740160
[10:20:15 CEST] <atomnuker> couldn't we just expose some code to make timestamps up?
[10:26:05 CEST] <mateo`> tmm1: I'm not working on MediaCodec encoders atm, the biggest blocker I see is how to handle properly the surface input (I haven't spend a lot of times thinking about it though). I'm not too interested in buffers input as it would require a ton of workarounds to handle the different alignments, formats (plus some proprietary ones) depending on the device. Plus, it's slow compared to surface input.
[10:35:40 CEST] <durandal_1707> atomnuker: show the code?
[10:54:59 CEST] <atomnuker> durandal_1707: https://github.com/atomnuker/cyanrip/blob/master/src/cyanrip_encode.c#L273
[10:59:22 CEST] <nevcairiel> the pts argument requires a specific timebase
[11:02:21 CEST] <atomnuker> a specific timebase?
[11:02:36 CEST] <nevcairiel> its documented in the doxy of the next_pts function
[11:02:46 CEST] <nevcairiel> timestamps are in 1/(in_sample_rate * out_sample_rate) units.
[11:08:28 CEST] <durandal_1707> look at libavfilter/af_aresample.c
[11:09:07 CEST] <atomnuker> feeding it av_rescale(frame->pts, 1, (44100 * cfmt->rate)) is still spitting out junk
[11:09:59 CEST] <nevcairiel> that rescale command is wrong
[11:10:14 CEST] <nevcairiel> your previous timebase was unlikely to be 1
[11:10:24 CEST] <atomnuker> but rescale just does a*b/c
[11:11:28 CEST] <atomnuker> (the problem with all examples is that everyone has access to some timestamps, here there are none to work with)
[11:11:48 CEST] <nevcairiel> making new timestamps for audio is not exactly hard
[11:12:06 CEST] <atomnuker> it is if you don't know what you're doing
[11:12:39 CEST] <wm4> choose the sample rate as timebase, and sample number as timestamp
[11:12:48 CEST] <wm4> I never understood those swr functions though
[11:12:49 CEST] <nevcairiel> for clarity I would recommend to use av_rescale_q, that way you can just pass in both timebases and not guess at the values
[11:13:05 CEST] <wm4> I'm simply using swr_get_delay()
[11:13:25 CEST] <nevcairiel> ie. av_rescale_q(pts, {1, 44100}, {1, 44100 * dstrate})
[11:15:43 CEST] <nevcairiel> or simplified by removing the common 44100: av_rescale_q(pts, cfmt->rate, 1);
[11:15:49 CEST] <nevcairiel> eh, no _q anymore
[11:16:13 CEST] <nevcairiel> (or in this case, pts = pts * cfmt->rate)
[11:23:19 CEST] <atomnuker> its not giving negative numbers now but decoding spams "Invalid audio PTS: 348138.053500 -> 349980.033500"
[11:23:57 CEST] <atomnuker> (just using av_rescale_q(pts, {1, 44100}, {1, 44100 * dstrate}) as input to swr_next_pts)
[11:24:19 CEST] <nevcairiel> you'll have to convert the returned number back into whatever value you expect as well
[11:24:21 CEST] <atomnuker> using the sample number as input in this case
[11:29:10 CEST] <atomnuker> ok, scaling the values I still get "Invalid audio PTS: 12.410250 -> 12.906375", though only once or twice a second now
[11:29:26 CEST] <atomnuker> is my input timestamp junk? I'm just using the current sample number
[11:41:11 CEST] <cone-697> ffmpeg 03Paul B Mahol 07master:ed93ed5ee320: avfilter: don't anonymously typedef structs
[12:59:28 CEST] <atomnuker> (btw got my issues fixed, I was incorrectly accounting planar->non planar sample count)
[15:55:53 CEST] <cone-240> ffmpeg 03Michael Niedermayer 07master:74dc728a2c2c: avcodec/mlp: Fix multiple runtime error: left shift of negative value -1
[15:55:53 CEST] <cone-240> ffmpeg 03Michael Niedermayer 07master:54e1b62ee28f: avcodec/h264_cavlc: Fix runtime error: index -1 out of bounds for type 'VLC [15]
[15:55:53 CEST] <cone-240> ffmpeg 03Michael Niedermayer 07master:2171dfae8c06: avcodec/scpr: Fix multiple runtime error: index 256 out of bounds for type 'unsigned int [256]'
[17:07:44 CEST] <philipl> BtbN: cuda scale stuff looks mechanically reasonable to me. I did not attempt to understand the actual scaling.
[18:16:01 CEST] <BtbN> philipl, there are still a few things in the filter C code I'd like to change, but will do so after to fact, to keep proper patch attribution
[21:38:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:48f775774956: avcodec/wavpack: Fix runtime error: signed integer overflow: 2147483642 + 512 cannot be represented in type 'int'
[21:38:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:87b08ee6d2a3: avcodec/aacsbr_template: Do not change bs_num_env before its checked
[21:38:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:26227d91865d: avcodec/aacdec_fixed: Fix runtime error: left shift of negative value -1
[21:38:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:a3508cc3fe64: avcodec/webp: Add missing input padding
[21:38:30 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:9351a156de72: avcodec/ac3dec: Keep track of band structure
[23:43:50 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:e3e51f8c14d2: avcodec/mlpdec: Check that there is enough data for headers
[23:43:51 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:86b1b0d33dd7: avcodec/svq3: Fix runtime error: signed integer overflow: 169 * 12717677 cannot be represented in type 'int'
[23:43:52 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:8c5cd1c9d33b: avcodec/webp: Fix signedness in prefix_code check
[23:43:53 CEST] <cone-938> ffmpeg 03Michael Niedermayer 07master:8630b2cd36c5: avcodec/ffv1dec: Fix runtime error: signed integer overflow: 1550964438 + 1550964438 cannot be represented in type 'int'
[00:00:00 CEST] --- Sun May 14 2017
1
0
[02:07:21 CEST] <thebombzen> what's the trendy new denoising filter
[02:07:29 CEST] <thebombzen> i.e. which one should I pick
[02:35:06 CEST] <james9999> TrumpSharpMaskv2
[04:08:23 CEST] <mccc> Hi - I'm having trouble recording on ffmpeg. When I play back - the audio is playing back about 5% - 10% slower than it should.
[04:08:58 CEST] <mccc> I've put my commands and output at https://pastebin.com/4s2FmWzp - I'm recording from a sound card to AAC (in MPEG2 TS).
[04:11:51 CEST] <mccc> Does anything look immediately wrong with my commands, or is there anything in the recorded file I can look at for a clue to what's happening? Could one part of the encoding be getting the sample rate wrong?
[06:48:08 CEST] <Colin_> i keep getting Error: libx264 not found when doing this pi@ColinsPi:/usr/src/FFmpeg $ sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree when installing it for discord music bot
[06:57:59 CEST] <Colin_> umm hi can you guys help?
[07:01:01 CEST] <Colin_> welp
[07:15:51 CEST] <james9999> lol
[07:16:00 CEST] <james9999> knowing linux you probably have to have libx264-devel installed
[07:16:05 CEST] <james9999> or something
[07:49:25 CEST] <AndrewMock> Most webcams are 150ms+ latency. Anything quicker than Kinect 2.0 (60ms)?
[10:46:31 CEST] <crow> i am trying revert this commit 744801989099df26e90b00062c645969c5347533 because of https://trac.ffmpeg.org/ticket/6364#comment:6 errors are: error: patch failed: libavcodec/h264_slice.c:1699 .... doing it with 'git apply -R "${srcdir}/744801989099df26e90b00062c645969c5347533.patch" '
[18:02:42 CEST] <sadas> hi, anyone could help me to download an m3u8 video at ffmpeg?
[18:18:16 CEST] <Marco_> Hello all!
[18:18:43 CEST] <Marco_> oops, shift+enter not working..
[18:19:54 CEST] <Marco_> Anyways, I have a question I have been searching about all day long now with hevc_qsv (Intel Quick Sync encoder), I cannot find any documentations or explanation about setting keyframes interval
[18:20:54 CEST] <Marco_> Which means that when I encode a video, there is only ONE keyframe at the beginning so seeking somewhere on the video results in a black screen until the video decodes all the way there from the beginning
[18:21:26 CEST] <Marco_> So if I seek to a place 2 minutes from the beginning of the video, it's quite quick, while if I seek one hour in, it takes a very long time
[18:21:54 CEST] <Marco_> If anyone knows a bit how to set keyframe interval in hevc_qsv, please tell me :)
[18:56:55 CEST] <ChocolateArmpits> Marco_, did you try running ffmpeg -help encoder=hevc_qsv ?
[19:06:37 CEST] <oleitner> hi guys
[19:07:04 CEST] <Marco_> ChocolateArmpits, yes I tried, there are a bunch of options there, I tried them all, plus some combinations.. I could post them here, they are not so long
[19:07:22 CEST] <ChocolateArmpits> no -keyint ?
[19:08:06 CEST] <oleitner> having a problem with ffmpeg after pulling the latest version from your git repo..., cannot encode with h264_nvenc cause of 8.0 api he wants, but he just finds 7.1 on my machine, i already "installed" the latest video sdk vom nvdevnet (8.x) into /usr/local and ldconfig'd, still after recompiling getting that same error
[19:08:07 CEST] <Marco_> nope, thereis something that sounds like I-frames, I tried playing with it but it doesn't change anything:
[19:08:09 CEST] <Marco_> -b_strategy <int> E..V.... Strategy to choose between I/P/B-frames (from -1 to 1) (default -1)
[19:08:15 CEST] <oleitner> which hoops is it this time?
[19:08:17 CEST] <oleitner> =)
[19:09:06 CEST] <ChocolateArmpits> Marco_, -b_strategy is totally not that
[19:09:34 CEST] <Marco_> Then there is also this:
[19:09:35 CEST] <Marco_> -adaptive_i <int> E..V.... Adaptive I-frame placement (from -1 to 1) (default -1)
[19:10:20 CEST] <ChocolateArmpits> Marco_, did you try -g:v ?
[19:10:32 CEST] <oleitner> according to the changelog 5.x shouldve been deprecated, but not 7.1, so it should still work, allthough id prefer that it grabs what i have
[19:10:58 CEST] <oleitner> i hope im in the right channel for that q, should i go to dev rather?
[19:11:31 CEST] <Marco_> ChocolateArmpits, yep it's totally ignored.. maybe because there is no "no-scenecut" param like in x264
[19:15:28 CEST] <oleitner> ive already made a more complete post on the forum, just no answer the past 16 hours or so...
[19:20:31 CEST] <Marco_> ChocolateArmpits: Actually, I have just noticed that when encoding, it says this:
[19:20:35 CEST] <Marco_> ChocolateArmpits: [hevc_qsv @ 000000000236b420] GopPicSize: 120; GopRefDist: 9; GopOptFlag: closed ; IdrInterval: 0
[19:22:20 CEST] <Marco_> ChocolateArmpits: So I guess it means it is indeed adding keyframes and I guess the problem with the video that has trouble seeking to a specified time (that's why I wanted to add keyframes) might be a ffmpeg bug
[19:22:35 CEST] <ChocolateArmpits> I have no further idea really
[19:23:23 CEST] <ChocolateArmpits> You could try analyzing the frames using ffprobe, it should give out frame types
[19:29:14 CEST] <Marco_> ChocolateArmpits: ok, that seems like the only option now, I'll try that thanks :)
[19:29:35 CEST] <ChocolateArmpits> It would fix anything but maybe give a clearer picture what gets coded
[19:29:39 CEST] <ChocolateArmpits> won't*
[19:30:36 CEST] <Marco_> yep, agreed, I'll see if there's any info there
[19:50:42 CEST] <nho> Hello
[19:51:00 CEST] <nho> I'm trying to convert flac to mp3. Getting an error: Stream #0:1 -> #0:0 (mjpeg (native) -> png (native)) Error while decoding stream #0:1: Invalid data found when processing input
[19:51:00 CEST] <nho> Too many packets buffered for output stream 0:1.
[19:51:07 CEST] <nho> How to discard video?
[19:51:42 CEST] <oleitner> resulting codec is an image?
[19:51:45 CEST] <oleitner> hi btw
[19:52:17 CEST] <nho> png(native) apparently
[19:52:46 CEST] <sfan5> nho: add -vn
[19:52:54 CEST] <oleitner> png is an image, have you tried setting -c:v to libmp3lame (youll have to have mp3lame installed...)
[19:53:00 CEST] <sfan5> now my own question: how do i ocr with ffmpeg?
[19:53:23 CEST] <nho> Thank you, sfan5
[19:53:50 CEST] <nho> And problem is not with converting to image, it's from converting from mjpeg image...
[19:53:52 CEST] <nho> Was
[19:53:57 CEST] <oleitner> i c
[19:54:05 CEST] <sfan5> you could also try -c:v copy
[19:54:31 CEST] <nho> No, dropping better - more to cram into shitty mp3 player.
[19:56:43 CEST] <mccc> Hello,
[19:56:52 CEST] <mccc> I'm having trouble recording AAC audio in ffmpeg.
[19:57:28 CEST] <mccc> When I do, the file that I get plays back a little bit slower than it should (tested so far on VLC, and and Android)
[19:58:08 CEST] <mccc> This didn't happen when I was recording AAC in to an MPEG4 container, but is happening now that I'm recording AAC in to an MPEG2 container.
[19:58:10 CEST] <oleitner> mccc, how does the output look?
[19:58:20 CEST] <oleitner> mccc, i mean the output while encoding
[19:58:50 CEST] <mccc> Hi oleitner, I put the commands I used and the output up at:
[19:58:50 CEST] <mccc> https://pastebin.com/4s2FmWzp
[20:00:29 CEST] <oleitner> thanks, ill check as soon as my browser loads it..., seems my scriptblocker is kinda going berserk on me today
[20:01:13 CEST] <mccc> No problem thank you for having a look - I'm going to try and keep running variations of the commands and simplifying the repro.
[20:01:48 CEST] <oleitner> ok, im not the ffmpeg ace, but have you tried to reduce the audio rate?
[20:03:01 CEST] <mccc> The bitrate or the sample rate? I've tried varying both. I ended up at the ones I have based on a compatability chart I saw online, I'm looking for that tab now..
[20:04:25 CEST] <oleitner> im checking on the wikipedia page on mpeg-1_audio_layer_ii
[20:04:29 CEST] <oleitner> i guess you already did that
[20:05:14 CEST] <mccc> https://android.googlesource.com/platform/external/aac/+/master/libAACenc/i… @Line 503
[20:06:35 CEST] <mccc> Well I'm under the impression that's unrelated - I'm not an expert on this, but I understand that to be an unfortunate overlapping of terms between a codec (MPEG-1 container, Layer II codec) and a container (MPEG-2 container, AAC codec).
[20:07:06 CEST] <oleitner> oki, as i said, im not the wiz
[20:08:19 CEST] <mccc> Me neither but I appreciate your help! I'm trying to figure out the next way I can narrow this down to understand it.
[20:09:56 CEST] <oleitner> i usually do the other way around, mpegts to h264 mp4
[20:11:30 CEST] <mccc> Yep - I'm actually going from a sound card to MPEG2-TS, I'd previously gone to MP4 but the Android exoplayer doesn't seem to support it.
[20:11:52 CEST] <oleitner> mp4 is yet another container, right?
[20:11:56 CEST] <oleitner> if i had that right
[20:12:01 CEST] <mccc> Yes I believe so.
[20:12:14 CEST] <oleitner> so its rather the content of that container than the container itself
[20:12:29 CEST] <oleitner> id try switching out audio codec i.e. "on the way"
[20:14:35 CEST] <mccc> Well what's interesting is it was seeming to work with the same codec, AAC via libfdk_aac, in the MP4 container but not the MPEG-2 TS. But that's a good thing to narrow down, I'll see if I can get two simple repros with one and the other. I'll also just record raw AAC and see what that sounds like.
[20:15:32 CEST] <oleitner> im not into the whole mobile stuff, does that exoplayer thing has a list of supported media somewhere on their website maybe?
[20:16:49 CEST] <mccc> https://google.github.io/ExoPlayer/supported-formats.html under HLS.
[20:17:49 CEST] <mccc> But wait does anyone know what FMP4 is under DASH? Is that "fragmented MP4"?
[20:17:59 CEST] <oleitner> it supports m4a, that might be a solution...
[20:18:23 CEST] <oleitner> i have no idea, gonna google it though
[20:18:47 CEST] <mccc> Yes it's looking like it - looks like I missed this first read through.
[20:19:24 CEST] <oleitner> fragmented probably has to do with optimized streaming, thats fmp4...
[20:20:01 CEST] <mccc> Okay - I'm going to experiment with this for a bit. Thank you for the help.
[20:21:41 CEST] <yasar> when down sampling a flac file, will ffmpeg automatically apply some sort of low pass filter?
[20:22:06 CEST] <oleitner> i doubt that
[20:22:12 CEST] <oleitner> though id have to check the headerfiles
[20:23:21 CEST] <yasar> So, lets say I am down sampling from 192k to 96k, will it just select every other sample and be done with it?
[20:24:01 CEST] <oleitner> what do you mean by "every other sample"?
[20:25:10 CEST] <yasar> in 192k file, there are twice the number of samples, compared to 96k file, I was wondering if it would just eliminate half of those samples without any other kind of filtering
[20:25:29 CEST] <oleitner> well, if you loop your script over each file, itll call each file with the flags you define
[20:26:24 CEST] <oleitner> also if youd set an output directory different to the input directory for the resampled files, youd see the difference
[20:28:52 CEST] <oleitner> id guess theres some well thought through logic implemented, so that it knows what to "trim off"
[21:08:20 CEST] <GNU\colossus> Hi everyone
[21:08:48 CEST] <grublet> GNU\colossus: sup
[21:09:30 CEST] <GNU\colossus> I'm archiving a documentary with multiple seasons and episodes from DVD, and would like to use the MP4 container format, creating these files with ffmpeg. is there a guide/docunmentation available that details how I'd properly feed ffmpeg with Unicode metadata for that purpose?
[21:11:45 CEST] <grublet> GNU\colossus: I don't have any firsthand experience with that but you might find something useful here http://ffmpeg.org/ffmpeg-all.html#Metadata-1
[21:11:52 CEST] <grublet> otherwise i'd just wait til someone else can help
[21:12:12 CEST] <GNU\colossus> grublet, thanks, I will take a look at that :)
[22:01:02 CEST] <kinkinkijkin> reflowing from 720p23 to 720p60 at half-pixel accuracy and reencoding to h265 with -preset slower
[22:01:06 CEST] <kinkinkijkin> 0.02x speed
[22:01:14 CEST] <kinkinkijkin> I'm glad this video is only 4 minutes long
[22:02:24 CEST] <ChocolateArmpits> why do you need higher framerate
[22:02:49 CEST] <kinkinkijkin> recording of a game which my computer can't record at 60fps
[22:03:21 CEST] <ChocolateArmpits> but why do you need interpolated motion ?
[22:03:34 CEST] <kinkinkijkin> for looks
[22:03:39 CEST] <ChocolateArmpits> but it won't look good
[22:03:41 CEST] <kinkinkijkin> I don't "need" it
[22:03:59 CEST] <kinkinkijkin> also I've got it done up extremely carefully so that it will look good
[22:04:03 CEST] <kinkinkijkin> extremely rare artifacts
[22:04:22 CEST] <kinkinkijkin> worst that happens is that occasionally a part of the scene updates at the original framerate
[22:05:55 CEST] <GNU\colossus> does x264 encoder performance scale linearly with # of threads/when does it plateau?
[22:06:15 CEST] <kinkinkijkin> depends on cores to threads
[22:06:38 CEST] <kinkinkijkin> it doesn't plateau until a little bit after the processor is full
[22:07:25 CEST] <GNU\colossus> so on a 32 core machine, I can expect 32x speedup over a 1 core machine?
[22:07:37 CEST] <kinkinkijkin> oh, not linear as in exact
[22:07:42 CEST] <kinkinkijkin> also it's not linear
[22:07:57 CEST] <kinkinkijkin> you should expect around a 30x speedup probably
[22:08:15 CEST] <GNU\colossus> that's still very much good enough for my taste :)
[22:08:29 CEST] <kinkinkijkin> that is, assuming that you're not blocked by i/o
[22:08:41 CEST] <kinkinkijkin> which, at that thread number, you might be
[22:16:39 CEST] <GNU\colossus> I'm contemplating temporarily taking over one of the spare boxes at work for this batch of files to convert
[22:17:49 CEST] <GNU\colossus> the machines are big enough that I could do it all on tmpfs 8)
[00:00:00 CEST] --- Sun May 14 2017
1
0
[00:01:11 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:2752410c4788: avcodec/golomb: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
[00:01:12 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:d05bdba2428d: avcodec/mss3: Fix runtime error: signed integer overflow: -2146318336 - 2139696256 cannot be represented in type 'int'
[00:01:13 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:6899e6e56065: avcodec/diracdec: Fix Assertion frame->buf[0] failed at libavcodec/decode.c:610
[05:59:01 CEST] <cone-423> ffmpeg 03James Almer 07release/3.2:49279d4cc2c7: avformat/concatdec: fix the h264 annexb extradata check
[05:59:01 CEST] <cone-423> ffmpeg 03James Almer 07release/3.2:8d9f9270780d: avcodec/options: factorize avcodec_copy_context() cleanup code
[05:59:01 CEST] <cone-423> ffmpeg 03James Almer 07release/3.2:65add3a8184d: avcodec/options: do a more thorough clean up in avcodec_copy_context()
[05:59:01 CEST] <cone-423> ffmpeg 03Aaron Levinson 07release/3.2:9cf601f87da8: avformat/utils: free AVStream.codec properly in free_stream()
[08:28:50 CEST] <atomnuker> cmp r4d, 4; cmovl r4, r5 error: label or instruction expected at start of line
[08:28:54 CEST] <atomnuker> HOW IS THIS AN ERROR
[08:29:09 CEST] <atomnuker> I really hate old x86 junk and wish all flags would burn
[08:29:57 CEST] <Threads> sounds like we got some communism going on here
[08:30:21 CEST] <atomnuker> no, discrimination
[08:30:33 CEST] <atomnuker> this exact string is used many many time throughout the code
[08:31:26 CEST] <atomnuker> yet in this exact file cmp doesn't mean cmp, it means some evil word which nasm interprets as me demanding it gives me all its moneyt
[09:22:24 CEST] <sinanksu> IMPORTANT : SwfSize parameter available in ffmpeg?
[09:22:45 CEST] <atomnuker> what the fuck, it turns out it was because I had 2 arguments named "c" and "s"
[09:23:20 CEST] <atomnuker> holy crap did nasm mistake the c in cmp for the argument
[09:24:11 CEST] <ubitux> the last funny thing i got wrt asm was with the ';' not being a start of comment in gas
[09:24:23 CEST] <ubitux> even though my editor was coloring the line as comment
[09:24:32 CEST] <ubitux> the asm was still assembled, and so running
[09:24:48 CEST] <ubitux> so i was "commenting" half of the asm, and it was still working
[09:29:24 CEST] <atomnuker> what is nasm doing interpreting an instruction and thinking you want a register, it wouldn't be valid
[09:32:33 CEST] <sinanksu> My code : ffmpeg -i "rtmpe : / / xxxxxx/xlive app=xlive swfUrl=http : / / xxxxxxx/VideoPlayer.swf swfAge=5aaaa32059cba732636c28519b2ce34a3568f1058a8bd02d6a932643554ccbb4 swfVfy=1 swfSize=546447 pageUrl=http : / /xxxxxxx conn=S:client conn=S:3.1.0.10 conn=S:en live=1 playpath=raw:599773" -c copy "2017blablabla.flv"
[09:32:53 CEST] <sinanksu> Error Output : Unknown option swfSize
[09:32:53 CEST] <sinanksu> Valid RTMP options are:
[09:32:55 CEST] <rcombs> what prompted the switch off of yasm, anyway?
[09:33:33 CEST] <atomnuker> nasm is maintained
[09:39:49 CEST] <sinanksu> ?
[09:44:41 CEST] <rcombs> ah
[09:47:37 CEST] <atomnuker> sinanksu: no idea, this channel isn't for support, #ffmpeg is
[10:51:10 CEST] <cone-423> ffmpeg 03Paul B Mahol 07master:eaf644e120b3: avfilter: add acopy filter
[10:52:48 CEST] <kierank> 8:22 am <" atomnuker> what the fuck, it turns out it was because I had 2 arguments named "c" and "s"
[10:53:12 CEST] <kierank> You kinda deserve it then :)
[10:53:47 CEST] <atomnuker> I guess so
[10:54:03 CEST] <atomnuker> (since both were floats I just removed them from the namespace)
[11:12:13 CEST] <durandal_1707> what audio filters are we missing?
[11:22:28 CEST] <atomnuker> noise reduction
[11:22:58 CEST] <atomnuker> crackle suppresion
[11:44:19 CEST] <J_Darnley> Does ffmpeg's mailing lists have a way to ask it to send me a specific email?
[11:45:17 CEST] <durandal_1707> atomnuker: when you gonna write some audio filter?
[11:45:37 CEST] <BtbN> J_Darnley, I don't think so
[11:45:52 CEST] <BtbN> but it has an archive if you are looking for a specific thing
[11:47:35 CEST] <atomnuker> J_Darnley: send a patch to change -wN to -x and I'll LGTM it
[11:48:01 CEST] <atomnuker> (it annoyed me as well because I'm more interested in overall function performance rather than separate stages
[11:48:03 CEST] <J_Darnley> BtbN: That might have to do
[11:48:15 CEST] <atomnuker> durandal_1707: dunno, monday maybe
[11:48:22 CEST] <BtbN> pretty sure the archives have a link that you can click to reply to a mail
[11:48:53 CEST] <BtbN> yeah, they do, at the very top
[11:56:32 CEST] <Gramner> atomnuker: yeah, the error message from yasm/nasm aren't generally very helpful. it would be quite useful if it would just print the full preprocessed line that causes a problem
[11:59:47 CEST] <Gramner> at least you got an error message. I recently spent like 2 hours trying to debug why the hell a piece of code wasn't working only to realize that a data variable and a cpuflag- suffixed function had the same name , and the latter silently shadowed the former due to preproccesing definition trickery so I was using a random piece of code as a shuffle mask.
[12:00:59 CEST] <Gramner> I should do that intentionally somewhere just to screw with people and call it a size optimization
[12:26:28 CEST] <nevcairiel> if you can find a function that has the correct data pattern and still does something useful, that would be quite magical :D
[13:04:43 CEST] <durandal_1707> atomnuker: are you serious?
[13:06:36 CEST] <atomnuker> yeah, why not, I'll write the noise reduction one
[13:28:05 CEST] <durandal_1707> atomnuker: with wavelets?
[13:29:08 CEST] <atomnuker> no, I plan to go the FFT route
[13:29:37 CEST] <atomnuker> I'll wait until there are no huge changes in coefficients in between frames and use that as noise signature
[13:30:16 CEST] <atomnuker> then I'll just subtrack those coefficients off of any future frame
[13:30:58 CEST] <atomnuker> how would the wavelets method work with audio?
[13:41:57 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:df640dbbc949: avcodec/wmv2dsp: Fix runtime error: signed integer overflow: 181 * -17047030 cannot be represented in type 'int'
[13:41:58 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:c4c0245686bc: avcodec/g723_1dec: Fix runtime error: left shift of negative value -1
[13:41:59 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:f225003d1736: avcodec/texturedsp: Fix runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
[13:44:45 CEST] <durandal_1707> atomnuker: soft and hard thresholding, i forgot almost everything about it
[14:48:52 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:d5711cb89121: avcodec/avcodec: Limit the number of side data elements per packet
[14:48:53 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:ccce2248bf56: avcodec/vp8dsp: vp7_luma_dc_wht_c: Fix multiple runtime error: signed integer overflow: -1366381240 + -1262413604 cannot be represented in type 'int'
[16:40:54 CEST] <kierank> J_Darnley: i would say submit an mmx yasm conversion
[16:40:57 CEST] <kierank> then do sse
[16:41:12 CEST] <kierank> and also ignore neckbeards who say it is 1% slower or whatever
[16:41:59 CEST] <J_Darnley> That's basically what I have done.
[16:42:20 CEST] <J_Darnley> The two sse2 functions at the bottom are from the original.
[16:42:29 CEST] <kierank> ah
[16:42:33 CEST] <kierank> what parts are WIP?
[16:43:04 CEST] <J_Darnley> Strictly, none of it. It works just fine.
[16:44:24 CEST] <J_Darnley> I just don't expect to push the patch as submitted
[16:44:32 CEST] <J_Darnley> I'm working to see if there are speedups from using xmm instead of mmx
[16:45:21 CEST] <kierank> ok
[16:45:41 CEST] <kierank> talk to Gramner and BBB i guess
[16:46:13 CEST] <BBB> is this the simple_idct?
[16:46:18 CEST] <J_Darnley> yes
[16:46:19 CEST] <kierank> yup
[16:46:22 CEST] <BBB> right...
[16:46:27 CEST] <BBB> so that code is & crazy
[16:46:33 CEST] <BBB> like, I have no other words for it
[16:46:35 CEST] <BBB> its fast, sure
[16:46:37 CEST] <BBB> but its crazy
[16:46:56 CEST] <BBB> now, strictly speaking, it does a 2x2 4x4 subidct loop, right?
[16:47:00 CEST] <BBB> so you should be able to speed it up
[16:47:16 CEST] <BBB> just by ignoring the mmx code and writing a loopless full 8x8 idct
[16:47:19 CEST] <J_Darnley> I don't know what it does. I haven't looked at the C version yet
[16:47:21 CEST] <BBB> maybe with a idct-only case
[16:47:23 CEST] <BBB> haha
[16:47:24 CEST] <BBB> :)
[16:47:26 CEST] <BBB> ok
[16:47:27 CEST] <BBB> so
[16:47:47 CEST] <BBB> want me to give a quick top-level hunnch?
[16:48:10 CEST] <J_Darnley> Yes if you're not busy
[16:48:14 CEST] <BBB> which may be totally wrong but nobody can confirm ot deny it since michaelni didnt remember and nobody else understands that code
[16:48:16 CEST] <BBB> so
[16:48:23 CEST] <BBB> the idct is in words
[16:48:27 CEST] <BBB> mmx registers are 8 byte
[16:48:32 CEST] <BBB> so hold 4 elements
[16:48:52 CEST] <BBB> the idct is 8x8
[16:49:05 CEST] <BBB> so that means you can only do half the 1d idct per register
[16:49:09 CEST] <BBB> right?
[16:49:26 CEST] <BBB> in addition, you have (since it was written for 32bit/mmx) only 8 registers
[16:49:40 CEST] <BBB> how do you speed it up? simple: sub-idcts
[16:49:43 CEST] <J_Darnley> Yeah, it moves in and out of memory a lot
[16:49:44 CEST] <BBB> vp9 does that also
[16:49:57 CEST] <BBB> so if only the top-4x4 coefs are non-zero
[16:50:06 CEST] <BBB> you can ignore the second half of the first 1d idct
[16:50:12 CEST] <BBB> and you can ignore half the multiplies etc. also
[16:50:19 CEST] <BBB> so thats why its fast
[16:50:31 CEST] <BBB> vp9 does that too, its crazy and nobody will understand 5 years from now
[16:50:36 CEST] <BBB> and then they will curse me
[16:50:37 CEST] <BBB> I apologize
[16:50:42 CEST] <BBB> but I wont remember
[16:50:45 CEST] <BBB> ;)
[16:50:46 CEST] <BBB> anyway
[16:50:54 CEST] <BBB> you can literally translate the asm in mmx/32bit as-is
[16:50:55 CEST] <BBB> thats fine
[16:51:04 CEST] <BBB> for 64bit/xmm, I would just rewrite it and ignore what exists
[16:51:18 CEST] <BBB> just rewrite the C as-is, 16 byte=8 elements per registers, assume you have 16 registers
[16:51:19 CEST] <BBB> its all fine
[16:51:24 CEST] <BBB> on 32bit, you can use the mmx one
[16:51:30 CEST] <BBB> no loop, etc.
[16:51:41 CEST] <BBB> the loop and 2 1ds are all unrolled in the mmx/32bit version youre seeing
[16:51:44 CEST] <BBB> thats why its so long
[16:51:58 CEST] <BBB> but it does amke it faster
[16:52:44 CEST] <BBB> also, thanks! so happy to see someone working on this
[16:53:42 CEST] <BBB> your indenting is off in some parts ;) </diego>
[16:54:20 CEST] <J_Darnley> Yeah, I plan a big whitespace fix too.
[16:54:42 CEST] Action: J_Darnley is afk
[16:54:47 CEST] <BBB> do you think we need a checkasm test for this?
[16:54:55 CEST] <BBB> would probably be somewhat useful for some tests
[17:39:12 CEST] <cone-423> ffmpeg 03Paul B Mahol 07master:9cd62b2ca49b: avfilter/vf_pad: revert part of 57c3670896c69714ca
[17:43:49 CEST] <cbsrobot> lol at the first few lines of http://ffmpeg.gusari.org/irclogs/2017/05/11/ffmpeg.log.20170511
[17:51:47 CEST] <wm4> sigh
[18:12:09 CEST] <BBB> cbsrobot: thats kinda brilliant :D
[18:15:34 CEST] <cone-423> ffmpeg 03Paul B Mahol 07master:e312ed0504c1: avfilter/af_astats: add RMS difference too
[18:31:57 CEST] <tdjones> I can't seem to find this in the docs, but what is the easiest way to execute a single set of FATE tests (a single makefile) rather than rerunning the entire suite?
[18:33:39 CEST] <J_Darnley> make fate-test-name for just 1
[18:33:59 CEST] <J_Darnley> I don't know about everything in a specific file
[18:34:26 CEST] <tdjones> That works, didn't know if by test name or file would be easier. Thanks!
[18:37:05 CEST] <J_Darnley> make fate-list will list all available tests
[18:37:38 CEST] <J_Darnley> Useful to grep for a specific term
[18:38:17 CEST] <J_Darnley> If I'm working on h264: make fate-list | egrep 'h264|avc' > fate-list-h264
[18:38:34 CEST] <J_Darnley> then make $(cat fate-list-h264)
[18:39:34 CEST] <tdjones> That's perfect, thank you.
[18:42:14 CEST] <RiCON> durandal_1707: doesn't that revert break the centering with aspect_ratio?
[18:42:50 CEST] <RiCON> ah, no, probably not
[19:09:36 CEST] <atomnuker> rcombs: lgtm'd flac picture writing patch, the bug was in my code
[19:26:26 CEST] <BtbN> Is there a better way to count CPU cycles a function uses than rdtsc? It seems to be independend of actual CPU cycles on modern CPUs.
[19:27:43 CEST] <nevcairiel> not really, no. it just gets rather noisy the bigger your functions are, so best is to measure small inner loops or s omething, where you know the cost is inside that function
[19:33:07 CEST] <tmm1> is anyone working on mediacodec encoders?
[19:36:39 CEST] <tmm1> mateo`: do you know?
[19:41:34 CEST] <atomnuker> BtbN: if you're trying to compare performance just use START/STOP_TIMER from libavutil/timer.h
[19:42:19 CEST] <BtbN> nah, roommate has a university task to win some competition to optimize a function with regard to CPU cycles.
[19:42:29 CEST] <BtbN> And some people are getting crazy low results that seem impossible.
[19:42:50 CEST] <BtbN> So we suspect that it's not truly measuring CPU cycles, which seems accurate.
[19:43:02 CEST] <alevinsn> it depends if the CPU has invariant TSC or not
[19:43:16 CEST] <alevinsn> modern Intel processors have invariant TSC
[19:43:22 CEST] <BtbN> Everyone runs the evaluation script on their own machine
[19:43:25 CEST] <alevinsn> but, there are also high performance timers
[19:43:28 CEST] <BtbN> and the results of that are then compared
[19:43:32 CEST] <BtbN> so the whole competition is flawed
[19:44:15 CEST] <BtbN> It also measures the "cycles" of like a million benchmark-runs
[19:48:23 CEST] <nevcairiel> we typically also measure as many runs as we can, on modern CPUs it can always decide to do something else =p
[19:48:49 CEST] <nevcairiel> anyhow such a "competition" should ultimately be measured on the same system
[19:50:05 CEST] <nevcairiel> a different cpu can already produce different cycle counts
[19:51:37 CEST] <BtbN> something weird we observed here on our machines: On his Haswell CPU, the average cycle count for his implementation is 35k, best case is 25k. On my Ryzen, the average is at 30k, but the best case is also 30k.
[19:55:28 CEST] <BtbN> In the competition some people have submited numbers below 10k "cycles" for the same computational task.
[20:15:24 CEST] <BtbN> can someone who is familiar with the configure/Makefile stuff review that nvcc patch? No idea who qualified there, hopefully someone.
[20:18:28 CEST] <J_Darnley> Oh no. You people aren't adding cover writing to the flac muxer are you?
[20:20:40 CEST] <nevcairiel> sure are. why?
[20:21:15 CEST] <J_Darnley> I hate them and I hate how ffmpeg treats them as a video stream.
[20:29:04 CEST] <alevinsn> BtbN: I glanced at the nvcc patch ("[PATCH 2/3] build: add support for building .cu files via nvcc")
[20:29:21 CEST] <alevinsn> BtbN: I haven't tested anything, but it seems like it will be fine
[20:29:32 CEST] <alevinsn> nevcairiel is more of an expert on this though
[20:55:01 CEST] <durandal_1707> it should be attachement
[20:58:06 CEST] <jamrial> ideally, audio format muxers shouldn't try to mux any video stream they get as cover art, they all should look at the stream's disposition and discard stuff accordingly
[20:59:00 CEST] <jamrial> durandal_1707: no way to get stream info that way, which some formats like flac need for cover art
[21:27:40 CEST] <durandal_1707> amerge is flawed, i cant pick 7.1 channel layout from 8 channels somehow
[21:44:30 CEST] <durandal_1707> im thinking about removing all hw stuff in ffmpeg
[21:46:18 CEST] <durandal_1707> and forking
[21:49:25 CEST] <cone-423> ffmpeg 03Paul B Mahol 07master:c02921417b24: avfilter/aeval: free input frame on error
[21:49:26 CEST] <cone-423> ffmpeg 03Paul B Mahol 07master:3d55e4883c2a: avfilter/aeval: remove comment that was left from some other file
[23:31:07 CEST] <cone-423> ffmpeg 03James Almer 07master:28f60eeabbdc: avcodec/avpacket: allow only one element per type in packet side data
[23:41:20 CEST] <cone-423> ffmpeg 03Martin Vignali 07master:73ae60d7df04: libavcodec/exr : cosmetics variable name
[23:41:21 CEST] <cone-423> ffmpeg 03Michael Niedermayer 07master:cb243972b121: avcodec/xpmdec: Fix multiple pointer/memory issues
[00:00:00 CEST] --- Sat May 13 2017
1
0
[01:39:37 CEST] <mr_floppy> hello :) Asking straight away: Is there gpu/hardware acceleration support for any lossless video codecs in ffmpeg? (like ffv1)
[01:40:16 CEST] <mr_floppy> (to add: that support real time encoding)
[02:54:40 CEST] <marcurling> Anyone knows how to solve 'Cannot load nvEncodeAPI64.dll' with h264_nvenc under Win7 ?
[03:01:54 CEST] <arog> hi
[03:02:06 CEST] <arog> if I want to write my own C++ app using libav and use x11grab
[03:03:41 CEST] <arog> do I just need to set the input stream to x11grab
[03:03:42 CEST] <arog> and thats it?
[03:25:58 CEST] <DHE> arog: likely you can just follow the examples but force a format of x11grab, an input "filename" of :0.0 or whatever, and other options are specified by the AVDictionary
[09:22:27 CEST] <sinanksu> IMPORTANT : SwfSize parameter available in ffmpeg?
[09:53:00 CEST] Last message repeated 6 time(s).
[16:33:54 CEST] <grault> hi guys.. googled for an hr / read docs, I found nothing which worked.. I _can_ use -segment and -segment_time to save segments from a live stream audio (24/7) .. I also _can_ use showspectumpic to generate a spectrogram.. what I'm looking for is to combine the two.. I just need spectrograms of the segments and I don't need the sound itself.. tried things like this: https://pastebin.com/S9rZYSe8
[16:35:02 CEST] <c_14> I don't think you can combine the segment muxer and the image2 muxer
[16:35:07 CEST] <c_14> pick one
[16:35:18 CEST] <grault> fair enough.. :)
[16:35:43 CEST] <furq> don't you want showspectrum
[16:36:00 CEST] <furq> showspectrumpic apparently generates a single frame for the entire input
[16:37:33 CEST] <grault> furq: that'd be my point.. I need single images of segments of ~20mins of the input... my idea was to use showspectrum and save frames from it..
[16:41:51 CEST] <furq> hmm
[16:42:08 CEST] <furq> showspectrum=slide=fullframe would be perfect if you could set the duration
[16:42:11 CEST] <furq> but i don't see an option t
[16:42:12 CEST] <furq> o
[16:42:13 CEST] <c_14> use showspectrum and a select to take one picture every 20m and throw that in an image2 muxer?
[16:42:29 CEST] <furq> that's not going to have the spectrum of the entire segment though
[16:42:42 CEST] <furq> which i assume is required
[16:42:42 CEST] <c_14> mhm
[16:42:58 CEST] <c_14> write a script and two-pass?
[16:43:06 CEST] <c_14> one pass generates segments, the other uses showspectrumpic?
[16:43:09 CEST] <furq> otherwise you could just use showspectrum,fps=1/1200
[16:43:21 CEST] <furq> and yeah a second pass is the best thing i can come up with
[16:48:10 CEST] <grault> yeah.. feel free to leave it.. I already have a running -segment and another script which polls the filesystem and if there's two output, it processes and deletes the older..
[16:52:25 CEST] <grault> thanks guys
[17:12:13 CEST] <Xys> Hey guys ! I know ffmpeg prints the tbn value from mp4 files. Do you know where this info is stored in the file ? I thought it was in the headerbox, "timescale" but the value I get is different
[17:13:15 CEST] <ritsuka> in mp4 there is a global timescale, and a timescale for each track
[17:14:20 CEST] <Xys> ritsuka : Hm so I was getting the global time scale I guess, and not the tbn from the video track ?
[17:18:25 CEST] <Xys> Does someone know in which box is the tbn value for each mp4 track please ?
[17:19:20 CEST] <ritsuka> mhhd
[17:19:27 CEST] <ritsuka> mdhd sorry
[17:32:40 CEST] <Xys> ritsuka : Thanks a lot !!
[17:47:41 CEST] <Elemental> Hey guys is there a way to set window position with ffplay? I see -x and -y sets window size (which I also need)
[17:51:58 CEST] <Elemental> I'm just trying to display 6 unifi web camera rtsp streams onto a monitor with ffplay
[18:08:50 CEST] <pgorley> dunno, but piping ffplay -h into grep -i position, there's a lot of -x and -y options
[18:13:16 CEST] <Trel> Is there any FFMpeg GUI which will show you the FFMpeg command to be used without actually executing it? More of a command builder, so for example if I choose "Audio Codec: Copy" from a dropdown, it will show a string get "-c:a copy" added to it?
[18:14:02 CEST] <BtbN> So far all the ffmpeg GUIs I have seen were bad and incomplete
[18:15:20 CEST] <thebombzen> they're always bad and never keep up with the actual development
[18:15:23 CEST] <Trel> Yeah, that's why I'm hoping for one that doesn't actually do anything except build the string
[18:15:27 CEST] <thebombzen> you're better off with just a CLI script to be honest
[18:16:39 CEST] <Trel> That might be something nice to make in python, a command builder. It could possibly generate options and possible values off an xml which could be updated independently of the script.
[18:17:10 CEST] <Trel> Might be a good project for me to get into python more
[18:19:06 CEST] <BtbN> library users don't build a string, they call the libs directly.
[18:19:31 CEST] <BtbN> But why write an xml to describe the command line, when you can just write the commandline?
[18:19:35 CEST] <furq> why write xml
[18:22:22 CEST] <Trel> Wait, I'm confused what you mean by that.
[18:23:18 CEST] <Trel> I was talk about an interactive script to build the ffmpeg command line. For example a dropdown menu of available codecs.
[18:24:13 CEST] <Trel> What do you mean by they call the libs directly?
[18:24:57 CEST] <furq> he means that a lot of guis don't call the ffmpeg binary, they use the libs
[18:25:03 CEST] <furq> which means there is no command string
[18:25:57 CEST] <Trel> Ah yes, I'm specifically talking about making something where the end result is a ffmpeg command, not actually performing the task.
[18:26:04 CEST] <Trel> For learning, not doing.
[18:26:55 CEST] <furq> just as long as no xml is involved
[18:27:18 CEST] <Trel> The XML was intended to be read by the script for available options
[18:27:30 CEST] <furq> obviously in order to make that you'd need to understand how the ffmpeg cli works, which will obviate the tool
[18:27:35 CEST] <furq> but if it's just for learning then go nuts
[18:27:55 CEST] <BtbN> why make an xml for that, instead of querying the specific lib in question?
[18:28:04 CEST] <furq> what lib
[18:28:14 CEST] <BtbN> The one where the option originates from.
[18:28:48 CEST] <Trel> I'm lost to what you're getting at
[18:29:15 CEST] <BtbN> lavc can tell you which codecs it supports, and what options are available for each one.
[18:29:25 CEST] <Trel> And if that's not installed?
[18:29:34 CEST] <furq> that's part of ffmpeg
[18:29:39 CEST] <BtbN> Then you can't use ffmpeg in the first place.
[18:29:44 CEST] <furq> but yeah in order to do that you'd need libavcodec bindings for python
[18:29:52 CEST] <furq> which is extremely nontrivial
[18:29:53 CEST] <Trel> the hypothetical script does NOT run ffmpeg, it generates a string.
[18:30:08 CEST] <furq> what would be the point of doing that if you don't have ffmpeg installed
[18:30:14 CEST] <BtbN> Hardcoding all the options in there causes it to be outdated within days
[18:30:14 CEST] <Trel> To learn ffmpeg.
[18:30:24 CEST] <BtbN> learn ffmpeg, without having ffmpeg?
[18:30:31 CEST] <Trel> BtbN, exactly, hence the XML with the availale options....
[18:30:47 CEST] <BtbN> makes no sense to me
[18:30:57 CEST] <furq> just do what i did and hang out in here for a few months
[18:31:05 CEST] <furq> soon people will inexplicably think you're an expert
[18:31:06 CEST] <Trel> Not for me to learn...
[18:31:25 CEST] <furq> it worked for me
[18:31:41 CEST] <Trel> I mean the script isn't intended for me
[18:31:48 CEST] <furq> and i didn't even have to write any python
[18:31:49 CEST] <Trel> It's intended as a learning tool for others
[18:32:17 CEST] <BtbN> Why would you learn with some weird external, outdated, script, without being able to verify what you are doing?
[18:32:25 CEST] <BtbN> Just grab an ffmpeg binary and mess with it
[18:32:29 CEST] <furq> if it's for other people then there's no reason to not do what BtbN said
[18:32:52 CEST] <Trel> You try telling a CEO to go chat on IRC
[18:32:53 CEST] <furq> otherwise it'll be outdated on every minor version of ffmpeg and every minor version of every external library
[18:33:05 CEST] <furq> what BtbN said, not what i said
[18:33:16 CEST] <furq> grabbing the options from libavcodec etc
[18:38:43 CEST] <Trel> I'd have to package that with the script :\ my goal is a learning tool, not so much a front end
[18:40:00 CEST] <furq> it's not really a stretch to require that someone using a tool for learning ffmpeg has ffmpeg installed
[18:40:47 CEST] <furq> i'm all in favour of minimising dependencies, but this one is completely sensible
[18:41:15 CEST] <Elemental> Hey guys is there a way to set window position with ffplay? I see -x and -y sets window size (which I also need)
[18:41:37 CEST] <Elemental> or is there a way to do the same thing with ffmpeg?
[18:41:37 CEST] <pgorley> what?! i need ffmpeg installed to learn how to use ffmpeg? preposterous, i say!
[18:41:53 CEST] <Trel> furq, the catch is it's for a CEO who I KNOW doesn't have it.
[18:42:20 CEST] <furq> why does he want to learn it then
[18:42:33 CEST] <Trel> Because he's a CEO and decides if I have a job or not.
[18:42:50 CEST] <Trel> He wants a tool to build the string and nothing more.
[18:43:16 CEST] <pgorley> redirect the output from ffmpeg -h full to a text file and send it to him
[18:43:18 CEST] <furq> it doesn't sound like it'd be that bad if you got fired
[18:43:33 CEST] <Trel> To quote: "so I can learn it by seeing how the options match with what they do"
[18:44:42 CEST] <furq> Elemental: mpv lets you set window position and is generally better than ffmpeg
[18:44:50 CEST] <furq> although your window manager can still override it
[18:45:07 CEST] <Trel> I'm asking for it how he described it. He wanted to graphically choose options, similiar to how the GUI's work, like selecting a codec, and see exactly what it would change/add to the command line if he were doing it that way.
[18:45:15 CEST] <Trel> If it doesn't exist, I need to try to make it.
[18:46:15 CEST] <pgorley> that sounds like a pita but still feasible
[18:46:48 CEST] <pgorley> can it be a version in particular?
[18:47:48 CEST] <BtbN> Just install Handbrake on his PC?
[18:49:02 CEST] <Trel> BtbN handbrake does the encoding....
[18:49:27 CEST] <BtbN> it calls libav* libraries in the background.
[18:49:45 CEST] <Trel> What good is that for what I need to do....
[18:50:21 CEST] <Trel> I need the end result to look like "ffmpeg -i input_file -c:v codec -c:a codec <other stuff> output_file"
[18:50:27 CEST] <Trel> If it DOES anything, it's not what I need.
[18:50:34 CEST] <Trel> If it doesn't exist, I need to make it
[18:51:27 CEST] <BtbN> Still seems pointless to me
[18:51:40 CEST] <BtbN> you don't learn how to make ffmpeg commandline by having some tool make them for you
[18:51:52 CEST] <BtbN> read the documentation and look at examples
[18:52:46 CEST] <Trel> I learned ffmpeg by reading the docs, you did by experience and examples, the CEO wants to do it by an interactive script or GUI. Guess which option I need if I don't want myself and my student loan co-signers to be homeless?
[18:53:13 CEST] <BtbN> Seems a bad approach to me.
[18:53:33 CEST] <Trel> I keep agreeing with you, but the end result is the same.
[18:54:14 CEST] <BtbN> Just parse the --help output or something then...
[18:54:24 CEST] <Trel> That's not interactive
[18:54:52 CEST] <Trel> Look, I get it. It doesn't exist. I need to make it. I'll throw something together.
[18:55:03 CEST] <BtbN> ...what?
[18:55:13 CEST] <BtbN> Of course it's not ineractive, wouldn't be possible to parse it then.
[18:55:39 CEST] <Trel> The CEO needs an interactive script or GUI, if what you're suggesting isn't an interactive script or GUI, it's not what I need.
[18:55:51 CEST] <Trel> If what I need doesn't exist, I need to make it.
[18:55:57 CEST] <Trel> End result: I need to make it.
[18:56:03 CEST] <BtbN> ./ffmpeg.exe --help full
[18:56:13 CEST] <BtbN> all the options, to every codec, filter, everything
[18:56:20 CEST] <furq> why would you assume a ceo is using windows
[18:56:21 CEST] <Trel> Ok, now where's the dropdown for him to select codecs?
[18:56:24 CEST] <furq> i'm sure he's using slackware
[18:56:35 CEST] <BtbN> the format is not stable, but you're going to be outdated one or the other way.
[18:56:43 CEST] <Trel> -_-
[18:57:33 CEST] <BtbN> no idea why you dislike that, but are all for some crappy hand-written xml
[18:57:47 CEST] <Trel> What do you think the purpose of the xml was in my example?
[18:57:48 CEST] <BtbN> That xml has to come from somewhere, and there are close to 10k options
[18:58:07 CEST] <BtbN> So might as well parse the help full output.
[18:59:16 CEST] <Trel> And where does the script get the output from that command?
[18:59:27 CEST] <BtbN> ?
[18:59:37 CEST] <BtbN> You just run the ffmpeg binary in question.
[19:00:15 CEST] <Trel> Ok, assuming windows, what will my hypothetical script do with "'ffmpeg.exe' is not recognized as an internal or external command, operable program or batch file."
[19:00:47 CEST] <BtbN> complain to the user that he removed the shipped ffmpeg binary...
[19:03:03 CEST] <Trel> What shipped binary....
[19:04:14 CEST] <Trel> You know what, it's really not worth asking sometimes.
[19:04:44 CEST] <BtbN> wtf, that guy
[19:04:51 CEST] <BtbN> Really want to make his life as hard as possible it seems
[21:51:47 CEST] <x-5_zc7_1yta> Hi
[21:52:16 CEST] <x-5_zc7_1yta> I am trying to build ffmpeg on debian but failing miserably
[21:52:22 CEST] <x-5_zc7_1yta> Can you guys help me?
[21:53:17 CEST] <x-5_zc7_1yta> compiling libx264 with config "PATH="$HOME/tmp/bin:$PATH" ./configure --prefix="$HOME/tmp/ffmpeg_build" --bindir="$HOME/tmp/bin" --enable-static --bit-depth=10 --disable-opencl"
[21:53:38 CEST] <x-5_zc7_1yta> and getting error /usr/bin/ld: libx264.a(cabac-a.o): relocation R_X86_64_32 against symbol `x264_cabac_range_lps' can not be used when making a shared object; recompile with -fPIC
[22:00:23 CEST] <x-5_zc7_1yta> As far as I know the problem is related to creating a shared libraries and linking to something static
[22:01:15 CEST] <x-5_zc7_1yta> but why does it try to create something shared when I define --enable-static?
[22:02:27 CEST] <x-5_zc7_1yta> And I am doing pretty much exactly what the compilation guide tells me to
[22:10:40 CEST] <fred1807> any idea how can I get direct link to this stream? https://www.facebook.com/WSL/videos/10154675964302058/
[22:11:04 CEST] <BtbN> try streamlink or youtube-dl
[22:14:43 CEST] <fred1807> no luck with youtube-dl
[22:37:28 CEST] <jgirot> Hello everyone! I have successfully been running version 3.2.4 using hwaccel cuvid and h264_nvenc, but I am having problems using the latest git version.
[22:38:02 CEST] <durandal_1707> what problems?
[22:38:47 CEST] <jgirot> With the -rc-lookahead 32 and -bf 3: No free surfaces
[22:40:01 CEST] <jgirot> Then "Conversion failed!"
[22:40:57 CEST] <thebombzen> full command?
[22:41:39 CEST] <jgirot> ./ffmpeg -loglevel trace -hwaccel cuvid -c:v mpeg2_cuvid -i /dev/shm/rgbtest.ts -c:v h264_nvenc -rc-lookahead 32 -bf 3 /dev/shm/output.mkv
[22:52:38 CEST] <haroldp> I have a working nginx config that uses ffmpeg to convert some crappy IP cams to RTMP for embedding in a web page. But it sucks and I'd like to switch to Dash or HLS or some such. Can someone help me update my config for that?
[22:54:23 CEST] <jgirot> If I drop the "-bf 3" it runs fine, but then there's no B-frames in the output
[23:39:26 CEST] <thebombzen> jgirot: you're probably using surfaces for your hardware and software decoder
[23:39:36 CEST] <thebombzen> you should just use ffmpeg's mpeg2video decoder
[23:43:45 CEST] <jgirot> Yes, if I remove "-hwaccel cuvid" it will run without error. My main concern is that this exact command works just fine using v3.2.4
[00:00:00 CEST] --- Sat May 13 2017
1
0
[02:17:16 CEST] <alevinsn> what's the word I'm looking for? function A calls function B, and function B calls function C
[02:17:30 CEST] <alevinsn> instead, take the call to function C and call it from function A after calling function B
[02:17:46 CEST] <alevinsn> what's the word to describe extracting the function call to function C from function B and moving it to function A
[02:17:47 CEST] <alevinsn> ?
[02:18:02 CEST] <alevinsn> I know there's a word for that....
[02:40:03 CEST] <cone-983> ffmpeg 03Michael Niedermayer 07master:6b5d3fb26fb4: avcodec/webp: Always set pix_fmt
[02:40:03 CEST] <cone-983> ffmpeg 03Michael Niedermayer 07master:60765cc42e3e: avcodec/pixlet: Fix runtime error: signed integer overflow: 436207616 * -5160230545260541 cannot be represented in type 'long'
[02:40:03 CEST] <cone-983> ffmpeg 03Michael Niedermayer 07master:c0ece1f4addf: avcodec/mpeg12dec: Fixes runtime error: division by zero
[02:52:27 CEST] <jamrial_> alevinsn: refactoring? idk
[02:52:47 CEST] <alevinsn> I thought that might be it, but refactoring is a pretty broad term
[02:52:54 CEST] <alevinsn> and covers a number of different techniques
[04:16:40 CEST] <cone-983> ffmpeg 03Steven Liu 07master:7355c1dda2f8: avformat/hlsenc: move old_filename free operation earlier
[04:24:50 CEST] <philipl> BtbN: I might be an idiot, but I don't actually see you calling decodePicture.
[04:24:54 CEST] <philipl> That would explain the garbage :-)
[04:25:35 CEST] <philipl> You go straight from av_hwframe_get_buffer to cuvidMapVideoFrame
[08:52:38 CEST] <beandog> who do I have to bribe with cookies to help me figure out the new encoding api
[08:52:43 CEST] <beandog> :)
[08:53:17 CEST] <rcombs> it's reasonably simple
[08:53:41 CEST] <rcombs> you send a frame, then receive packets until you get EAGAIN (usually you get one, but this can vary)
[08:54:04 CEST] <beandog> it's my first stab at any program in C using libav*, so I'm tripping up in general somewhat.
[08:54:13 CEST] <beandog> I'm decoding the audio just fine. I think.
[08:54:41 CEST] <beandog> you can see where my limited intelligence poops out - https://gist.github.com/beandog/7f51cdd45cf7ca9c8e4fce33760dfc60#file-avbox…
[08:55:36 CEST] <rcombs> you need to loop on avcodec_receive_frame until it stops giving you frames (EAGAIN)
[08:56:12 CEST] <beandog> ok
[09:00:58 CEST] <beandog> just pulling out one at all throws an error, though - "error: Resource temporarily unavailable"
[09:06:24 CEST] <JEEB> beandog: might be that the encoder didn't get enough data to start returning data
[09:06:34 CEST] <JEEB> some encoders require larger amounts of stuff put in
[09:06:40 CEST] <JEEB> like libx264 with slower presets
[09:07:45 CEST] <beandog> hmm
[09:07:46 CEST] <beandog> ok
[09:09:31 CEST] <ubitux> beandog: av_err2str(ret) is useful
[09:10:05 CEST] <beandog> ok
[09:16:29 CEST] <wm4> ubitux: even then the error messages are cryptic as hell
[09:18:45 CEST] <atomnuker> am I reading this right? vmaskmov solves like 99% of all opus assembly issues
[09:19:33 CEST] <atomnuker> if you can conditionally store to a memory address without overwriting
[09:21:18 CEST] <beandog> alright, I gotta run off to bed, thanks guys :) cookies for all
[10:16:33 CEST] <BtbN> philipl, no, there's a dummy call to DecodeVideo in between
[10:16:41 CEST] <BtbN> but DecodeVideo has no parameters to pass in the input buffer
[10:17:25 CEST] <BtbN> calling DecodeVideo throws an error though
[10:17:34 CEST] <BtbN> and MapVideo has both the input and output buffer parameters
[11:19:35 CEST] <cone-514> ffmpeg 03Clément BSsch 07master:8ba1fc2a4ac2: ffprobe: discard non-selected streams
[12:57:35 CEST] <BtbN> I hate Makefiles and their syntax
[13:01:05 CEST] <wm4> I hate shell and its syntax
[13:03:39 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:ad2296ab3a13: avcodec/aacdec_fixed: Fix various integer overflows
[13:03:40 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:d712a5cddbfc: cmdutils_opencl: Fix read of uninitialized pointer
[13:03:41 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:36cf42252152: cmdutils_opencl: Fix read of uinitialized cl_mem
[13:07:08 CEST] <BtbN> I can't get it to generate the needed file... It just doesn't care it doesn't exist, and fails at link time
[13:07:33 CEST] <durandal_1707> michaelni: arent packets padded with 0?
[13:07:53 CEST] <wm4> durandal_1707: the answer is "maybe"
[13:08:02 CEST] <durandal_1707> how would unckecked bistream work otherwise?
[13:08:23 CEST] <wm4> it usually requires only padding, not 0 padding
[13:08:28 CEST] <BtbN> If I add this to the Makefile, shouldn't it trigger the whole chain when a .ptx.o is in the list of files? https://bpaste.net/show/b925a4a49011
[13:08:32 CEST] <durandal_1707> maybe unaligned and unpadded
[14:30:50 CEST] <cone-514> ffmpeg 03Matthieu Bouron 07master:5d0b8b1ae307: lavc/aarch64/simple_idct: fix iOS build without gas-preprocessor
[14:30:51 CEST] <cone-514> ffmpeg 03Matthieu Bouron 07master:2f43897f6579: lavc/ffjni: fix local reference leak
[14:30:52 CEST] <cone-514> ffmpeg 03Matthieu Bouron 07master:1795dccde0ad: lavc/mediacodec_wrapper: fix local reference leaks
[14:46:21 CEST] <Gramner> atomnuker: note that vmaskmov* has some caveats on some cpu:s that you should to be aware of before using it such as preventing load-store forwarding and messing with the memory address disambiguator causing unrelated loads to stall
[14:48:47 CEST] <iive> maskmov has latency of 3000 on Ryzen ... and this is not the first AMD cpu to have issues with it.
[14:49:06 CEST] <atomnuker> its not doing anything fancy, just 2 (normal, movu) loads -> stuff -> 2 vmaskmov stores
[15:38:27 CEST] <jamrial> ubitux: wanna give the h264 cropping thing a look? or do we just skip it for now?
[15:38:36 CEST] <jamrial> the calculated cropping offsets post merge are different, and probably wrong
[15:39:50 CEST] <J_Darnley> I have sucessfully moved simple_idct to external asm...
[15:40:15 CEST] <jamrial> congrats
[15:41:12 CEST] <J_Darnley> I want to use some other code to do add and clamped functions.
[15:41:44 CEST] <J_Darnley> Do people object adding ~800 lines to lavc/x86/idctdsp.asm?
[15:42:56 CEST] <J_Darnley> Or should I copy ~100 to where I have been working?
[15:52:23 CEST] <J_Darnley> I think I'll copy. I would need to duplicate a little anyway.
[15:54:04 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:d9051f8f3e60: avcodec/mimic: Fix runtime error: index 96 out of bounds for type 'const int8_t [64]'
[15:54:05 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:3a0ff78168f8: avcodec/aacdec_fixed: Fix multiple shift exponent 33 is too large for 32-bit type 'int'
[15:54:06 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:8a69f2602fea: avcodec/dvbsubdec: Check entry_id
[15:54:07 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:7ac506714661: avcodec/scpr: Check y in first line loop in decompress_i()
[16:24:37 CEST] Action: kierank looking forward to see J_Darnley patch
[16:30:40 CEST] Action: J_Darnley facepalms
[16:30:59 CEST] <J_Darnley> Well obviously that's going toscrew you up!
[16:32:38 CEST] <gnafu> Expectations ruin everything.
[16:34:42 CEST] <j-b> BBB: you should give me the right to attack in your name
[16:34:50 CEST] <BBB> ?
[16:34:53 CEST] <J_Darnley> I should perhaps add a check to x264asm to catch those obvious errors. No CPU has 128 registers (yet).
[16:34:58 CEST] <BBB> what did I do?
[16:35:14 CEST] <j-b> BBB: gpl violations
[16:35:20 CEST] <BBB> uh
[16:35:22 CEST] <BBB> dunno
[16:35:37 CEST] <j-b> Synology violates since 2 years!
[16:35:44 CEST] <BBB> so many people violate
[16:35:46 CEST] <BBB> nobody cares
[16:35:46 CEST] <j-b> it's not like a small thing
[16:35:48 CEST] <RiCON> 100 whole apps
[16:35:49 CEST] <BBB> I tried for a little while
[16:36:00 CEST] <BBB> and its just too hard and too slow
[16:36:09 CEST] <BBB> and most violators are not in appropriate jurisdictions
[16:36:17 CEST] <BBB> and if they are, all you get is $1000 or so
[16:36:19 CEST] <BBB> whats the point
[16:36:28 CEST] <j-b> or way more
[16:36:36 CEST] <j-b> and forbid them from distributing
[16:37:45 CEST] <BBB> we need a more sustainable system than what we have now
[16:37:53 CEST] <BBB> having one developer do it makes no sense
[16:38:04 CEST] <BBB> maybe set up a collab with a law school and have their students do it as a summer project
[16:38:05 CEST] <BBB> every year
[16:38:19 CEST] <BBB> summer of code style
[16:38:39 CEST] <Gramner> summer of lawsuits
[16:38:55 CEST] <jamrial> what exactly do they violate gpl for? what gpl code could mobile apps need? doubt it's external library encoders
[16:40:02 CEST] <Gramner> maybe we should pitch practicing handling gpl violations as course material for law school
[16:40:16 CEST] <BBB> jamrial: who knows
[16:40:31 CEST] <BBB> jamrial: dont forget ios doesnt allow shared libs
[16:40:37 CEST] <BBB> jamrial: so full lgpl compliance is hard
[16:42:08 CEST] <j-b> that's totally untrue
[16:42:15 CEST] <j-b> iOS support shared libs since iOS8
[16:42:23 CEST] <j-b> 3 major versions ago
[16:47:09 CEST] <atomnuker> what's the shortest way to convert decimal to 1's e.g. 1 -> 0x1, 2 -> 0x3, 3 - 0x7, 4 - 0xf, etc?
[16:47:32 CEST] <BtbN> Why the hell does make delete my intermediate build files, and then isn't smart enough to figure out the build is up to date when re-running it?
[16:48:15 CEST] <atomnuker> ugh, I'll just use a lookup table, I only need up to 4
[16:48:50 CEST] <BtbN> https://bpaste.net/show/f1d4c223a851 like, what? Why?
[16:49:16 CEST] <nevcairiel> atomnuker: (1 >> x) - 1?
[16:49:55 CEST] <jamrial> <<
[16:50:00 CEST] <nevcairiel> right
[16:50:01 CEST] <nevcairiel> my bad
[16:50:03 CEST] <wm4> j-b: there's still the question whether the tivo clause allows gpl/lgpl at all
[16:50:13 CEST] <wm4> or was that only v3
[16:50:29 CEST] <j-b> wm4: only GPLv3
[16:50:48 CEST] <j-b> GPLv2/LGPLv2.1 is ok with tivo
[16:50:51 CEST] <j-b> LGPLv3 is unclear
[16:51:01 CEST] <ubitux> jamrial: not much more to say than what i said last time&
[16:52:04 CEST] <wm4> in any case even without shared libs you can apparently comply to lgpl
[16:52:16 CEST] <wm4> by proving .o files
[16:52:33 CEST] <wm4> though I wonder why the FSF chose such clunky requirements
[16:52:59 CEST] <wm4> in practice this is not going to help a single user
[16:53:09 CEST] <j-b> because they are lawyers
[16:53:19 CEST] <j-b> wm4: a long time ago, I wrote a GPL-short license
[16:53:23 CEST] <j-b> same spirit as GPL
[16:53:27 CEST] <j-b> but in a few sentences
[16:53:43 CEST] <wm4> but?
[16:55:09 CEST] <wm4> I think plenty of people would like a LGPL-style smaller licemse
[16:55:12 CEST] <wm4> license even
[16:56:01 CEST] <j-b> wm4: but, I had 2 guys from FSF that broke my balls
[16:56:05 CEST] <j-b> and I dropped the project
[16:57:16 CEST] <wm4> lol did they threaten to sue you
[16:57:19 CEST] <j-b> no
[16:57:31 CEST] <j-b> they started to explain how it will make the life of everyone more complex
[16:57:42 CEST] <j-b> because of compatibilities between GPL-light and GPL
[16:58:10 CEST] <atomnuker> nevcairiel: tnx, that's the 1 way of shifting I didn't consider
[16:58:23 CEST] <wm4> oh yeah, that's a "nice" property of GPL
[16:58:29 CEST] <durandal_1707> name of project is?
[17:11:47 CEST] <jamrial> ubitux: the problem seems to be the left cropping value being reduced to keep alignment when -flags unaligned is not set
[17:11:50 CEST] <jamrial> h264/hevc/theora do it one way, the new decode.c code another way
[17:12:30 CEST] <jamrial> i guess i could try to make decode.c behave the same, but wonder why it was changed in the first place
[17:13:01 CEST] <wm4> does this affect actual cropping, or the exported AVFrame cropping values?
[17:15:51 CEST] <atomnuker> wait, so I cannot shift a grp using another grp to specify shift amount?
[17:16:16 CEST] <atomnuker> (yet that's doable in SIMD?)
[17:16:29 CEST] <BBB> of course you can
[17:16:33 CEST] <BBB> but you can only shift with ecx
[17:16:34 CEST] <BBB> (cl)
[17:17:46 CEST] <BBB> atomnuker: I dont know why that limitation exists, but only ecx can shift (though any reg can be shifted)
[17:20:41 CEST] <jamrial> wm4: actual cropping
[17:28:30 CEST] <BBB> are you guys getting all these privmsgs from a user called BotRoomNN"?
[17:28:34 CEST] <BBB> how do I ignore that?
[17:28:51 CEST] <J_Darnley> Not me and I don't know.
[17:30:15 CEST] <Gramner> atomnuker/BBB: with bmi2 there's sensible 3-arg variable shift instructions
[17:30:39 CEST] <Gramner> shrx/shlx/sarx
[17:31:07 CEST] <Gramner> which are also faster than using cl on intel cpus because reasons
[17:32:53 CEST] <Gramner> 1/0.5 vs 2/2 on skylake
[17:36:18 CEST] <BBB> intel has so many reasons for so much crap behaviour
[17:36:25 CEST] <BBB> I never quite know what to think of it
[17:36:30 CEST] <BBB> I guess it works so WhyCare
[17:37:33 CEST] <Gramner> most of the weird performance issues are due to legacy x86 crap. like partially affecting flags, or behavior being different when src==0 and things like that
[17:38:48 CEST] <wm4> why didn't Intel come up with a new instruction set mode yet?
[17:38:59 CEST] <Gramner> they did. it's called itanium
[17:39:10 CEST] <Gramner> we all know how well that worked out
[17:39:19 CEST] <wm4> itanium was "revolutionary"
[17:39:28 CEST] <wm4> I mean something more like ARM did with Thumb
[17:39:43 CEST] <Gramner> because customers care about backwards compatibility
[17:39:54 CEST] <Gramner> so they still need to have all legacy crap
[17:40:11 CEST] <wm4> it can be... they can do the same like they signal the bitness of code
[17:40:20 CEST] <wm4> 15 vs. 32 vs. 64 bit code
[17:40:27 CEST] <wm4> *16
[17:40:31 CEST] <J_Darnley> 15-bit code? Nice
[17:41:00 CEST] <Gramner> modern microprocessors are insanely complex to validate as it is, not sure they want to go down that rabit hole
[17:41:07 CEST] <BBB> they couldve fixed it with x86-64
[17:41:11 CEST] <Gramner> I'm guessing they will drop 16-bit at some point though
[17:41:54 CEST] <Gramner> yes. they could've, and should've, fixed (read: dropped) a lot of stuff
[17:41:56 CEST] <atomnuker> I dislike how I have to use cmov to clamp an integer, a separate clamp instruction would've been nice
[17:42:05 CEST] <Gramner> hindsight is 20/20
[17:42:51 CEST] <kierank> atomnuker: do it in simd
[17:43:00 CEST] <wm4> 64 bit mode was AMD, which focused on max. compatibility to existing toolchains or something
[17:43:42 CEST] <wm4> Gramner: well the idea is that they would gradually switch to slower emulation for the "old" instruction set
[17:44:39 CEST] <Gramner> that's already happening with mmx and x87
[17:45:06 CEST] <atomnuker> kierank: pretty much what I do, I splat an integer and multiply each word to get the bit in the correct place
[17:45:16 CEST] <Gramner> you can gain performance by converting mmx simd to sse2 that only uses the lower half on skylake
[17:45:31 CEST] <Gramner> depends on which instructions are used
[17:45:32 CEST] <kierank> J_Darnley: ^
[17:45:41 CEST] Action: wm4 wish swscale would remove this funny self-modifying mmx code for a broken scaler
[17:45:53 CEST] <wm4> can't make that up
[17:46:42 CEST] <Gramner> self-modifying SIMD sounds scary
[17:47:03 CEST] <kierank> wm4: you know perfectly well that weird shit isn't going to go away
[17:47:04 CEST] <kierank> FAST
[17:47:05 CEST] <kierank> SPEED!
[17:48:16 CEST] <wm4> :(
[17:48:48 CEST] <kierank> at least with mpeg2 mmx I can ask J_Darnley to get rid of it
[17:48:54 CEST] <BBB> Gramner: its there
[17:48:57 CEST] <Gramner> self-modifying code tends to be slow though since it messes a lot with internal cpu behavior
[17:48:59 CEST] <BBB> Gramner: its crazy
[17:49:11 CEST] <BBB> Gramner: and its crazy fast for mmx code, yes
[17:52:23 CEST] <atomnuker> self-modifying code sounds so radical though
[17:53:14 CEST] <wm4> at least it seemed to stop upsetting selinux and actively bothering users
[17:57:08 CEST] <iive> wm4: itanium was slow. nowdays even gpu's move away from vliw
[18:01:09 CEST] <iive> the "self modifying code" is modified once before execution and doesn't change itself after that. so it is more like dynamic compilation of code
[18:01:19 CEST] <Gramner> that swscale code isn't self-modifying though. it's runtime-generated and not very scary. I'm disappointed!
[18:02:07 CEST] <iive> :)
[18:02:54 CEST] <atomnuker> Gramner: if itanium processors weren't a failure would the instruction set be okay to work with?
[18:04:06 CEST] <Gramner> the itanium instruction set was designed around smart compilers. e.g. the compiler would figure out all the things that could be done in parallell so the cpu wouldn't have to
[18:04:49 CEST] <Gramner> turns out writing good compilers is hard, and out-of-order execution in hardware is actually really good
[18:07:25 CEST] <Gramner> writing vliw asm by hand seems kind of annoying
[18:08:59 CEST] <atomnuker> the arm camp still seems to believe in smart compilers
[18:11:21 CEST] <wm4> iive: well I didn't say it should be vliw
[18:11:40 CEST] <wm4> Itanium was essentially a failed experiment, but they didn't play it save in the first place
[18:12:21 CEST] <wm4> the arm thumn instruction set on the other hand is a "safe" optimization that brought obvious benefits
[18:12:32 CEST] <wm4> *thumb
[18:12:37 CEST] <wm4> no radical new concepts
[18:14:21 CEST] <Gramner> the current x86 approach is basically "SIMD ALL THE THINGS" due to dennard scaling failing on us
[18:16:56 CEST] <wm4> what's dennard scaling?
[18:17:09 CEST] <Gramner> gathers, scatters and conflict detection in avx-512 feels very much designed for compilers, because it's rare to need such things in handwritten SIMD and inferring inter-dependencies between data can be very hard or impossible for a compiler to do, so just let the hardware deal with it
[18:17:16 CEST] <Gramner> https://en.wikipedia.org/wiki/Dennard_scaling
[18:18:05 CEST] <Gramner> it's why we don't have 30GHz cpus
[18:21:16 CEST] <nevcairiel> i wonder if you could make single cpu cores somehow bigger for more performance, instead of just scaling up cores to use the space
[18:21:24 CEST] <nevcairiel> (other then introducing new simd)
[18:21:49 CEST] <thardin> new paradigms may be needed. such as computing at optical frequencies
[18:22:55 CEST] <Gramner> you can add more cache and increase out-of-order execution windows, in-flight load/store buffers etc (which is what cpu designers tend do every new arch nowadays) but all of this has diminishing returns
[18:23:13 CEST] <Gramner> this is a physics issue, not a design issue really
[18:23:42 CEST] <nevcairiel> so essentially, x86 isnt going to get much faster
[18:24:28 CEST] <J_Darnley> Finally! People will stop writing slower software
[18:26:06 CEST] <atomnuker> not even gallium arsenide would help nowadays, it would actually make things worse
[18:26:28 CEST] <Gramner> we'll get more cores, wider simd, more execution engines and slightly better IPC due to general arch improvements, but probably nothing major until a completely new material with better physical properties that is viable to create transistors out of shows up
[18:26:47 CEST] <J_Darnley> GRAPHENE!
[18:26:55 CEST] <Gramner> yes, graphene is one contender
[18:49:17 CEST] <jamrial> ubitux, michaelni: libav is also affected by this change in cropping behavior, so i'll just skip these commits for now
[18:59:52 CEST] <BtbN> I think I won against the Makefiles
[18:59:57 CEST] <BtbN> I hate Makefiles
[19:04:28 CEST] <J_Darnley> Dinner then patch squashing time.
[19:05:23 CEST] <cone-514> ffmpeg 03Anton Khirnov 07master:a02ae1c6837a: hevcdec: export cropping information instead of handling it internally
[19:05:24 CEST] <cone-514> ffmpeg 03Anton Khirnov 07master:4fded0480f20: h264dec: be more explicit in handling container cropping
[19:05:25 CEST] <cone-514> ffmpeg 03Anton Khirnov 07master:c3e84820d67c: h264dec: export cropping information instead of handling it internally
[19:05:26 CEST] <cone-514> ffmpeg 03Anton Khirnov 07master:1202b712690c: theora: export cropping information instead of handling it internally
[19:05:27 CEST] <cone-514> ffmpeg 03James Almer 07master:fc63d5ceb357: Merge commit '1202b712690c14f0efb06e4ad8b06c5b3df6822a'
[19:05:28 CEST] <cone-514> ffmpeg 03James Almer 07master:602ac487205e: doc/libav-merge: mention the skipped AVFrame crop fields usage commits
[19:27:17 CEST] <atomnuker> I like how in newer nasm versions you don't have to use that obscure debug option to resolve errors in macros
[19:27:28 CEST] <atomnuker> who thought that was a good idea
[19:27:50 CEST] <iive> what is the obscure debug option?
[19:28:19 CEST] <atomnuker> I can't remember, something you appended on make, its in the docs
[19:28:41 CEST] <atomnuker> DBG=1
[19:39:30 CEST] <ubitux> jamrial: even git/master ?
[19:39:59 CEST] <jamrial> ubitux: libav? yes
[19:40:42 CEST] <jamrial> i checked to see if it was fixed/changed in a following commit so i'd just cherry pick it as part of the merge, but no
[19:44:23 CEST] <ubitux> ok ok
[19:54:23 CEST] <jamrial> and here i was happy i got rid of an item from the libav-merge list, only to end up adding another :p
[20:08:42 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:e717fa1f0a66: avcodec/cllc: Factor VLC_BITS/DEPTH out, do not use repeated literal numbers
[20:08:43 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:2bfd0a97587d: avcodec/cllc: Check num_bits
[20:08:44 CEST] <cone-514> ffmpeg 03Michael Niedermayer 07master:15e892aad12b: avcodec/msmpeg4dec: Check for cbpy VLC errors
[20:21:21 CEST] <ubitux> jamrial: yeah :(
[20:22:11 CEST] <ubitux> jamrial: but it's better to have to deal with this list on a daily basis than the overall merge count we currently fight
[20:22:21 CEST] <ubitux> so its time will come
[20:27:44 CEST] <ubitux> seems our qsvenc is still quite a bit different
[22:37:12 CEST] <SviMik> can anybody say why ffmpeg sometimes puts chromaticities and gamma info into png file? what is it intended for? http://svimik.com/ffmpegpngformats1.png
[22:37:18 CEST] <SviMik> I have noticed that colors in png are screwed when in does so. Is there a way to disable it?
[22:39:16 CEST] <nevcairiel> it writes those if the color information is set on the encoder
[22:39:22 CEST] <BtbN> https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/pngenc.c#L293
[22:39:56 CEST] <BtbN> If it has the information, it will write them
[22:52:03 CEST] <iive> atomnuker: found it, it compiles the .asm with -e option that basically only does preprocessor and saves the result in *.dbg.asm file, that is compiled/assembled on a second run.
[00:00:00 CEST] --- Fri May 12 2017
1
0
[00:04:18 CEST] <james999> I thought Febrice Bellard's name sounded familiar
[00:04:32 CEST] <james999> I read that in the Qemu article he was the founder and thought fuck where did i hear that before?
[00:05:21 CEST] <Tatsh> he's the guy who forked ffmpeg off
[00:05:24 CEST] <Tatsh> isn't he
[00:05:31 CEST] <Tatsh> created libav
[00:05:53 CEST] <james999> wikipedia says he created ffmpeg
[00:06:00 CEST] <james999> but those aren't logically exclusive
[00:06:39 CEST] <Tatsh> well he did create the fork of libav
[00:06:42 CEST] <Tatsh> under a pseudonym
[00:06:49 CEST] <Tatsh> and now it just causes confusion
[00:07:43 CEST] <Tatsh> but in any case, https://lwn.net/Articles/650816/
[00:08:00 CEST] <james999> hmm i didn't think so
[00:08:03 CEST] <james999> but maybe i'm wrong... lol
[00:09:06 CEST] <Tatsh> all for competition when it makes sense
[00:09:09 CEST] <james999> Tatsh: do you remember the pseudonym? i really think you've got to be wrong on this one
[00:09:56 CEST] <Tatsh> it says on wikipedia
[00:10:03 CEST] <Tatsh> Gérard Lantau
[00:10:14 CEST] <Tatsh> https://www.theregister.co.uk/2015/08/05/ffmpeg_leader_steps_down/
[00:15:17 CEST] <james999> right ok
[00:15:27 CEST] <james999> i'm trying to find the names of the libav people but none of the articles say
[02:43:24 CEST] <Tatsh> trying to use mjpeg_cuvid
[02:43:25 CEST] <Tatsh> Impossible to convert between the formats supported by the filter 'Parsed_setpts_0' and the filter 'auto_scaler_0'
[02:43:29 CEST] <Tatsh> i'm using -f concat
[02:43:49 CEST] <Tatsh> ffmpeg -y -hwaccel cuvid -f concat -safe 0 -c:v mjpeg_cuvid -i chunks.DwnIP3isM8.txt -an -preset veryslow -profile:v high -level 4.1 -flags:v +cgop -vf 'setpts=0.25*PTS' -g 12 -bf 2 -b:v 8M -maxrate:v 8M -bufsize:v 16M -pix_fmt yuv420p -movflags +faststart -vcodec libx264 -pass 1 11270506.mp4
[02:43:53 CEST] <Tatsh> any ideas?
[04:32:28 CEST] <Exairnous> anyone know what's wrong with this filter_complex?
[04:32:30 CEST] <Exairnous> -filter_complex "[0:a]volume=2.0[a0]; [1:a]volume=0.8[a1]; [a0][a1]amerge=inputs=2[a],pan=stereo|c0<c0+c1|c1<c2+c3[aout]"
[04:33:12 CEST] <james999> hmm, anybody know about the openmax decoder on the raspberry pi?
[04:33:26 CEST] <james999> apparently you have to use omxplayer and it sucks according to this gentlement in another channel
[04:48:29 CEST] <Wallboy> i have a question about scale2ref. I'm using it to scale a watermark so it's 30% the width of the video while maintaining the correct aspect ratio of the watermark by doing the following -filter_complex "[1:v][0:v]scale2ref=iw*0.3:(iw*0.3)*(LOGOHEIGHT/LOGOWIDTH)[logo][base]". I have to calculate the logo aspect ratio prior to the command, but is there a way to use specify iw/ih variables for
[04:48:29 CEST] <Wallboy> the logo input?
[05:09:32 CEST] <furq> james999: --enable-mmal for decoding, --enable-omx-rpi for encoding
[05:14:29 CEST] <james999> i take it those are configure flags
[05:14:34 CEST] <furq> yes
[05:14:53 CEST] <james999> do I have to be on the pi itself to compile ffmpeg or can i do it from the comfort of my desktop?
[05:15:09 CEST] <furq> you can cross compile
[05:16:06 CEST] <james999> yes!, awesome thanks
[06:03:01 CEST] <Wallboy> Does the order of filters matter? If I want to hflip a video and also scale it, should I first flip it, then scale, or vice versa? Or does that really matter?
[06:08:53 CEST] <JC_Yang> I guess flip then scale save you a bit of processing power, just guess
[07:02:05 CEST] <Glanzmann> Hello, I would like to record my screen plus audio on Debian stable. Screen recording works. But when I try to record audio with ffmpeg 3.2.4-static from the website, it does no longer have the also input device. What should I use instead?
[07:02:33 CEST] <Glanzmann> https://pbot.rmdir.de/IYIuhFZXS6vEcSp56AzoRw
[07:03:08 CEST] <Glanzmann> I'm using: ffmpeg -f alsa -ac 2 -i ${audiodevice} -f x11grab -video_size 1024x768 -framerate 10 -i :0.0 -preset ultrafast lab-%02d-%02d.mkv
[08:04:31 CEST] <beandog> I'm stuck. I'm working on my first audio encoder in C, and I can figure out how to decode the audio (I think) but not put the frames / packets in the new one
[08:04:42 CEST] <beandog> I'm not even sure if I'm explaining it right, heh
[08:05:26 CEST] <beandog> code if you wanna see where I'm at so far, https://gist.github.com/beandog/7f51cdd45cf7ca9c8e4fce33760dfc60#file-avbox…
[08:44:49 CEST] <Pandela> beandog: Wish I could help, but pretty dank man. Is it your own codec or are ya rebuilding one?
[08:45:08 CEST] <beandog> just going from ac3 on a dvd to aac
[08:45:17 CEST] <beandog> nothing special
[08:49:29 CEST] <Pandela> Stilll though. And did you try the development channel?
[08:51:23 CEST] <beandog> nope, I should do that
[08:51:31 CEST] <beandog> thx
[08:51:59 CEST] <beandog> topic says to bump back in here :|
[08:52:01 CEST] <beandog> s'all good
[09:12:23 CEST] <monoxane> hey, i need ffmpeg to output in realtime, ie at 30fps instead of whatever it can pump out, how do i do this?
[09:13:22 CEST] <celyr> I have a car that can't go over 50km/h but I want it to go 140km/h, how i do this ?
[09:15:55 CEST] <vlt> bend space time?
[09:15:58 CEST] <monoxane> *cant tell if shitting on me or cant understand question*
[09:16:17 CEST] <monoxane> ffmpeg is pumping out frames as fast as it can and i need it to output at 30fps, the same as the input
[09:16:47 CEST] <vlt> That's basically the 50 vs. 140 km/h example.
[09:17:27 CEST] <Nacht> Doesn't he mean the -re option ?
[09:17:28 CEST] <Mandevil> Or vice versa.
[09:17:54 CEST] <celyr> if you eventually are able to bend space time to output the correct number of fps can you please share your technology ? I have some applications in my mind
[09:18:21 CEST] <celyr> Jokes aside, can you please provide all the information and what is the goal ? So we can eventually help you to find out a solution
[09:18:28 CEST] <vlt> monoxane: ffmpeg should be able to make use of multiple cpu cores (if you make them available to the process).
[09:19:02 CEST] <Mandevil> vlt: Maybe monoxane means that ffmpeg is outputing frames at 140 fps, but they only need 50 fps?
[09:19:05 CEST] <Nacht> I think he means ffmpeg is going to fast ?
[09:19:42 CEST] <monoxane> Mandevil, is correct
[09:20:28 CEST] <Mandevil> monoxane: Is this for streaming?
[09:20:59 CEST] <monoxane> yup
[09:21:42 CEST] <Mandevil> monoxane: Then it should be the client who is throttling the server.
[09:22:09 CEST] <celyr> yeah, client should be happy to fill his buffer asap
[09:22:10 CEST] <Mandevil> monoxane: Client only consumes frames at specified rate, so eventually it will block the server from producing any more.
[09:22:52 CEST] <monoxane> yea but i cant do that because of how im running the websockets stream
[09:23:04 CEST] <monoxane> so i ned to limit ffmpegs output to the input fps
[09:23:07 CEST] <monoxane> *need
[09:23:16 CEST] <Nacht> Using the -re option on the input should do that afaik
[09:24:15 CEST] <monoxane> thanks Nacht
[09:24:22 CEST] <monoxane> that did exactly what i wanted
[09:24:26 CEST] <Nacht> np
[09:42:34 CEST] <monoxane> now weird other problems, it stutters when -re is used
[09:42:49 CEST] <monoxane> would that just be input read issues with my drive?
[10:03:48 CEST] <Pandela> Share your command line
[10:03:50 CEST] <Pandela> ?
[10:05:31 CEST] <Pandela> And have you messed with the bitrate at all?
[10:05:34 CEST] <monoxane> ffmpeg -re -i <video> -f mpegts -codec:v mpeg1video -s 960x540 -b:v 1500k -r 30 -bf 0 -codec:a mp2 -ar 44100 -ac 1 -b:a 128k http://127.0.0.1:8081/<password>/<streamone>.ts
[10:05:37 CEST] <monoxane> no i havnt
[10:07:00 CEST] <Pandela> Maybe a lower video bitrate, and see what happens when you dont have audio
[10:07:41 CEST] <Pandela> With the -an option perhaps
[10:08:07 CEST] <monoxane> hm yea thats the problem
[10:09:36 CEST] <Pandela> The audio?
[10:10:07 CEST] <monoxane> yea
[10:10:15 CEST] <monoxane> -an fixed it
[10:10:27 CEST] <monoxane> but i need audio >_>
[10:10:32 CEST] <Pandela> Maybe a different audio codec will help, maybe remove your audio options and see if its too high for the codec or something
[10:10:38 CEST] <Pandela> <_<
[10:11:03 CEST] <monoxane> i literally cant change codecs though, i have to be outputting .ts
[10:11:21 CEST] <Pandela> It has to be mp2?
[10:12:03 CEST] <monoxane> yea
[10:12:11 CEST] <monoxane> streaming over websockets to html5
[10:12:15 CEST] <monoxane> via nodejs
[10:12:17 CEST] <Pandela> Oh i see
[10:12:20 CEST] <Pandela> noice
[10:13:40 CEST] <durandal_1707> mp2 should be fast to encode
[10:13:47 CEST] <Pandela> But hmm, the only thing i can think of so far is lowering the audio bitrate, since lowering the sample rate or -ar would probably lower the pitch of the audio
[10:15:04 CEST] <monoxane> lowering bitrate does nothing
[10:15:17 CEST] <Pandela> figures :/
[10:15:17 CEST] <Threads> is it actually going to localhost ?
[10:15:48 CEST] <monoxane> both localhost and over the internet have the same issue
[10:16:41 CEST] <monoxane> wtf no audio also results in higher res video
[10:16:56 CEST] <monoxane> theres something fuckey going on here
[10:20:12 CEST] <monoxane> im gonna try pumping obs into this to see if its ffmpeg or my streaming stuff
[10:20:47 CEST] <Pandela> Good call
[10:24:10 CEST] <Wallboy> I'm trying to concat an outro video and I'm a bit lost on where I need to add the concat filter and which streams I'm supposed to use for input/output. Here is my current ffmpeg command that adds a watermark:
[10:24:18 CEST] <Wallboy> ffmpeg -y -i test2.mp4 -i testlogo2.png -i outro1.mp4 -c:a copy -filter_complex "[0:v]hflip,scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2[scaled];[1:v]format=rgba,lut=a=val*0.7[logo];[logo][scaled]scale2ref=iw*0.3:(iw*0.3)*(118/409)[logo][base];[base][logo]overlay=0:342" -threads 4 test_enc.mp4
[10:24:48 CEST] <Wallboy> I'm guessing I need to add it after the overlay filter, but I tried and was getting some no matching stream errors
[10:28:38 CEST] <Wallboy> overlay=0:342[out];[out][2:0][2:1]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -threads 4 test_enc.mp4 is what is giving me no matching streams error
[10:28:41 CEST] <Wallboy> what am I doing wrong?
[10:30:56 CEST] <Pandela> If you're trying to concat a couple of videos, isnt it ffmpeg -f concat -i concat.txt
[10:31:22 CEST] <Pandela> Been awhile since I used it, but I believe thats how you concatenate
[10:31:23 CEST] <Wallboy> Well I have to do processing on the main video by adding the logo watermark first
[10:32:11 CEST] <Wallboy> Then I'm trying to take that output [out] and concat with the outro1.mp4 video
[10:32:36 CEST] <Wallboy> "stream specifier ':0' in filtergraph description ... matches no streams
[10:34:28 CEST] <Wallboy> which I'm guessing means the problem is with [2:0], but why? I can see in the output: Stream #2:0(und): video exists
[10:38:21 CEST] <Wallboy> tried [2:v][2:a] as well, same problem
[10:50:44 CEST] <monoxane> hm its definitely ffmpeg giving the stuttering
[11:34:23 CEST] <Pandela> monoxane: Doesnt OBS use ffmpeg anyway?
[11:37:19 CEST] <monoxane> no idea
[11:39:40 CEST] <JEEB> a lot of stuff utilizes in some cases the APIs provided by FFmpeg (libavcodec/-format etc)
[11:40:02 CEST] <JEEB> the utilization of those APIs can and most likely will differ from what ffmpeg.c (the command line tool) does
[11:51:13 CEST] <JC_Yang> will patches improving documents be accepted? as a user, I found that ffmpeg's api and documents quite frustrated. without abandoned the c-centric project guideline, improving the documents is the path required least effort.
[11:56:51 CEST] <JEEB> JC_Yang: yes
[11:56:55 CEST] <JEEB> patches to ffmpeg-devel
[11:59:44 CEST] <JC_Yang> get it
[12:07:43 CEST] <Wallboy> I'm getting some other errors now. I'm trying to get both videos first scaled to the same aspect ratio before concat, but now I"m getting a "Media type mismatch between the 'Parsed_pad_6' filter output pad 0 (video) and the 'Parsed_concat_9' filter input pad 1 (audio)
[12:07:52 CEST] <Wallboy> With the following command:
[12:08:02 CEST] <Wallboy> ffmpeg -y -i test.mp4 -i logo.png -i outro.mp4 -filter_complex "[0:v]scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2[scaled];[1:v]format=rgba,lut=a=val*0.7[logo];[2:v]scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2[outro];[logo][scaled]scale2ref=iw*0.3:(iw*0.3)*(118/409)[logo][base];[base][logo]overlay=0:342[out];[out][outr
[12:08:03 CEST] <Wallboy> o]concat=n=2:v=1:a=1" -threads 4 test_enc.mp4
[12:08:51 CEST] <Wallboy> I'm quite new to ffmpeg and I know I'm already way over my head in this stuff, but I'm a bit lost on where I'm doing somethhing wrong lol
[12:12:11 CEST] <dystopia_> use 1 -i
[12:12:22 CEST] <dystopia_> encode/scale/whatever your video
[12:12:27 CEST] <dystopia_> do same with video 2
[12:12:30 CEST] <dystopia_> and your png
[12:12:34 CEST] <dystopia_> then cat the outputs
[12:12:54 CEST] <Wallboy> 1 -i where?
[12:13:01 CEST] <Wallboy> sorry, again quite new to ffmpeg lol
[12:13:36 CEST] <Wallboy> you mean I should do seperate encodes first?
[12:16:00 CEST] <Wallboy> I also want to eventually add a crossfade between the two videos, but for now am I just trying to get ANY sort of concatentation working lol
[12:16:28 CEST] <thebombzen> Wallboy: you're doing it correctly, but tyou're not feeding it to the concat filter the rgiht way
[12:16:49 CEST] <thebombzen> for the concat filter as you have it, which is n=2:v=1:a=1 you have two streams each of video and audio
[12:17:17 CEST] <thebombzen> also don't use the same [id] twice
[12:17:51 CEST] <Wallboy> did i use the same id twice?
[12:18:02 CEST] <thebombzen> yea you used [logo] ttwice
[12:18:08 CEST] <thebombzen> as both the input and output of scale2ref
[12:18:31 CEST] <Wallboy> your right, changing that now
[12:18:38 CEST] <thebombzen> also, you have [out][outro] fed to concat but those are just video streams, and concat needs V/A/V/A
[12:18:43 CEST] <thebombzen> because it needs two streams each of video and audio
[12:18:57 CEST] <Wallboy> i thought [out] containers both streams, and same with outro
[12:19:17 CEST] <thebombzen> it does not, because [out] is the output of the overlay video filter
[12:19:31 CEST] <thebombzen> when you use [0:v], this means "the video stream from input 0"
[12:19:41 CEST] <Wallboy> how do i get the streams from [out] and [outro] then
[12:20:11 CEST] <thebombzen> you can't "get the audio streams from [out] and [outro]" because the audio was never even in that filterchain to start
[12:20:19 CEST] <thebombzen> you should probably use [out][0:a][outro][2:a] if you're looking to concat the audio from the original videos
[12:20:41 CEST] <thebombzen> the '[0:v]' you used specifically means "the video stream from input 0." which excludes audio
[12:20:51 CEST] <thebombzen> likewise, "[0:a]" is the audio stream from input zero
[12:21:01 CEST] <thebombzen> however you probably also have to do it like this
[12:21:23 CEST] <thebombzen> "[out][0:a][outro][2:a]concat=n=2:v=1:a=1[v][a]" and then add the option -map "[v]" -map "[a]"
[12:23:49 CEST] <Wallboy> [Parsed_concat_9 @ 01247540] Input link in1:v0 parameters (size 640x480, SAR 0:1
[12:23:49 CEST] <Wallboy> ) do not match the corresponding output link in0:v0 parameters (640x480, SAR 210
[12:23:49 CEST] <Wallboy> 01567:20997120)
[12:23:49 CEST] <Wallboy> [Parsed_concat_9 @ 01247540] Failed to configure output pad on Parsed_concat_9
[12:23:49 CEST] <Wallboy> Error configuring complex filters.
[12:23:50 CEST] <Wallboy> Invalid argument
[12:24:28 CEST] <Wallboy> i'm guessing it means something with my two videos isn't matching up?
[12:24:30 CEST] <thebombzen> that's because they don't have the same sar
[12:24:48 CEST] <Wallboy> i thought I fix that with scaling each video to the same res
[12:25:04 CEST] <thebombzen> you know how DVDs are 720x480 but they can still be widescreen? it's cause the pixels aren't square
[12:25:05 CEST] <thebombzen> that's SAR
[12:25:33 CEST] <thebombzen> you used force_original_aspect
[12:25:37 CEST] <thebombzen> don't use that and you'll be fine
[12:26:04 CEST] <thebombzen> or, better yet, you could use the setsar filter
[12:26:06 CEST] <thebombzen> -vf setsar=1
[12:26:16 CEST] <thebombzen> er, put in in the filterchain, but yes
[12:27:34 CEST] <Wallboy> so remove the force_original... from both [0:v] and [2:v] chains and replace with setsar?
[12:27:46 CEST] <thebombzen> no, just leave setsar
[12:27:51 CEST] <thebombzen> just use setsar
[12:28:03 CEST] <thebombzen> note that if your videos weren't originally the same size, they might be stretched
[12:28:12 CEST] <Wallboy> they aren't the same size
[12:28:33 CEST] <Wallboy> that's why I was trying to force the aspect to be the same with adding letterbox of pillarbox bars
[12:31:05 CEST] <Wallboy> this is where I got the information on using force_aspect ratio https://superuser.com/questions/547296/resizing-videos-with-ffmpeg-avconv-t…
[12:33:54 CEST] <Wallboy> i used setsar=1 in each of the [0:v] and [2:v] chains and it doesn't seem to have any effect
[12:33:56 CEST] <Wallboy> getting same error
[12:37:04 CEST] <Wallboy> i tried sar=sar=1/1 and now it's shoing the SAR 1:1 does not match SAR 30749:30720
[12:38:29 CEST] <Wallboy> had to put it after force aspect ratio
[12:38:52 CEST] <Wallboy> PogChamp it's working
[12:39:19 CEST] <Wallboy> :D
[12:42:30 CEST] <Wallboy> curious though why SAR would be different for videos for the computer made for monitors. I could understand if the video came from a DVD like you mentioned. Maybe it was just that outro video that had a weird SAR?
[12:43:18 CEST] <durandal_1707> weird sar
[12:44:34 CEST] <Wallboy> I guess setsar=sar=1/1 is just good practice to always have in the chain anyway then?
[12:44:44 CEST] <Wallboy> to avoid those problems
[12:45:11 CEST] <thebombzen> no it's not
[12:45:16 CEST] <thebombzen> because weird SARs like that are uncommon
[12:45:49 CEST] <Wallboy> could it ever hurt things to have it in there then?
[12:46:50 CEST] <Wallboy> i'm gonna run some more tests with different resolution videos to make sure no stretching or anything happens in the meantime
[12:48:54 CEST] <Wallboy> any pointers for adding a crossfade between the two videos? Or am i going down a really deep rabbit hole to get that working... lol
[12:50:00 CEST] <thebombzen> my recommendations are that for what you're doing you probably want to use a NLE
[13:04:29 CEST] <Wallboy> I'm guessing you mean like video editing software? I don't think I can since I need to batch process videos using ffmpeg
[13:04:55 CEST] <Wallboy> https://superuser.com/questions/1001039/what-is-an-efficient-way-to-do-a-vi… i'm reading this now, seems this guy figured it out
[13:42:12 CEST] <durandal_1707> Wallboy: efficient way is to write crossfade filter
[13:52:15 CEST] <Wallboy> lol write my own filter?
[13:52:35 CEST] <Wallboy> i seen acrossfade for audio streams
[14:21:23 CEST] <SouLShocK> I'm trying to detect if my source material is interlaced and I'm rather confused by the output of the idet filter: https://pastebin.com/TJfwH3Tj almost half the frames are progressive
[14:22:07 CEST] <SouLShocK> is that normal for interlaced video?
[14:23:16 CEST] <SouLShocK> I thought it would be 0 progressive frames
[14:24:54 CEST] <kepstin> SouLShocK: it might be telecined, not interlaced?
[14:25:13 CEST] <kepstin> also, parts of the video with low motion can be misdetected
[14:28:10 CEST] <SouLShocK> ah ok
[14:30:17 CEST] <furq> it could also be hybrid film/video
[14:30:26 CEST] <furq> but most likely it's just misdetecting low-motion scenes
[14:34:55 CEST] <DHE> can't check the codec for the interlaced frames bit? (codec permitting)
[14:36:06 CEST] <SouLShocK> ah yeah. silly me, didn't think of that. MediaInfo says "Interlaced. TFF"
[14:36:23 CEST] <furq> what's the source
[14:36:36 CEST] <SouLShocK> XDCAM HD422
[14:37:02 CEST] <SouLShocK> wrapped in mov container
[14:38:30 CEST] <furq> i've not worked with that format but i wouldn't necessarily trust what mediainfo says
[14:38:50 CEST] <furq> e.g. all dvd video is flagged as tff interlaced, even when it's not
[14:39:44 CEST] <furq> with that said, that clip is obviously tff interlaced
[14:39:51 CEST] <furq> at least a large part of it is
[14:40:13 CEST] <furq> and if it's off a camera then i assume the whole thing is
[14:45:13 CEST] <SouLShocK> yeah it's from a camera
[14:45:24 CEST] <SouLShocK> thanks
[14:47:33 CEST] <furq> i mean if the interlace flag is accurate then that should save you a lot of time
[14:47:43 CEST] <furq> you probably want to check that
[14:54:37 CEST] <ritsuka> SouLShocK: xdcam uses a different fourcc for each flavour
[14:54:45 CEST] <ritsuka> you can check that too, or the encoder name if available
[14:54:52 CEST] <ritsuka> your file says XDCAM HD422 1080i50 (50 Mb/s)
[14:56:34 CEST] <SouLShocK> ah good point
[16:26:08 CEST] <termos> my stream is playing well in ffplay but not in the rtmp flash players that i've tried on the web, just getting a black screen but it seems like it's streaming something. Missing some crucial metadata?
[16:33:54 CEST] <marcurling> Hello, how would I change/set audio frame rate (especially if it differs from video one), please?
[17:45:30 CEST] <kepstin> marcurling: audio works in a completely different way from video, attempting to make audio and video "frame" rates the same doesn't make sense
[17:46:46 CEST] <kepstin> marcurling: are you trying to change the audio speeed to fix audio/video sync?
[17:51:00 CEST] <Hfuy> Hello.
[17:51:03 CEST] <kerio> well, audio has frames too
[17:51:08 CEST] <kerio> they're just a bit more frequent than video frames
[17:51:33 CEST] <Hfuy> Is it me or is there no MPEG-3. There's MPEG-2, and MPEG-4. The audio mp3 is part of MPEG-2, as I understand it.
[17:51:43 CEST] <kepstin> yeah, but the frame length/rate is dependent on the codec - most audio codecs have frames that fit a fixed number of samples
[17:52:01 CEST] <kepstin> Hfuy: mp3 is actually "MPEG 1 layer 3"
[17:52:06 CEST] <kepstin> iirc
[17:52:12 CEST] <Hfuy> Oh yes, MPEG-1, you're absolutely right
[17:52:52 CEST] <Hfuy> So what happened to MPEG-3.
[17:53:11 CEST] <Hfuy> Oh. Rolled into MPEG-2.
[17:53:16 CEST] Action: Hfuy should have wiki'd first
[17:53:51 CEST] <teratorn> kepstin: I thought the common parlance was that an audio frame was one sample per channel (?)
[17:53:53 CEST] Action: kepstin notes that MPEG-2 has some updates to the 'mp3' audio format, but it mostly just consists of adding lower bitrate/sample rate modes
[17:55:19 CEST] <Hfuy> I'm writing a technical article about why H.264 (being part of MPEG-4) is notionally better than MPEG-2.
[17:55:53 CEST] <kepstin> teratorn: in audio codecs, a "frame" is a group of samples that are encoded/decoded together, e.g. the DCT is run over the group together
[17:56:03 CEST] <Hfuy> From what I read, it boils down to "more ways to parts of I frames into B frames.
[17:59:15 CEST] <kepstin> Hfuy: don't forget the improved entropy coding, and the ability to do prediction on sub-block partitions
[18:00:29 CEST] <kepstin> the much-increased amount of reference frames allowed helps a fair bit as well.
[18:02:34 CEST] <furq> https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Features
[18:02:38 CEST] <furq> that pretty much covers it
[18:03:31 CEST] <Hfuy> The entropy coding is fairly easy to talk about.
[18:03:37 CEST] <Hfuy> "Magic lossless compression"
[18:03:48 CEST] <kepstin> Hfuy: note that using h264 in baseline or constrained baseline turns off a /lot/ of the new features. iirc it's still better than mpeg2, but not by all that much?
[18:04:03 CEST] <furq> it should still be a lot better than mpeg-2
[18:04:16 CEST] <furq> i'd have thought it'd be quite close to mpeg4
[18:04:35 CEST] <kepstin> hmm, or maybe i was thinking of mpeg4 asp, yeah
[18:04:59 CEST] <Hfuy> When you say "prediction on sub block partitions" are we talking about the motion compensation
[18:05:08 CEST] <Hfuy> or some other sort of prediction
[18:05:18 CEST] <Hfuy> the terminology gets a bit messy
[18:06:08 CEST] <kepstin> Hfuy: it can do both temporal (motion compensated) and spatial predictions in multiple block sizes, and apparently weighted prediction that combines both? :/
[18:06:40 CEST] <Hfuy> (Apropos of nothing, who or what is a Demi Lovato, and how does it compare to an entirely Lovato?)
[18:06:48 CEST] <Hfuy> (I am not a pop culture reference)
[18:07:06 CEST] <marcurling> kepstin no, I'm trying to make some (video) audio play on an old (hard) player (a FAI 'box') which doesn't get updates anymore.
[18:07:48 CEST] <marcurling> I just run a ffmpeg -r 25 : I upload to the player and will tell you ;)
[18:08:25 CEST] <kepstin> marcurling: ok, so, ... "audio frame rate" isn't relevant for that. Sample rate might by, but as long as you're doing either 44.1kHz or 48kHz it should be fine on most players...
[18:08:53 CEST] <kepstin> marcurling: more likely, the issue is that you're using either an audio or video codec that's not supported, or you're using too high of a profile on the video codec
[18:09:31 CEST] <marcurling> Oh, mediainfo tells me audio frame rate is still 43.066 fps (1024 spf) ; will see if it works...
[18:10:29 CEST] <marcurling> and FYI, sample rate is 44.1 so sure to play on any
[18:10:30 CEST] <kepstin> marcurling: that sounds like .. ~23ms audio frames? Hmm. kind of odd, what codec are you using? It had better not be opus, that definitely won't work on an out of date hw player ;)
[18:10:33 CEST] <furq> yeah that doesn't actually mean anything
[18:10:41 CEST] <furq> kepstin: that's standard aac
[18:11:10 CEST] <furq> 1024 samples per block
[18:11:14 CEST] <marcurling> I confirm: aac
[18:11:50 CEST] <furq> but yeah that has absolutely nothing to do with the video framerate
[18:12:05 CEST] <Hfuy> I'm not clear on what spatial prediction means in terms of MPEG-4.
[18:12:32 CEST] <Hfuy> The whole painting-gradients thing is part of that in other standards.
[18:13:14 CEST] <kepstin> Hfuy: spatial prediction just refers to any method of guessing the contents of a block based on the contents of nearby previously decoded blocks
[18:13:27 CEST] <furq> marcurling: the only way to change the "audio framerate" would be to change the sample rate
[18:13:47 CEST] <furq> lc-aac is always 1024 samples per block, so as long as it's 44.1khz then it'll always be 43.066 "fps"
[18:13:49 CEST] <Hfuy> Ah. This is how we get those lovely skies that should be graduated but look like a series of squares.
[18:14:01 CEST] <furq> and i hope the amount of scare quotes i used there will convince you that this information doesn't actually mean anything
[18:14:27 CEST] <kepstin> Hfuy: well, that'll only happen if the codec decides to use dc prediction and doesn't have enough bitrate to encode residuals to make it look good...
[18:14:48 CEST] <Hfuy> Residuals?
[18:14:52 CEST] Action: Hfuy thought he knew more about this
[18:16:06 CEST] <marcurling> ok, thank you/got it all.
[18:17:25 CEST] <kepstin> Hfuy: "residuals" is the difference between what the predicated block is, and what it's actually supposed to look like.
[18:17:45 CEST] <kepstin> Hfuy: The way codecs work is the encoder says "build a block based on these nearby blocks/ blocks from other frames", picking values to make it look as close as possible to the original. Then it takes the difference between the original video and the prediction, and says "and make these little changes to it afterwards"
[18:18:06 CEST] <kepstin> but depending on bitrate, sometimes it doesn't have room to encode all the remaining differences, so it ignores some
[18:18:13 CEST] <kepstin> and then you get a "lossy" codec :)
[18:18:19 CEST] <Hfuy> Oh, right.
[18:18:55 CEST] <Hfuy> My knowledge runs out in I-frame DCT stuff like ProRes.
[18:19:01 CEST] <Hfuy> I'm broadly aware of motion compensation.
[18:25:02 CEST] <kepstin> so, since the encoding of residuals is the big part - they're hard to compress, entropy limits and all that, modern video codecs get better by figuring out how to encoder fewer of them. Either by improving the quality of the prediction, or by improving psychological visual modelling to figure out which missing/wrong data people wouldn't notice as much
[18:27:18 CEST] <kepstin> h264 (and hevc) add a lot more choices the encoder can make to give better predictions, and encoders like x264 have done work in the psy optimization field to improve efficiency within an existing codec.
[18:27:40 CEST] <Hfuy> One thing I notice is that they're getting better at encoding fades to black.
[18:27:49 CEST] <Hfuy> My impression was that MPEG-1 didn't have any way of saying "like this, but darker"
[18:29:36 CEST] <Hfuy> This is a useful overview: https://www.vcodex.com/an-overview-of-h264-advanced-video-coding/
[18:37:39 CEST] <marcurling> Guys, do you prefer/recommend h264 (default) or x264 encoding?
[18:38:04 CEST] <kepstin> marcurling: by default ffmpeg will choose libx264 to encode h264 video
[18:38:04 CEST] <james999> Hfuy: nice overview, reading it now
[18:38:22 CEST] <kepstin> Hfuy: I think that sort of fade thing is done in h264 using the weighted prediction stuff - it could encode a block as "take this block from frame n-1, and take this DC block that's all black, and mix them 30%-70%"
[18:38:29 CEST] <kepstin> obviously it's more complicated than that
[18:39:13 CEST] <kepstin> I think weighted predictions can also be used to encode crossfades between 2 scenes?
[18:43:46 CEST] <Hfuy> Apparently weighted prediction can include explicit scaling and offset, so you absolutely can say "this, but darker."
[18:44:02 CEST] <kepstin> huh, cool.
[18:44:58 CEST] <marcurling> ty again kepstin
[18:45:43 CEST] <Hfuy> I believe you can also declare a block to be a specific colour, so it can actually encode flat colour with precision.
[18:45:53 CEST] <Hfuy> Although it'll break terribly around the edges of objects against that coloru.
[18:48:51 CEST] <Hfuy> I'm not quite clear on where the motion tracking stuff comes in. The GOP arrives. We create an I-frame using DCT and the various prediction modes.
[18:51:30 CEST] <Hfuy> We then test the following frame for potential matches of its picture information with picture information from the I-frame.
[18:51:35 CEST] <Hfuy> ...right?
[18:54:33 CEST] <james999> idk Hfuy but if you come across any more good documents or books on h264 let me know
[18:54:58 CEST] <james999> tutorial might be a better word. we already discussed the lack of prospects for books in here
[18:56:07 CEST] <Hfuy> Need someone from the x264 staff on it really.
[18:56:17 CEST] <Hfuy> I'm a technical writer, but I haven't the background.
[19:04:31 CEST] <james999> yeah
[19:04:48 CEST] Action: james999 idly wonders which FOSS projects have the most comprehensive docs from the team itself
[19:07:29 CEST] <Hfuy> FOSS projects have docs?
[19:08:36 CEST] <Hfuy> It's a notable irony that a breed of software specifically designed to be shared and reused tends to simultaneously be the worst-documented and most impenetrable code on the planet.
[19:10:54 CEST] <georgios> i have problems with transcoding h264 with with vdpau and va. my gpu is integrated. AMD A10 8xxx
[19:11:00 CEST] <james999> yeah well apparently I wasn't the first to realize that. ;)
[19:11:43 CEST] <Hfuy> I've tried repeatedly to write a .net wrapper for libav.
[19:11:48 CEST] <Hfuy> Good bloody luck.
[19:11:52 CEST] <georgios> [h264_vdpau @ 0x56161221ff40] decode_slice_header error
[19:11:53 CEST] <georgios> [h264_vdpau @ 0x56161221ff40] no frame!
[19:11:55 CEST] <georgios> Error while decoding stream #0:0: Invalid data found when processing input
[19:12:00 CEST] <Hfuy> The soducmentation is essentially "the source code to ffmpeg.exe"
[19:12:57 CEST] <JEEB> not the examples? :P also even I who consider myself oblivious to the whole external APIs could demux and decode stuff :D
[19:13:15 CEST] <JEEB> ffmpeg.c IMHO would be an awful example
[19:13:35 CEST] <JEEB> it and its related files just sprawl random hacks that nobody knows if they're actually needed
[19:13:38 CEST] <JEEB> among other things
[19:13:44 CEST] <georgios> Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'
[19:14:04 CEST] <JEEB> Hfuy: this is old API usage but I deffo could figure this out https://github.com/jeeb/matroska_thumbnails/blob/master/src/matroska_thumbn…
[19:14:05 CEST] <james999> JEEB: which is precisely what happens when things aren't documented properly lol
[19:14:07 CEST] <Hfuy> The issue with writing a .net wrapper is that a lot of the types the API handles are rather large and complex structures which I suspect (I don't know) change rather frequently.
[19:14:15 CEST] <Hfuy> This can be handled but without better docs than exist it's a nightmare.
[19:14:21 CEST] <james999> have you heard the story of the cow poop saddles?
[19:14:38 CEST] <JEEB> james999: yes the documentation of that stuff is awful
[19:15:10 CEST] <JEEB> Hfuy: I *love* rust's bindgen for generating stuff out of the FFmpeg headers I'm using during build time
[19:15:17 CEST] <JEEB> has worked nicely for me so far
[19:16:38 CEST] <JEEB> james999: also all the awfulness in ffmpeg.c is why I try to get people to make their own API clients as soon as they get it validated that they can do what they want with the libraries (with ffmpeg.c or otherwise)
[19:17:18 CEST] <Hfuy> This is how you call into a native DLL in C#. https://pastebin.com/3FfyDKBE
[19:17:19 CEST] <JEEB> because ffmpeg.c tries to do /everything/ and handle completely broken stuff as well (although the latter also matches some of the demuxers/decoders)
[19:17:22 CEST] <Hfuy> Imagine doing that for libavcodec.
[19:17:28 CEST] <Hfuy> ALL of libavcodec.
[19:17:49 CEST] <JEEB> yes. that is something you want to generate based on your headers during build time
[19:17:58 CEST] <JEEB> I think VLC had something written in python for python
[19:18:03 CEST] <Hfuy> That's possible in theory for some simple types.
[19:18:32 CEST] <furq> that doesn't seem too bad
[19:18:42 CEST] <Hfuy> It's not too bad if you're just dealing with pointers and basic numeric types.
[19:18:46 CEST] <JEEB> if you have proper stuff like bindgen it should generally just work
[19:18:54 CEST] <furq> i meant that binding example
[19:19:05 CEST] <furq> there are much more cumbersome binding apis
[19:19:15 CEST] <Hfuy> If you're dealing with whatever damnation-spawned hunk of awfulness sws_getContext returns, for instance, it quickly becomes about as much fun as sucking off Satan.
[19:19:17 CEST] <JEEB> but yes, if you cannot read headers to get the data types of enums
[19:19:26 CEST] <james999> ah ok finally found the source for the story. it was supposedly british warplanes had to rub camel dung into the seat leather and nobody knew why. Then an old guy said it was because in Africa they used camels and the leather freaked them out so they rubbed camel dung.
[19:19:29 CEST] <JEEB> oh, sws
[19:19:32 CEST] <james999> The lesson is not to blindly follow tradition
[19:19:35 CEST] <JEEB> yes that is a special type of <beep>
[19:19:38 CEST] <georgios> basically accelerated decoding and encoding each gives each own error
[19:19:56 CEST] <Hfuy> I have no idea what an AVCodecContext is and I don't want to find out.
[19:19:58 CEST] <furq> how do you know how much fun it is to suck off satan
[19:20:07 CEST] <Hfuy> furq: I've done work for the BBC.
[19:20:08 CEST] <Hfuy> :)
[19:20:19 CEST] <JEEB> Hfuy: well that one is just a problem in doing bindings tbqh
[19:20:28 CEST] <JEEB> that's why you use llvm-based stuff to automatize it for you
[19:20:29 CEST] <furq> in what capacity
[19:20:37 CEST] <Hfuy> furq: Freelance thank god.
[19:20:45 CEST] <furq> i meant what role
[19:20:51 CEST] <JEEB> Hfuy: https://github.com/jeeb/ffmpeg_ffi_test/blob/master/build.rs#L17
[19:20:56 CEST] <JEEB> I halleluyah'd
[19:21:12 CEST] <Hfuy> JEEB: It's a problem in doing bindings if you can go to msdn and read all about it. It's a hideous nightmare of pain and torment if you are relying on FOSS-standard docs.
[19:21:13 CEST] <JEEB> that generates a bindings.rs
[19:21:16 CEST] <furq> hallelujah
[19:21:23 CEST] <furq> we pronounce that j as a y because english is very consistent
[19:21:44 CEST] <JEEB> well for bindings you wouldn't be using the docs anyways
[19:22:01 CEST] <JEEB> at least I cannot see any reason to do it rather than just parse the headers
[19:22:03 CEST] <Hfuy> well that's just your FOSS experience talking.
[19:22:09 CEST] <Hfuy> If the docs were sane, you could.
[19:22:13 CEST] <JEEB> eh
[19:22:13 CEST] <Hfuy> Otherwise.. eheh.
[19:22:20 CEST] <JEEB> only the headers define the structures
[19:22:20 CEST] <Hfuy> "the source code is the docs." no thanks.
[19:22:28 CEST] <JEEB> yes, the source code is not the docs
[19:22:31 CEST] <Hfuy> Source code is not documentation ever.
[19:22:34 CEST] <furq> yeah i don't know why you'd use the docs for binding generation
[19:22:40 CEST] <JEEB> but we're talking about the BINDINGS generation
[19:22:42 CEST] <furq> for actually writing something by hand, sure
[19:22:56 CEST] <JEEB> bindings specifically are C types that you want to (hopefully machinally) parse out of headers
[19:22:59 CEST] <james999> best documentation is x += 1; //Increment x by one
[19:23:03 CEST] <furq> or for writing something that uses the api rather than just binding it
[19:23:08 CEST] <Hfuy> If it's any consolation, sometimes binding internal Microsoft stuff is evil.
[19:23:24 CEST] <JEEB> I've done manual bindings and it sucks unless the API you're writing against is not gonna change. ever.
[19:23:26 CEST] <furq> i don't think you need to console us because we're not using microsoft apis
[19:23:27 CEST] <Hfuy> There's a specific datatype in .net best described as "pointer to System.Threading.NativeOverlapped instance"
[19:23:36 CEST] <furq> i'm pretty happy about it
[19:23:49 CEST] <Hfuy> which is used solely in platform invokes of the WriteFile function in kernel32.dll
[19:24:00 CEST] Action: Hfuy looks very mournful
[19:24:16 CEST] <JEEB> anyways, rather than having an issue with FFmpeg IMHO you're having an issue with unstable structures or APIs.
[19:24:22 CEST] <furq> at least it's not event tracing for windows
[19:24:29 CEST] <Hfuy> furq: speak not its name :(
[19:24:30 CEST] <JEEB> the only way to deal with that is to generate the bindings during build time
[19:24:41 CEST] <JEEB> instead of whacking them yourself
[19:25:01 CEST] <Hfuy> JEEB: I don't mind how unstable the structures are if there's a reliable set of docs and ways to get updates when they change
[19:25:13 CEST] <Hfuy> This being FOSS, there isn't.
[19:25:15 CEST] <furq> the way to get updates is to parse the headers again
[19:25:29 CEST] <Hfuy> Source code is not docs.
[19:25:33 CEST] <JEEB> ...
[19:25:42 CEST] <furq> didn't we already cover this
[19:25:46 CEST] <JEEB> once again, why the FUCK would you make the BINDINGS out of DOCS
[19:26:02 CEST] <JEEB> even if they were stable and the API/structs wouldn't change
[19:26:03 CEST] <furq> i can make it a similar-length soundbite if it helps
[19:26:05 CEST] <JEEB> what if there's a goddamn typo
[19:26:07 CEST] <furq> binding generation is not programming
[19:26:07 CEST] <Hfuy> Mainly so you had half a clue what was going on.
[19:26:52 CEST] <Hfuy> I think that avformat and avcodec are probably very good examples of where simply auto-generating a bunch of p/invokes that sort of sound a bit like the native API calls is a totally inadequate way to create a binding.
[19:27:12 CEST] <Hfuy> I mean what the hell actually is an AVFormatContext, and how is it supposed to work?!
[19:27:13 CEST] <JEEB> yes, but on the lowest layer you need to link against the structures
[19:27:23 CEST] <furq> yeah
[19:27:33 CEST] <JEEB> or are you actually herping a derp that you don't /understand how the create the higher level wrapper/?
[19:27:34 CEST] <furq> you're welcome to create a high-level wrapper for the bindings
[19:27:38 CEST] <furq> but you still need the bindings
[19:27:50 CEST] <JEEB> rather than not being able to make the base bindigns
[19:27:52 CEST] <JEEB> *bindings
[19:28:01 CEST] <Hfuy> You are aware, of course, that C# has no type called "AVFormatContext."
[19:28:04 CEST] <Hfuy> Nor will it ever.
[19:28:18 CEST] <furq> sounds like you'll be needing some bindings then
[19:28:20 CEST] <Hfuy> Said structure would need to be carefully rebuilt.
[19:28:56 CEST] <JEEB> nor does python have any of those https://github.com/jeeb/murphy/blob/fmbt_work/tests/mrp_libresource.py#L146
[19:29:10 CEST] <Hfuy> I'm fairly sure that's not something you could do without some manual intervention and understanding of what the structure is and how it works.
[19:29:40 CEST] <JEEB> no, the structure you would first make private and then you'd create your higher level wrapper around it. and yes, the latter requires good understading
[19:29:44 CEST] <Hfuy> Especially if it changes a lot, which I would assume it does.
[19:29:45 CEST] <JEEB> in which the docs play a role
[19:31:03 CEST] <Hfuy> From what I've seen, avcodec and avformat sort of combine to create a rather chaotic equivalent of DirectShow, structurally. Only DirectShow can step frames backwards :)
[19:32:32 CEST] <JEEB> also AVFormatContext looking at https://ffmpeg.org/doxygen/trunk/structAVFormatContext.html#details seems like just a general structure for information on the input. not final as it can change during runtime (mpeg-ts for example can have streams come up in the middle etc)
[19:33:03 CEST] <furq> the person writing the bindings doesn't need to give a shit what AVFormatContext::io_repositioned is
[19:33:06 CEST] <furq> you just need to know that it's an int
[19:33:19 CEST] <Hfuy> See, that's what I mean.
[19:33:21 CEST] <Hfuy> THAT is the docs.
[19:33:29 CEST] <furq> the person using the bindings (or writing a high-level wrapper) needs to care what that is
[19:33:33 CEST] <furq> potentially
[19:33:50 CEST] <Hfuy> This is how you actually write API documentation: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365747(v=vs.85).…
[19:33:52 CEST] <JEEB> well it's clear at this point that Hfuy wants to try and write a C#-style proper higher level wrapper
[19:33:58 CEST] <JEEB> and not just bind
[19:34:09 CEST] <Hfuy> Well once you've got stable bindings the API is another issue.
[19:34:36 CEST] <JEEB> if you still go around with the word "bindings" meaning something else than what you're actually binding against the C API I'll hit you over TCP
[19:34:56 CEST] <JEEB> when you have the C structures in your code what you are writing at that point is a wrapper
[19:34:56 CEST] <furq> writing a high-level wrapper for libav* seems like a lot of fun
[19:35:02 CEST] <furq> and you can substitue whatever word you want for "fun"
[19:35:13 CEST] <furq> you might want to keep the first two letters
[19:35:26 CEST] <Hfuy> I'd substitute a phrase like "as much fun as a tornado full of razor blades while it's raining lemon juice. On fire."
[19:35:36 CEST] <JEEB> anyways, how people generally do it is they have their use case
[19:35:41 CEST] <JEEB> and they write the library for it
[19:35:50 CEST] <JEEB> like ffms2 wrote a library for frame-exact access
[19:35:57 CEST] <furq> yeah i'm sure it's reasonable if you're wrapping some specific functionality
[19:36:08 CEST] <furq> wrapping the entire thing is some kind of sisyphean nightmare
[19:36:32 CEST] <Hfuy> My interest was in creating h.264 proxies from an SDI input card while simultaneously writing uncompressed DPX.
[19:36:52 CEST] <Hfuy> I had my own DPX code, it would be nice to use the av libraries to do the 264 and perhaps some burn-ins.
[19:36:59 CEST] <Hfuy> Theoretically it is possible to do that. Theoretically.
[19:37:18 CEST] <JEEB> avformat/avcodec for better or worse give you a fuckton of functionality and trying to make a generalized wrapper either leads to it just being the bindings
[19:37:31 CEST] <JEEB> or just fails
[19:37:46 CEST] <JEEB> that's my current understanding although I haven't read what on earth the ffmpeg crate people from rust did
[19:38:17 CEST] <Hfuy> Yes it's rather like trying to create a completely generic ffmpeg front end.
[19:38:29 CEST] <Hfuy> Even making it do one thing is not particularly easy.
[19:38:46 CEST] <furq> idk how .net does it, but if you're doing something that specific then you probably don't even need to care about what half these structs are at all
[19:38:47 CEST] <Hfuy> Most of the example code that's out there is a) extremely out of date, and b) only deals with file conversion.
[19:39:10 CEST] <JEEB> hmm so the rust people do it like this https://github.com/meh/rust-ffmpeg/blob/master/examples/transcode-audio.rs
[19:39:11 CEST] <Hfuy> It's presumably possible to take a pointer full of picture and get avcodec/avformat to throw the frames into an mp4 file.
[19:39:20 CEST] <furq> at least with FFIs i've used, if you don't need to access fields then you can just treat it as an opaque pointer
[19:39:23 CEST] <Hfuy> There is no documentation for doing that I could find.
[19:39:54 CEST] <JEEB> what I did was pretty much the opposite of that
[19:40:01 CEST] <JEEB> IStream -> demuxer -> decoder -> raw BMP
[19:40:13 CEST] <Hfuy> Ha there's a BMP writer in .net
[19:40:29 CEST] <furq> try!(try!(try!(filter.output("in", 0)).input("out", 0)).parse(spec));
[19:40:30 CEST] <JEEB> oh, and I did do swscale but I would just use zscale/zimg itself now
[19:40:32 CEST] <furq> did mark morrison write this
[19:40:47 CEST] <JEEB> furq: seems like they're lazy at error handling :P
[19:40:57 CEST] <furq> i don't think you're enough of a 90s kid to get that
[19:41:09 CEST] <JEEB> yea, I was born in the 1980s
[19:41:12 CEST] <furq> this is why you'll never be employed by buzzfeed
[19:41:36 CEST] <furq> if you were born after 1985 then you're still a 90s kid in my opinion
[19:41:48 CEST] <JEEB> ok, then I enter that area
[19:42:01 CEST] <JEEB> but I lived in Northern Europe and Soviet Union so welp
[19:42:24 CEST] <furq> was "return of the mack" not a big hit in leningrad then
[19:42:30 CEST] <james999> Hfuy: that msdn thing says minimum required system is windows xp. for a function named "WriteFile"???
[19:42:40 CEST] <JEEB> james999: they always update the docs
[19:42:41 CEST] <Hfuy> I am sitting ten feet from someone who grew up in Bulgaria.
[19:42:49 CEST] <Hfuy> She has no love for the soviet world.
[19:43:21 CEST] <Hfuy> james999 I would assume that the documentation given is probably fully only to XP up.
[19:43:53 CEST] <james999> yeah. it's just we were talking in here about win98 and NT and all that. i would have assumed they still had docs applying to those.
[19:43:54 CEST] <JEEB> anyways, Hfuy - https://ffmpeg.org/doxygen/trunk/structAVFrame.html#details . if you have your raw stuff aligned well enough you can just create one of these and feed them to the encoder
[19:44:01 CEST] <james999> e.g. something basic in kernel32 like "WriteFile"
[19:44:05 CEST] <JEEB> (or filter them before)
[19:44:39 CEST] <JEEB> or wait, was AVFrame the raw one :P I remember it being
[19:44:52 CEST] <JEEB> yea, AVPacket is the "what comes out of demuxer"
[19:45:07 CEST] <JEEB> you then get an AVPacket from the encoder and feed that to a muxer
[19:48:34 CEST] <JEEB> yea, you can either feed the buffer yourself or use av_frame_get_buffer to have the library allocate the needed space for you
[19:48:55 CEST] <Hfuy> JEEB: You can create one of those if you have the binding to do it.
[19:49:26 CEST] <Hfuy> And you will need to create a lot more than exactly one AVFrame instance to actually encode stuff to a file.
[19:49:28 CEST] <Hfuy> a LOT more.
[19:49:39 CEST] <JEEB> well, d'uh
[19:49:49 CEST] <furq> is making two avframes more difficult than making one
[19:50:09 CEST] <JEEB> anyways, roughly this amount I guess :P https://ffmpeg.org/doxygen/trunk/encode_video_8c-example.html#_a3
[19:50:25 CEST] <JEEB> except it skips the muxing part
[19:51:36 CEST] <JEEB> Hfuy: if you cannot programmatically create bindings for C# (around which you write your "proper" C# style wrapper) then just write a small, limited thing around the parts of the libraries that you need
[19:51:42 CEST] <JEEB> and then create bindings against that
[19:51:52 CEST] <Hfuy> The reason for doing this was that then we'd have the proxy available for people to watch immediately after the recording finished, rather than some minutes later as would be the case if we simply used ffmpeg
[19:51:55 CEST] <Hfuy> In the end, we just used ffmpeg.
[19:52:00 CEST] <JEEB> but at this point you have clearly given up
[19:52:15 CEST] <JEEB> so I should just fucking stop looking at this channel and wasting my fucking time
[19:52:17 CEST] <Hfuy> Believe me, I did not quit early on this.
[19:52:46 CEST] <Hfuy> The demo code you cite does, if you look at it, simply use a dummy image, so it isn't really demonstrating much.
[19:56:04 CEST] <JEEB> IT DEMONSTRATES A FUCKING WRITE INTO A FUCKING BUFFER YOU FUCKING IMBECILE
[20:00:52 CEST] <Hfuy> ...calm down?
[20:23:03 CEST] <SviMik> hi
[20:23:07 CEST] <SviMik> I just stumbled into wrong colorspace conversion when used "format=rgba" as part of a complex filter
[20:23:16 CEST] <SviMik> Then I did a simple check making a png screenshot. And I was surprised how different it is comparing with snapchot taken with VLC
[20:23:23 CEST] <SviMik> http://svimik.com/screencap_by_ffmpeg.png
[20:24:03 CEST] <SviMik> how to explain that?
[20:24:12 CEST] <SviMik> the command used: ffmpeg -ss 30.5 -i tmp.flv -vframes 1 out.png
[20:24:42 CEST] <SviMik> and for VLC: Video - Snapshot
[20:32:40 CEST] <mccc> Hi, I'm having a problem with ffmpeg recording audio from alsa to AAC in MPEG2-TS using libfdk_aac. I have a couple audio files, about 20kb each, along with details I can put on pastebin. Is there a recommended place I can host the audio files for my question? Thank you.
[20:45:33 CEST] <thebombzen> SviMik: the VLC timecode might be wrong
[20:45:55 CEST] <thebombzen> also perhaps the rounding is different. if 30.5 is between frames then VLC might round up and ffmpeg might round down (or vice versa)
[20:46:14 CEST] <SviMik> thebombzen I mean the colors are wrong. of course the timig is not perfect
[20:46:38 CEST] <SviMik> it was taken manually, just pausing
[20:46:51 CEST] <thebombzen> the colors are probably because VLC does filtering
[20:47:00 CEST] <thebombzen> or something like that
[20:47:06 CEST] <thebombzen> it also could be a color range issue
[20:47:26 CEST] <thebombzen> yuv full/partial range
[20:47:41 CEST] <thebombzen> did you try it in mpv?
[20:48:32 CEST] <SviMik> mpv? never heard of it
[20:51:29 CEST] <james999> Video player based on MPlayer/mplayer2. Contribute to mpv development by creating an account on GitHub.
[20:51:37 CEST] <james999> https://github.com/mpv-player/mpv
[20:52:04 CEST] Action: james999 ponders an irc bot that automatically retrieves the URL Title...
[20:58:53 CEST] <SviMik> thebombzen I have managed to make two differently looking screenshots by the same ffmpeg :)
[20:58:55 CEST] <SviMik> ffmpeg -ss 30.5 -i tmp.flv -vframes 1 out1.png
[20:58:55 CEST] <SviMik> ffmpeg -i tmp.flv tmp.mkv && ffmpeg -ss 30.5 -i tmp.mkv -vframes 1 out2.png
[20:59:07 CEST] <SviMik> out2.png lools like the one VLC did
[20:59:33 CEST] <thebombzen> what version of ffmpeg are you using
[21:00:00 CEST] <SviMik> ffmpeg version N-71497-gedbb9b5
[21:00:50 CEST] <SviMik> perhaps built from sources
[21:01:19 CEST] <thebombzen> that's from 2015
[21:01:26 CEST] <thebombzen> I recommend upgrading to git master
[21:01:32 CEST] <thebombzen> or at least something that isnt' two years old
[21:03:10 CEST] <SviMik> okay, will try with git master
[21:03:14 CEST] <james999> idk i keep wanting to write -acodec libaac instead of -acodec aac
[21:10:41 CEST] <james999> hmm
[21:11:00 CEST] <james999> someone is asking me a question about compiling intel qsv support into ffmpeg on linux kernel 4+
[21:11:22 CEST] <james999> apparently this guide on github is for kernel 3.14.5 and asks you to patch it for the compilation to succeed: https://gist.github.com/Brainiarc7/dd9e9b62bddb53b771b3a0754e352f53
[21:16:08 CEST] <furq> i don't think you need the qsv stuff any more on linux
[21:16:14 CEST] <furq> it should work through vaapi
[21:19:20 CEST] <geosmin> would 'ffmpeg -i foo.aiff bar.wav' be lossless?
[21:19:30 CEST] <geosmin> files are much smaller (~30%)
[21:19:40 CEST] <c_14> maybe
[21:19:46 CEST] <c_14> depends on bit depth of input format
[21:20:22 CEST] <james999> furq: vaapi is a way of doing coding/decoding with hardware directly and supports intel qsv?
[21:20:52 CEST] <furq> yes
[21:21:02 CEST] <geosmin> c_14: how would i check?
[21:21:03 CEST] <james999> wild
[21:21:23 CEST] <furq> geosmin: wav defaults to 16-bit pcm, so i guess your input is 24-bit
[21:21:26 CEST] <c_14> geosmin: ffprobe on the input
[21:21:48 CEST] <furq> if it is then use -c:v pcm_s24le
[21:21:52 CEST] <furq> er
[21:21:52 CEST] <furq> -c:a
[21:22:48 CEST] <james999> furq: is ffmpeg use of va api something like "check if hardware exists, if not use software codecs"?
[21:23:14 CEST] <furq> no
[21:24:11 CEST] <geosmin> furq, c_14: Stream #0:0: Audio: pcm_s16be, 44100 Hz, 2 channels, s16, 1411 kb/s
[21:25:21 CEST] <c_14> hmm, nah that's 16bit
[21:26:13 CEST] <geosmin> hmm, hmm, bitrate went from 1300 to 1000. so lossy then?
[21:26:33 CEST] <furq> that seems wrong
[21:27:07 CEST] <c_14> sample rate?
[21:27:12 CEST] <c_14> nah 44.1 should be default
[21:27:14 CEST] <furq> yeah
[21:27:39 CEST] <furq> the only conversion that should be happening there is from big endian to little endian
[21:27:44 CEST] <c_14> it shouldn't drop a channel either
[21:27:51 CEST] <c_14> You could try -c:a pcm_s16be ?
[21:27:51 CEST] <furq> dropping a channel would be 700kbps
[21:27:59 CEST] <furq> does wav support big endian
[21:28:11 CEST] <c_14> good question
[21:28:14 CEST] <furq> it does not
[21:28:22 CEST] <geosmin> is aiff wav?
[21:28:26 CEST] <furq> no
[21:28:29 CEST] <james999> no
[21:28:30 CEST] <geosmin> this is aiff (to flac)
[21:28:33 CEST] <geosmin> not wav
[21:28:34 CEST] <furq> ...
[21:28:45 CEST] <furq> well there's your answer
[21:28:57 CEST] <james999> aiff is codec, wav is container
[21:29:03 CEST] <furq> aiff is a container
[21:29:16 CEST] <geosmin> fwiw i never said wav :{
[21:29:20 CEST] <geosmin> :P*
[21:29:31 CEST] <furq> 20:19:20 ( geosmin) would 'ffmpeg -i foo.aiff bar.wav' be lossless?
[21:29:45 CEST] <geosmin> oh crap, my bad
[21:29:55 CEST] <james999> well shit wikipedia, why u say it format
[21:30:07 CEST] <geosmin> i meant foo.aiff > foo.flac
[21:30:12 CEST] <james999> https://en.wikipedia.org/wiki/Pulse-code_modulation
[21:30:30 CEST] <c_14> And yeah, flac is compressed aiff isn't so yeah
[21:30:46 CEST] <thebombzen> how about -c copy
[21:30:54 CEST] <geosmin> so the conversion was lossless?
[21:31:06 CEST] <geosmin> even considering the 1.3k to 1k bitrate?
[21:31:10 CEST] <c_14> should be yeah
[21:31:16 CEST] <thebombzen> geosmin: have you ever seen a zip file?
[21:31:20 CEST] <thebombzen> that compressed things?
[21:31:52 CEST] <thebombzen> bitrate and quality aren't the same thing
[21:31:54 CEST] <geosmin> sure, but i would imagine ffprobe's output to be the uncompressed value
[21:31:59 CEST] <thebombzen> why would it
[21:32:01 CEST] <furq> ^
[21:32:11 CEST] <thebombzen> the uncompressed bitrate is always going to be the same
[21:32:18 CEST] <furq> that would make as much sense as it showing the uncompressed bitrate for mp3
[21:32:19 CEST] <thebombzen> which makes it an extremely useless number
[21:32:39 CEST] <thebombzen> all 16-bit 48 kHz files in stereo are 1536 kb/s
[21:32:47 CEST] <thebombzen> that number doesn't actually tell you anything you didn't know
[21:33:03 CEST] <thebombzen> uncompressed, that is. the compressed bitrate is what really matters
[21:33:14 CEST] <geosmin> ah, interesting
[21:33:15 CEST] <thebombzen> because it's the number of bits of information in the file required to encode one second of audio
[21:33:51 CEST] <thebombzen> bitrate is exactly what it sounds like. it's the number of bits used to encode the audio per second
[21:33:53 CEST] <furq> you can always derive the uncompressed bitrate of anything from its properties
[21:33:57 CEST] <thebombzen> i.e. bits per second
[21:34:14 CEST] <furq> as soon as i typed that i remembered vfr video exists
[21:34:23 CEST] <furq> but you get the idea
[21:35:43 CEST] <mccc> Hello, I'm trying to record using ffmpeg from an ALSA sound card in to AAC within an MPEG-2 TS container for HLS. When I play back the audio (on VLC for Windows) it seems to play about 5% - 10% slower than it should. I have details at https://pastebin.com/4s2FmWzp and short audio files I can share.
[21:36:16 CEST] <mccc> Something interesting, although I'm using ffmpeg to record 2 second segments, when I look at one of the segments in ffprobe, it shows me: Duration: 00:00:01.71
[21:39:13 CEST] <SviMik> thebombzen upgraded to git master, and the bug is still there...
[21:39:37 CEST] <SviMik> idk what's happening
[21:39:38 CEST] <thebombzen> probably a colorspace thing
[21:39:43 CEST] <thebombzen> post the full command and output
[21:39:46 CEST] <thebombzen> full output
[21:39:51 CEST] <thebombzen> or wait lemme use furqbot
[21:40:03 CEST] <furq> that's not my bot
[21:40:12 CEST] <thebombzen> which one is yours then
[21:40:58 CEST] <furq> !source mandelbrot
[21:40:58 CEST] <nfobot> furq: http://ffmpeg.org/ffmpeg-filters.html#mandelbrot
[21:41:01 CEST] <furq> that one
[21:41:58 CEST] <furq> also someone earlier mentioned a bot which prints the page title of urls pasted in here
[21:42:01 CEST] <furq> please don't do this
[21:42:48 CEST] <furq> pretty much don't ever make a bot which responds when not specifically requested to
[21:44:59 CEST] <SviMik> thebombzen here is how I made the first snapshot: http://svimik.com/ffmpeg_snapshot1.txt
[21:45:15 CEST] <SviMik> thebombzen here I have re-encoded it and made it again: http://svimik.com/ffmpeg_snapshot2.txt
[21:45:57 CEST] <SviMik> thebombzen and the colors are very different
[21:46:11 CEST] <furq> that's doing a colourspace conversion
[21:46:23 CEST] <furq> oh nvm no it isn't
[21:47:19 CEST] <SviMik> both videos are yuvj420p h264
[21:48:38 CEST] <SviMik> in VLC both tmp.flv and tmp.mkv looks exactly the same
[21:49:42 CEST] <SviMik> but ffmpeg somehow screws the colors when taking png from tmp.flv
[21:51:05 CEST] <BtbN> try jpeg vs. mpeg yuv color spaces
[21:52:52 CEST] <SviMik> BtbN just export to .jpg? or need to specify something?
[21:53:05 CEST] <BtbN> There's some parameter for that
[21:53:23 CEST] <BtbN> The source is some h264 video?
[21:53:28 CEST] <SviMik> yes
[21:53:37 CEST] <furq> if you're reencoding then do it with -pix_fmt yuv420p
[21:54:00 CEST] <BtbN> Could try adding -pix_fmt yuvj420p as input parameter.
[21:54:18 CEST] <BtbN> There's also some more modern parameters for that
[21:54:41 CEST] <furq> why would you need to do that
[21:54:53 CEST] <SviMik> furq why? isn't it logical to preserve colorspace?
[21:55:16 CEST] <furq> 20:52:52 ( SviMik) BtbN just export to .jpg? or need to specify something?
[21:55:18 CEST] <furq> in response to that
[21:55:21 CEST] <furq> i'm not saying it's a good idea
[21:55:30 CEST] <SviMik> ah
[21:55:48 CEST] <furq> maybe vlc is converting it to yuv420p before taking the screenshot
[21:55:58 CEST] <furq> vlc isn't known for wise choices
[21:57:32 CEST] <SviMik> well, I have tried just .jpg, without extra parameters, and it produced the same picture from both files
[21:59:22 CEST] <SviMik> so, what we have: 1) flv to png - colors are screwed 2) flv to jpg - colors are ok 3) mkv to png - colors are ok 4) mkv to jpg - colors are ok
[22:00:05 CEST] <furq> wait
[22:00:11 CEST] <furq> is 3 a typo
[22:00:27 CEST] <furq> if the mkv is full range then that makes no sense at all
[22:00:33 CEST] <BtbN> flv probably lacks color space information, while mkv does carry them
[22:00:46 CEST] <furq> ffmpeg is still detecting it as full range according to that paste
[22:01:22 CEST] <BtbN> Well, maybe it isn't full range though?
[22:01:23 CEST] <SviMik> no. it's what we have started with. when I re-encoded from flv to mkv - the png screenshot was ok from mkv, and screwed from the source flv file
[22:01:42 CEST] <SviMik> jpg is ok from both files
[22:01:59 CEST] <furq> if it wasn't then presumably the mkv conversion would look fucked
[22:02:16 CEST] <furq> although isn't the pixel format part of the stream
[22:02:45 CEST] <SviMik> flv is the source. if it lacks something - how it appeared in mkv?
[22:07:51 CEST] <james999> <furq> pretty much don't ever make a bot which responds when not specifically requested to
[22:08:00 CEST] <james999> yeah now that I think about it that's a good idea
[22:12:36 CEST] <SviMik> there's something different with exported png files: http://svimik.com/ffmpegpngformats1.png
[22:13:18 CEST] <SviMik> chromaticities? gamma? how? what? what for?
[22:13:55 CEST] <SviMik> what ffmpeg tried to do with that?
[22:16:12 CEST] <BtbN> it probably copies the chroma information from the source file
[22:17:41 CEST] <SviMik> how to discard this and make just normal screenshot?
[22:18:42 CEST] <BtbN> the video is yuv, png is rgb. Some conversion has to happen.
[22:19:32 CEST] <SviMik> BtbN well, both videos are yuv, both images are rgb, so?
[22:19:55 CEST] <SviMik> why image png is normal, another with colors screwed
[22:20:19 CEST] <SviMik> *one
[22:20:54 CEST] <BtbN> because jpeg is yuv.
[22:21:07 CEST] <BtbN> so it doesn't need to convert anything
[22:21:11 CEST] <SviMik> BtbN both are png. where do you see jpeg here?
[22:21:36 CEST] <SviMik> one png is ok, another png is screwed
[22:22:03 CEST] <SviMik> both PNGs were taken from yuv videos
[22:22:21 CEST] <BtbN> have you tried forcing it to use full/limited color ranges yet?
[22:22:34 CEST] <SviMik> nope. how to?
[22:23:44 CEST] <BtbN> force the input pix_fmt to yuvj420
[22:23:52 CEST] <BtbN> force the input pix_fmt to yuvj420p or yuv420p
[22:23:59 CEST] <BtbN> dependong on what it is right now
[22:25:58 CEST] <SviMik> BtbN Incompatible pixel format 'yuv420p' for codec 'png', auto-selecting format 'rgb24'
[22:26:22 CEST] <BtbN> input format, not output format. png can only do rgb
[22:27:03 CEST] <SviMik> err. how do I force the input format?
[22:27:16 CEST] <SviMik> ffmpeg -ss 30.5 -i tmp.flv -vframes 1 outpf.png
[22:27:16 CEST] <BtbN> put pix_fmt as an input option before your input...
[22:27:20 CEST] <SviMik> insert here ^
[22:28:22 CEST] <SviMik> >ffmpeg -ss 30.5 -pix_fmt yuv420p -i tmp.flv -vframes 1 outpf.png
[22:28:22 CEST] <SviMik> >Option pixel_format not found.
[22:28:33 CEST] <BtbN> pix_fmt
[22:28:45 CEST] <SviMik> sorry, I'm new to ffmpeg
[22:28:48 CEST] <furq> that's what he used
[22:28:54 CEST] <furq> that option probably doesn't exist for that demuxer
[22:29:12 CEST] <BtbN> pretty sure you can force a pix_fmt for the h264 decoder
[22:29:32 CEST] <furq> wouldn't you need to demux it first to do that
[22:30:53 CEST] <BtbN> It should match the pix_fmt option to the video streams. But seems like it indeed doesn't work with h264, weird, I'm sure I have done that before
[22:31:07 CEST] <BtbN> -vf format=yuv420p it is then, after the input
[22:31:17 CEST] <BtbN> or yuvj420p
[22:31:45 CEST] <BtbN> not sure if that doesn't try and do some equally broken colorspace conversion
[22:32:58 CEST] <SviMik> well, it was accepted, but nothing changed
[22:34:54 CEST] <slalom> I need to use Nielsen's watermarking on an audio file, but they only support MPEG-2 transport streams and seem to be assuming you're watermarking a video file's audio track. I'm trying to convert our PCM WAV audio to a stream it can read and watermark. I tried just outputting -f mp2 and their encoder said it wasn't a valid MPEG stream.
[22:35:11 CEST] <slalom> any other output ideas?
[22:35:15 CEST] <furq> mpegts
[22:35:57 CEST] <slalom> awesome! thank you, it worked
[22:45:04 CEST] <slalom> Nielsen's stuff is having an issue but im guessing i can deal with this with settings for the format
[22:47:35 CEST] <slalom> Error:AES3- SPMTE 302M format identifier, 0x42535344 is missing or mismatch.. haaa... ok...
[22:50:25 CEST] <slalom> im -c:a copy from my stereo wav file is still apparently making an mpegts with 8 audio channels. maybe that is just required?
[22:51:40 CEST] <slalom> i actually cant see what ffmpeg thinks about the stream, just says Stream #0:0[0x100]: Data: bin_data ([6][0][0][0] / 0x0006)
[00:00:00 CEST] --- Fri May 12 2017
1
0