mem: Make av_strdup allocate using av_realloc

This makes sure that pointers from av_strdup are reallocable,
which is used in av_dict_set if the AV_DICT_APPEND flag is set.

Nothing should rely on pointers from av_strdup being aligned.

Signed-off-by: Martin Storsjö <martin@martin.st>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  mem: Make av_strdup allocate using av_realloc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add some necessary casts in the wtv demuxer.

This reverts e8023dba, fixes ticket #3049.
avformat/hevcdec: cosmetics, whitespaces

This reduces the difference to the latest hevc demuxer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/hevcdec: add more irap cases to hevc_probe()

This fixes fate-hevc-conformance-RAP_A_docomo_4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'cehoyos/master'

* cehoyos/master:
  Add some necessary casts in the wtv demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
fate: aac: Add test for AAC-LD
swscale/utils/sws_setColorspaceDetails(): fix indention

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
swscale/yuv2rgb: clip cy, avoid division by 0 with 0 contrast

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavu/opt-test: use automatic set and free handlers

In particular, do not set default string value by hand and use
av_opt_free() to free context.
lavu/opt.h: fix grammar typo in av_opt_get* doxy
lavu/channel_layout: change av_get_channel_layout() behavior at the next bump

The new syntax is preferred since it allows backward syntax compatibility
with libswr when switching to the new option handling code with
AV_OPT_TYPE_CHANNEL_LAYOUT.

With the new parser the string:
1234

is interpreted as a channel layout mask, rather than as a number of
channels, and thus it's compatible with the current way to set a channel
layout as an integer (e.g. for the icl and ocl options) making use of
integer option values.

ff_get_channel_layout() with compat=0 will be used in the
AV_OPT_TYPE_CHANNEL handler code.

The user is encouraged to switch to the new forward compatible syntax,
which requires to put a trailing "c" when specifying a layout as a number
of channels.
lavu/opt: add AV_OPT_TYPE_CHANNEL_LAYOUT and handler functions

The new type is compatible with AV_OPT_TYPE_INT64, but allows to specify
channel layouts using the format accepted by av_get_channel_layout().
fate: Increase the tolerance in the lavr tests

A few fate instances on OS/2, OpenBSD, FreeBSD and IA64 linux currently
still fail a few tests with a maxdiff of 6.

Signed-off-by: Martin Storsjö <martin@martin.st>
lswr/swresample: convert ocl and icl options to AV_OPT_TYPE_CHANNEL_LAYOUT

Improve interface flexibility. In particular makes it possible to set
channel layout through symbolic names using the av_opt_set() interface.
Merge commit 'f52fd3f3b26f0d80e4f0b374b7695383feca5b92'

* commit 'f52fd3f3b26f0d80e4f0b374b7695383feca5b92':
  fate: aac: Add test for AAC-LD

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  fate: Increase the tolerance in the lavr tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/hevcpred: fix make checkheaders.