FFmpeg/libavfilter
Clément Bœsch 321de03492 avfilter/palettegen: use AV_QSORT()
This makes the sorting of the colors along an axis (r, g or b)
predictible, and thus testable under FATE. The performance is not really
an issue here since the function is called only once at the end and will
need to sort very small number of entries, so an alternative would be to
make the sorting functions (see DECLARE_CMP_FUNC()) fallback on another
axis in case of equality. This approach was actually simpler.

I don't know if there is any advantage in using a multidimensional sort,
but it will affect the final palette one way or another.
2015-02-26 14:20:02 +01:00
..
x86 avfilter/x86/vf_fspp: Fix loop condition for column_fidct() 2015-01-28 17:23:27 +01:00
aeval.c
af_adelay.c avfilter/af_adelay: use av_freep(), do not leave stale pointers in memory 2014-10-07 13:44:26 +02:00
af_aecho.c
af_afade.c lavfi/afade: fix cur_sample computation 2014-10-21 13:28:08 +02:00
af_aformat.c
af_amerge.c libavfilter/af_amerge: Do not depend on SWR_CH_MAX 2014-08-10 01:08:46 +02:00
af_amix.c lavfi: check av_strdup() return value 2015-01-06 10:02:11 +00:00
af_anull.c
af_apad.c lavfi/apad: fix logic when whole_len or pad_len options are specified 2014-08-21 16:59:07 +02:00
af_aphaser.c
af_aresample.c avfilter/af_aresample: remove unused variable 2014-11-06 15:58:28 +01:00
af_asetnsamples.c
af_asetrate.c
af_ashowinfo.c Merge commit '728685f37ab333ca35980bd01766c78d197f784a' 2015-01-27 18:03:43 +01:00
af_astats.c
af_astreamsync.c
af_asyncts.c
af_atempo.c avfilter/atempo: Flush all buffered input samples 2014-08-19 12:53:09 +02:00
af_biquads.c avfilter/af_biquads: use the name 's' for the pointer to the private context 2015-01-28 14:30:27 +00:00
af_bs2b.c
af_channelmap.c avfilter/af_channelmap: Move potential dereference after NULL check in get_channel_idx() 2015-02-18 13:40:39 +01:00
af_channelsplit.c
af_compand.c Merge commit 'd3cfd7aff86ee3d449ca68aba21d67b9b2136a9b' 2014-07-08 13:48:26 +02:00
af_dcshift.c avfilter: add dcshift filter 2015-02-11 14:58:35 +00:00
af_earwax.c
af_flanger.c
af_join.c avfilter/af_join: swap av_mallocz_array() args for consistency with the prototype 2015-01-20 16:52:30 +00:00
af_ladspa.c
af_pan.c avfilter/af_pan: Do not use SWR_CH_MAX 2014-08-10 01:08:45 +02:00
af_replaygain.c
af_resample.c Merge commit '0d989dbfc4bc5bc1d563e967449116a7a9865258' 2014-10-18 22:04:36 +02:00
af_silencedetect.c
af_silenceremove.c avfilter/af_silenceremove: remove dead code 2014-09-06 21:36:56 +02:00
af_volume.c avfilter/af_volume: Use avpriv_float_dsp_alloc() 2014-11-18 12:38:38 +01:00
af_volume.h avfilter/af_volume: Use avpriv_float_dsp_alloc() 2014-11-18 12:38:38 +01:00
af_volumedetect.c
all_channel_layouts.inc
allfilters.c avfilter: add paletteuse filter 2015-02-14 20:48:50 +01:00
asink_anullsink.c
asrc_abuffer.h
asrc_anullsrc.c
asrc_flite.c
asrc_sine.c
audio.c
audio.h
avcodec.c avfilter/avcodec: use NULL instead of 0 for pointer 2014-12-06 15:29:23 +01:00
avcodec.h avfilter: remove obsolete FF_API_FILL_FRAME cruft 2014-09-17 15:23:26 -03:00
avf_avectorscope.c avfilter/avf_avectorscope: use the name 's' for the pointer to the private context 2015-01-28 14:34:11 +00:00
avf_concat.c avfilter/avf_concat: Use av_freep(), avoid leaving stale pointers in memory 2014-11-22 18:47:26 +01:00
avf_showcqt.c avfilter/avf_showcqt: use av_malloc_array() 2015-01-22 13:56:30 +01:00
avf_showspectrum.c avfilter/avf_showspectrum: fix colums typo 2014-08-20 18:49:01 +02:00
avf_showwaves.c avfilter/showwaves: fix height range for cline mode 2014-12-24 15:13:31 +01:00
avfilter.c avfilter/avfilter: Remove CONFIG_MP_FILTER case 2015-01-31 13:47:17 +01:00
avfilter.h lavfi: document assumptions about the input and output labels of a filter graph description 2015-01-29 10:12:34 +01:00
avfiltergraph.c avfilter/avfiltergraph: assert that the heap_bubble index is valid 2015-02-18 12:31:02 +01:00
avfiltergraph.h
avfilterres.rc
bbox.c
bbox.h
buffer.c avfilter/buffer: Check for qp_table allocation failure 2015-02-22 20:27:11 +01:00
bufferqueue.h
buffersink.c
buffersink.h
buffersrc.c avfilter/buffersrc: add context to av_log() call 2014-12-06 15:31:05 +01:00
buffersrc.h
deshake_opencl_kernel.h
deshake_opencl.c lavu: rename ff_opencl_set_parameter() to avpriv_opencl_set_parameter() 2014-08-12 03:49:45 +02:00
deshake_opencl.h
deshake.h vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion 2014-09-18 00:48:15 +02:00
drawutils.c avfilter/drawutils: Check for av_malloc* failures 2015-01-22 13:54:26 +01:00
drawutils.h
dualinput.c
dualinput.h
f_ebur128.c avfilter/ebur128: rework channel weighting definition code 2014-09-06 13:47:59 +02:00
f_interleave.c
f_perms.c Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
f_select.c avfilter/select: larger pixel sad computation 2014-08-14 19:11:13 +02:00
f_sendcmd.c avfilter/f_sendcmd: consider it an error if there are no commands 2015-02-09 07:13:48 +01:00
f_zmq.c
fifo.c
filtfmts.c Merge commit '072916d903d3a925bcd0c864f12254157cab63c1' 2014-08-03 19:35:08 +02:00
formats.c avfilter/formats: Alloc NULL fmts in SET_COMMON_FORMATS() 2014-11-21 22:15:32 +01:00
formats.h
framesync.c
framesync.h
generate_wave_table.c
generate_wave_table.h generate_wave_table: Add include for AVSampleFormat 2015-02-06 19:07:29 +01:00
gradfun.h
graphdump.c
graphparser.c Merge commit '9d3b752fceb0f2a42cac7c2a1109b0629823c99f' 2015-02-17 20:48:22 +01:00
interlace.h Merge commit '2e1704059ae8625beda2ffde847ad22c5ba416dc' 2014-11-15 02:39:49 +01:00
internal.h avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling issue 2015-01-10 02:27:49 +01:00
lavfutils.c avfilter/lavfutils/ff_load_image: Return error if no frame could be decoded 2014-08-16 01:34:34 +02:00
lavfutils.h
libavfilter.v lavfi: stop exporting internal functions 2014-08-10 04:51:19 +02:00
log2_tab.c lavfi: duplicate ff_log2_tab 2014-08-13 01:00:38 +02:00
lswsutils.c
lswsutils.h
Makefile avfilter: add paletteuse filter 2015-02-14 20:48:50 +01:00
opencl_allkernels.c
opencl_allkernels.h
pthread.c
setpts.c Merge commit '593aaee953f8b07c141ff115e67bae85ef0350c7' 2014-08-21 21:47:43 +02:00
settb.c
split.c lavfi: check av_strdup() return value 2015-01-06 10:02:11 +00:00
src_movie.c lavfi: check av_strdup() return value 2015-01-06 10:02:11 +00:00
thread.h
tinterlace.h avfilter/vf_tinterlace: Favor using standard timebases for the output 2014-12-02 18:28:06 +01:00
transform.c Factorize avpriv_mirror() out 2015-01-05 01:45:49 +01:00
transform.h
trim.c avfilter/trim: remove duplicate assignment 2014-07-31 20:53:15 +02:00
unsharp_opencl_kernel.h avfilter/unsharp: OpenCL unsharpen filter optimization: substitute N^2 filter computation with 2N+C 2015-02-11 13:51:58 +01:00
unsharp_opencl.c avfilter/unsharp: OpenCL unsharpen filter optimization: substitute N^2 filter computation with 2N+C 2015-02-11 13:51:58 +01:00
unsharp_opencl.h
unsharp.h avfilter/unsharp: OpenCL unsharpen filter optimization: substitute N^2 filter computation with 2N+C 2015-02-11 13:51:58 +01:00
version.h avfilter/palettegen: export color quantization ratio 2015-02-26 14:20:02 +01:00
vf_alphamerge.c
vf_aspect.c
vf_bbox.c Use new av_dict_set_int helper function. 2014-08-16 14:31:41 +02:00
vf_blackdetect.c lavfi: add const/static const to pix_fmts arrays. 2014-08-31 10:25:36 +02:00
vf_blackframe.c Blackframe video filter now sets metadata accordingly. 2014-07-15 23:37:27 +02:00
vf_blend.c libavfilter/vf_blend: do not unconditionally compile both filters 2015-01-05 14:14:54 +00:00
vf_boxblur.c lavfi/boxblur: Readd 8bit colour spaces on big-endian. 2015-01-08 15:24:59 +01:00
vf_codecview.c avfilter: add codecview filter 2014-08-24 14:35:11 +02:00
vf_colorbalance.c avfilter/vf_colorbalance: use the name 's' for the pointer to the private context 2015-01-28 14:11:30 +00:00
vf_colorchannelmixer.c avfilter/vf_colorchannelmixer: use the name 's' for the pointer to the private context 2015-01-28 14:39:15 +00:00
vf_colorlevels.c lavfi: add colorlevels filter 2014-12-16 10:10:04 +00:00
vf_colormatrix.c Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
vf_copy.c
vf_crop.c
vf_cropdetect.c avfilter/vf_cropdetect: adjust Default threshold based on bit depth 2014-12-31 00:33:33 +01:00
vf_curves.c
vf_dctdnoiz.c avfilter/dctdnoiz: fix slice_h computation 2015-02-08 14:31:29 +01:00
vf_decimate.c avfilter/vf_decimate: Use av_malloc_array() 2014-07-11 15:32:27 +02:00
vf_dejudder.c
vf_delogo.c
vf_deshake.c vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion 2014-09-18 00:48:15 +02:00
vf_drawbox.c
vf_drawtext.c lavfi: Increase drawtext font size limits 2014-12-07 13:15:03 +01:00
vf_edgedetect.c avfilter/edgedetect: fix indent 2015-01-15 11:39:41 +01:00
vf_elbg.c
vf_eq.c avfilter/vf_eq: Add process_command to eq. 2015-02-20 00:06:37 +01:00
vf_eq.h avfilter/vf_eq: Add process_command to eq. 2015-02-20 00:06:37 +01:00
vf_extractplanes.c avfilter/vf_extractplanes: use the name 's' for the pointer to the private context 2015-01-28 14:26:13 +00:00
vf_fade.c lavfi/fade: Do not overread input buffer. 2015-02-25 15:07:18 +01:00
vf_field.c
vf_fieldmatch.c avfilter/vf_fieldmatch: Add () to protect the arguments of the HAS_FF_AROUND() macro 2015-02-17 00:49:32 +01:00
vf_fieldorder.c
vf_format.c Merge commit 'd1afd3e1d6e43f4d37ae147091f270124ac48e04' 2014-10-20 22:02:45 +02:00
vf_fps.c avfilter/vf_fps: update frame drop comment 2015-02-05 06:03:11 +01:00
vf_framepack.c avfilter/vf_framepack: Check and update frame_rate 2015-01-16 22:02:52 +01:00
vf_framestep.c
vf_frei0r.c avfilter/vf_frei0r: fix build with DEBUG enabled 2015-01-17 15:41:23 +01:00
vf_fspp.c avfilter/vf_fspp: check count before calling row_idct() 2015-01-28 17:23:27 +01:00
vf_fspp.h x86/vf_fspp: port inline asm to yasm 2014-12-26 15:39:51 -03:00
vf_geq.c
vf_gradfun.c
vf_hflip.c
vf_histeq.c
vf_histogram.c
vf_hqdn3d.c avfilter/hqdn3d: an invalid bit depth means a bug, not invalid read data 2015-02-08 17:16:51 +01:00
vf_hqdn3d.h
vf_hqx.c
vf_hue.c
vf_idet.c avfilter/vf_idet: factorize av_frame_free(&idet->prev) 2015-01-19 20:24:03 +01:00
vf_idet.h avfilter/vf_idet: Add analyze_interlaced_flag mode 2015-01-06 01:21:19 +01:00
vf_il.c avfitler/vf_il: use the name 's' for the pointer to the private context 2015-01-28 14:22:26 +00:00
vf_interlace.c Merge commit '4438c256387a5845e5cdc5c14c43f4047b68301b' 2015-01-07 00:03:10 +01:00
vf_kerndeint.c avfilter/vf_kerndeint: use av_freep(), avoid leaving stale pointers in memory 2014-12-13 14:18:30 +01:00
vf_lenscorrection.c avfilter/vf_lenscorrection: support 8bit planar RGB formats 2015-01-21 18:05:51 +00:00
vf_libopencv.c Merge commit 'a6653787a4b1e89170ff7962312dd110769c83a3' 2015-02-03 23:35:08 +01:00
vf_lut3d.c avfilter/haldclut: fix R/B swap in CLUT loading 2014-07-05 19:35:51 +02:00
vf_lut.c lavfi/lut: apply minor compute_gammaval709() doxy fix 2015-01-27 11:22:45 +01:00
vf_mcdeint.c avfilter/vf_mcdeint: avoid uninitilaized fields in AVPacket 2015-01-28 00:58:03 +01:00
vf_mergeplanes.c
vf_mpdecimate.c avfilter/mp_decimate: remove avcodec dependency 2014-08-05 21:05:52 +02:00
vf_noise.c x86/vf_noise: move asm code to a separate file 2014-10-17 00:44:35 -03:00
vf_noise.h x86/vf_noise: move asm code to a separate file 2014-10-17 00:44:35 -03:00
vf_null.c
vf_overlay.c Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
vf_owdenoise.c Factorize avpriv_mirror() out 2015-01-05 01:45:49 +01:00
vf_pad.c lavfi: always check av_expr_parse_and_eval() return value 2014-12-18 23:27:14 +01:00
vf_palettegen.c avfilter/palettegen: use AV_QSORT() 2015-02-26 14:20:02 +01:00
vf_paletteuse.c avfilter/palette{gen,use}: add Copyright 2015-02-23 14:00:13 +01:00
vf_perspective.c avfilter/vf_perspective: Use av_clip_uint8() 2015-02-21 14:51:07 +01:00
vf_phase.c avfilter/vf_phase: Add () to protect DIFF()s arguments 2015-02-17 00:47:47 +01:00
vf_pixdesctest.c
vf_pp7.c Fix frame-alignment in PP7 2015-01-29 04:38:48 +01:00
vf_pp7.h lavfi: port mp=pp7 to libavfilter 2015-01-09 17:26:31 +01:00
vf_pp.c avfilter/vf_pp: add gbrp support 2014-10-14 17:15:56 +02:00
vf_psnr.c
vf_pullup.c avfilter/vf_pullup: 2nd try to workaround gcc 4.4.3 bug on arm 2014-08-01 14:17:53 +02:00
vf_pullup.h
vf_qp.c avfilter/vf_qp: Fix leak of out_qp_table_buf 2015-02-18 13:12:06 +01:00
vf_removelogo.c avfilter/vf_removelogo: Add () to protect the argument of apply_mask_fudge_factor() 2015-02-18 01:56:19 +01:00
vf_repeatfields.c avfilter: Add repeatfields filter (Port of mp=softpulldown) 2015-02-10 19:07:20 +01:00
vf_rotate.c Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
vf_sab.c Factorize avpriv_mirror() out 2015-01-05 01:45:49 +01:00
vf_scale.c vf_scale: Use correct chroma positions for YUV420P 2014-12-25 02:53:29 +01:00
vf_separatefields.c
vf_setfield.c
vf_showinfo.c avfilter/vf_showinfo: show timebase & framerate too 2015-01-21 21:21:00 +01:00
vf_showpalette.c avfilter/showpalette: fix leak in case of error 2015-02-18 14:04:10 +01:00
vf_shuffleplanes.c
vf_signalstats.c avfilter/vf_signalstats: fix avframe leak on error 2014-12-06 17:05:20 +01:00
vf_smartblur.c
vf_spp.c lavfi: use ff_norm_qscale(), factorize 2015-01-13 13:12:58 +01:00
vf_spp.h avfilter/vf_spp: Fix overflow in 8bit store slice 2014-12-21 01:48:19 +01:00
vf_stereo3d.c
vf_subtitles.c avfilter/vf_subtitles: Add () to protect the argument of the AA() macro 2015-02-19 01:51:54 +01:00
vf_super2xsai.c
vf_swapuv.c
vf_telecine.c avfilter/vf_telecine: use the name 's' for the pointer to the private context 2015-01-28 13:51:18 +00:00
vf_thumbnail.c
vf_tile.c
vf_tinterlace.c vfilter/vf_tinterlace: Fix issues with linesize and cols 2015-01-06 23:21:28 +01:00
vf_transpose.c
vf_unsharp.c avfilter/vf_unsharp: use av_freep() avoid leaving stale pointers in memory 2014-12-13 14:18:30 +01:00
vf_uspp.c avfilter/vf_uspp: fix gop_size 2015-01-25 15:58:28 +01:00
vf_vflip.c
vf_vidstabdetect.c avfilter: Read errno before av_log() as the callback from av_log() might affect errno 2014-10-25 13:28:51 +02:00
vf_vidstabtransform.c avfilter: Read errno before av_log() as the callback from av_log() might affect errno 2014-10-25 13:28:51 +02:00
vf_vignette.c avfilter/vf_vignette: Use av_malloc_array() 2014-07-06 14:34:37 +02:00
vf_w3fdif.c
vf_xbr.c avfilter/xbr: reindent after previous commit 2014-12-25 23:50:25 +01:00
vf_yadif.c avfilter/vf_yadif: detect telecine content 2015-01-06 00:31:37 +01:00
vf_zoompan.c
video.c Merge commit '67a7695c142561fe60f21adffe89c133385d37c9' 2014-08-20 00:23:15 +02:00
video.h
vidstabutils.c vidstab*: Remove accidentally exported av_2_vs_pixel_format() 2014-08-22 22:18:46 +02:00
vidstabutils.h vidstabutils: improve documentation 2014-08-22 22:19:20 +02:00
vsink_nullsink.c
vsrc_cellauto.c avfilter/vsrc_cellauto: Use av_mallocz_array() 2014-07-06 14:35:13 +02:00
vsrc_life.c avfilter/vsrc_life: Use av_freep() avoid leaving stale pointers in memory 2014-12-19 15:04:56 +01:00
vsrc_mandelbrot.c avfilter/vsrc_mandelbrot: fix indention of mis-indented block 2015-02-15 01:53:21 +01:00
vsrc_mptestsrc.c avfilter/vsrc_mptestsrc: Use av_clip_uint8() 2015-02-21 14:50:23 +01:00
vsrc_testsrc.c
yadif.h