build: Allow specifying extra object files when linking HOSTPROGS
dv: Split DV data table declarations into their own header

This is necessary to avoid target config settings bleeding into the host
compilation process with hardcoded tables and the DV VLC tables no longer
present as static tables in a header file.
lavd/xv: simplify write_packet

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
lavd/xv: add more supported formats

Add support for following pixel formats:
- AV_PIX_FMT_UYVY422
- AV_PIX_FMT_YUYV422

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
lavd/xv: free resources on errors

xv_write_header callback leave not freed resources on errors.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
lavc: Edge emulation with dst/src linesize

Allow supporting files for which the image stride is smaller than
the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9
file or a 16x16 VP8 file with -fflags +emu_edge.
lavc: VP9 decoder

Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>

Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
af_aresample: Fix timestamp of first padded PCM audio packet

Problem:
ffmpeg generated video file which had two audio packets with the same timestamp: last original audio packet and first padded audio packet.

Timestamp of first added audio packet by 'apad' fitler had the same value as last original audio packet. The problem was in 'aresample' fitler, which used next pts instead of current one.
As long as 'apad' and 'aresample' filters have separate mechanisms of timestamp calculation, they got the same values.

Command line:
ffmpeg -i <input_filename> -shortest -apad 512 -af asetnsamples=n=512 -b:a 1058400 -ac 1 -ar 44100 -async 0 -acodec pcm_s16le -sn -f matroska -y <output_file>

Fix:
Call swr_next_pts() function before swr_convert()

Tested:
FATE tests passed.
Fix has been tested in our Transcoder regression framework on ~10k test videos. It's about ~500k transcodes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'e8fcdebb17fc59375fd9fc6c0a02a1d2e6d9fb23'

* commit 'e8fcdebb17fc59375fd9fc6c0a02a1d2e6d9fb23':
  build: Allow specifying extra object files when linking HOSTPROGS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '3cbe1126530449336e2ce59b194bdb8c4eb4abb4'

* commit '3cbe1126530449336e2ce59b194bdb8c4eb4abb4':
  dv: Split DV data table declarations into their own header

Conflicts:
	libavcodec/dvdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '458446acfa1441d283dacf9e6e545beb083b8bb0'

* commit '458446acfa1441d283dacf9e6e545beb083b8bb0':
  lavc: Edge emulation with dst/src linesize

Conflicts:
	libavcodec/cavs.c
	libavcodec/h264.c
	libavcodec/hevc.c
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/rv34.c
	libavcodec/svq3.c
	libavcodec/vc1dec.c
	libavcodec/videodsp.h
	libavcodec/videodsp_template.c
	libavcodec/vp3.c
	libavcodec/vp8.c
	libavcodec/wmv2.c
	libavcodec/x86/videodsp.asm
	libavcodec/x86/videodsp_init.c

Changes to the asm are not merged, they are left for volunteers or
in their absence for later.
The changes this merge introduces are reordering of the function
arguments

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

* qatar/master:
  lavc: VP9 decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/version.h
	libavcodec/vp9.c
	libavcodec/vp9.h
	libavcodec/vp9data.h
	libavcodec/vp9dsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/vp9dsp.asm
	libavcodec/x86/vp9dsp_init.c
	tests/fate/vpx.mak
	tests/ref/fate/vp9-00-quantizer-00
	tests/ref/fate/vp9-00-quantizer-01
	tests/ref/fate/vp9-00-quantizer-02
	tests/ref/fate/vp9-00-quantizer-03
	tests/ref/fate/vp9-00-quantizer-04
	tests/ref/fate/vp9-00-quantizer-05
	tests/ref/fate/vp9-00-quantizer-06
	tests/ref/fate/vp9-00-quantizer-07
	tests/ref/fate/vp9-00-quantizer-08
	tests/ref/fate/vp9-00-quantizer-09
	tests/ref/fate/vp9-00-quantizer-10
	tests/ref/fate/vp9-00-quantizer-11
	tests/ref/fate/vp9-00-quantizer-12
	tests/ref/fate/vp9-00-quantizer-13
	tests/ref/fate/vp9-00-quantizer-14
	tests/ref/fate/vp9-00-quantizer-15
	tests/ref/fate/vp9-00-quantizer-16
	tests/ref/fate/vp9-00-quantizer-17
	tests/ref/fate/vp9-00-quantizer-18
	tests/ref/fate/vp9-00-quantizer-19
	tests/ref/fate/vp9-00-quantizer-20
	tests/ref/fate/vp9-00-quantizer-21
	tests/ref/fate/vp9-00-quantizer-22
	tests/ref/fate/vp9-00-quantizer-23
	tests/ref/fate/vp9-00-quantizer-24
	tests/ref/fate/vp9-00-quantizer-25
	tests/ref/fate/vp9-00-quantizer-26
	tests/ref/fate/vp9-00-quantizer-27
	tests/ref/fate/vp9-00-quantizer-28
	tests/ref/fate/vp9-00-quantizer-29
	tests/ref/fate/vp9-00-quantizer-30
	tests/ref/fate/vp9-00-quantizer-31
	tests/ref/fate/vp9-00-quantizer-32
	tests/ref/fate/vp9-00-quantizer-33
	tests/ref/fate/vp9-00-quantizer-34
	tests/ref/fate/vp9-00-quantizer-35
	tests/ref/fate/vp9-00-quantizer-36
	tests/ref/fate/vp9-00-quantizer-37
	tests/ref/fate/vp9-00-quantizer-38
	tests/ref/fate/vp9-00-quantizer-39
	tests/ref/fate/vp9-00-quantizer-40
	tests/ref/fate/vp9-00-quantizer-41
	tests/ref/fate/vp9-00-quantizer-42
	tests/ref/fate/vp9-00-quantizer-43
	tests/ref/fate/vp9-00-quantizer-44
	tests/ref/fate/vp9-00-quantizer-45
	tests/ref/fate/vp9-00-quantizer-46
	tests/ref/fate/vp9-00-quantizer-47
	tests/ref/fate/vp9-00-quantizer-48
	tests/ref/fate/vp9-00-quantizer-49
	tests/ref/fate/vp9-00-quantizer-50
	tests/ref/fate/vp9-00-quantizer-51
	tests/ref/fate/vp9-00-quantizer-52
	tests/ref/fate/vp9-00-quantizer-53
	tests/ref/fate/vp9-00-quantizer-54
	tests/ref/fate/vp9-00-quantizer-55
	tests/ref/fate/vp9-00-quantizer-56
	tests/ref/fate/vp9-00-quantizer-57
	tests/ref/fate/vp9-00-quantizer-58
	tests/ref/fate/vp9-00-quantizer-59
	tests/ref/fate/vp9-00-quantizer-60
	tests/ref/fate/vp9-00-quantizer-61
	tests/ref/fate/vp9-00-quantizer-62
	tests/ref/fate/vp9-00-quantizer-63
	tests/ref/fate/vp9-01-sharpness-1
	tests/ref/fate/vp9-01-sharpness-2
	tests/ref/fate/vp9-01-sharpness-3
	tests/ref/fate/vp9-01-sharpness-4
	tests/ref/fate/vp9-01-sharpness-5
	tests/ref/fate/vp9-01-sharpness-6
	tests/ref/fate/vp9-01-sharpness-7
	tests/ref/fate/vp9-02-size-08x08
	tests/ref/fate/vp9-02-size-08x10
	tests/ref/fate/vp9-02-size-08x16
	tests/ref/fate/vp9-02-size-08x18
	tests/ref/fate/vp9-02-size-08x32
	tests/ref/fate/vp9-02-size-08x34
	tests/ref/fate/vp9-02-size-08x64
	tests/ref/fate/vp9-02-size-08x66
	tests/ref/fate/vp9-02-size-10x08
	tests/ref/fate/vp9-02-size-10x10
	tests/ref/fate/vp9-02-size-10x16
	tests/ref/fate/vp9-02-size-10x18
	tests/ref/fate/vp9-02-size-10x32
	tests/ref/fate/vp9-02-size-10x34
	tests/ref/fate/vp9-02-size-10x64
	tests/ref/fate/vp9-02-size-10x66
	tests/ref/fate/vp9-02-size-16x08
	tests/ref/fate/vp9-02-size-16x10
	tests/ref/fate/vp9-02-size-16x16
	tests/ref/fate/vp9-02-size-16x18
	tests/ref/fate/vp9-02-size-16x32
	tests/ref/fate/vp9-02-size-16x34
	tests/ref/fate/vp9-02-size-16x64
	tests/ref/fate/vp9-02-size-16x66
	tests/ref/fate/vp9-02-size-18x08
	tests/ref/fate/vp9-02-size-18x10
	tests/ref/fate/vp9-02-size-18x16
	tests/ref/fate/vp9-02-size-18x18
	tests/ref/fate/vp9-02-size-18x32
	tests/ref/fate/vp9-02-size-18x34
	tests/ref/fate/vp9-02-size-18x64
	tests/ref/fate/vp9-02-size-18x66
	tests/ref/fate/vp9-02-size-32x08
	tests/ref/fate/vp9-02-size-32x10
	tests/ref/fate/vp9-02-size-32x16
	tests/ref/fate/vp9-02-size-32x18
	tests/ref/fate/vp9-02-size-32x32
	tests/ref/fate/vp9-02-size-32x34
	tests/ref/fate/vp9-02-size-32x64
	tests/ref/fate/vp9-02-size-32x66
	tests/ref/fate/vp9-02-size-34x08
	tests/ref/fate/vp9-02-size-34x10
	tests/ref/fate/vp9-02-size-34x16
	tests/ref/fate/vp9-02-size-34x18
	tests/ref/fate/vp9-02-size-34x32
	tests/ref/fate/vp9-02-size-34x34
	tests/ref/fate/vp9-02-size-34x64
	tests/ref/fate/vp9-02-size-34x66
	tests/ref/fate/vp9-02-size-64x08
	tests/ref/fate/vp9-02-size-64x10
	tests/ref/fate/vp9-02-size-64x16
	tests/ref/fate/vp9-02-size-64x18
	tests/ref/fate/vp9-02-size-64x32
	tests/ref/fate/vp9-02-size-64x34
	tests/ref/fate/vp9-02-size-64x64
	tests/ref/fate/vp9-02-size-64x66
	tests/ref/fate/vp9-02-size-66x08
	tests/ref/fate/vp9-02-size-66x10
	tests/ref/fate/vp9-02-size-66x16
	tests/ref/fate/vp9-02-size-66x18
	tests/ref/fate/vp9-02-size-66x32
	tests/ref/fate/vp9-02-size-66x34
	tests/ref/fate/vp9-02-size-66x64
	tests/ref/fate/vp9-02-size-66x66
	tests/ref/fate/vp9-03-deltaq
	tests/ref/fate/vp9-03-size-196x196
	tests/ref/fate/vp9-03-size-196x198
	tests/ref/fate/vp9-03-size-196x200
	tests/ref/fate/vp9-03-size-196x202
	tests/ref/fate/vp9-03-size-196x208
	tests/ref/fate/vp9-03-size-196x210
	tests/ref/fate/vp9-03-size-196x224
	tests/ref/fate/vp9-03-size-196x226
	tests/ref/fate/vp9-03-size-198x196
	tests/ref/fate/vp9-03-size-198x198
	tests/ref/fate/vp9-03-size-198x200
	tests/ref/fate/vp9-03-size-198x202
	tests/ref/fate/vp9-03-size-198x208
	tests/ref/fate/vp9-03-size-198x210
	tests/ref/fate/vp9-03-size-198x224
	tests/ref/fate/vp9-03-size-198x226
	tests/ref/fate/vp9-03-size-200x196
	tests/ref/fate/vp9-03-size-200x198
	tests/ref/fate/vp9-03-size-200x200
	tests/ref/fate/vp9-03-size-200x202
	tests/ref/fate/vp9-03-size-200x208
	tests/ref/fate/vp9-03-size-200x210
	tests/ref/fate/vp9-03-size-200x224
	tests/ref/fate/vp9-03-size-200x226
	tests/ref/fate/vp9-03-size-202x196
	tests/ref/fate/vp9-03-size-202x198
	tests/ref/fate/vp9-03-size-202x200
	tests/ref/fate/vp9-03-size-202x202
	tests/ref/fate/vp9-03-size-202x208
	tests/ref/fate/vp9-03-size-202x210
	tests/ref/fate/vp9-03-size-202x224
	tests/ref/fate/vp9-03-size-202x226
	tests/ref/fate/vp9-03-size-208x196
	tests/ref/fate/vp9-03-size-208x198
	tests/ref/fate/vp9-03-size-208x200
	tests/ref/fate/vp9-03-size-208x202
	tests/ref/fate/vp9-03-size-208x208
	tests/ref/fate/vp9-03-size-208x210
	tests/ref/fate/vp9-03-size-208x224
	tests/ref/fate/vp9-03-size-208x226
	tests/ref/fate/vp9-03-size-210x196
	tests/ref/fate/vp9-03-size-210x198
	tests/ref/fate/vp9-03-size-210x200
	tests/ref/fate/vp9-03-size-210x202
	tests/ref/fate/vp9-03-size-210x208
	tests/ref/fate/vp9-03-size-210x210
	tests/ref/fate/vp9-03-size-210x224
	tests/ref/fate/vp9-03-size-210x226
	tests/ref/fate/vp9-03-size-224x196
	tests/ref/fate/vp9-03-size-224x198
	tests/ref/fate/vp9-03-size-224x200
	tests/ref/fate/vp9-03-size-224x202
	tests/ref/fate/vp9-03-size-224x208
	tests/ref/fate/vp9-03-size-224x210
	tests/ref/fate/vp9-03-size-224x224
	tests/ref/fate/vp9-03-size-224x226
	tests/ref/fate/vp9-03-size-226x196
	tests/ref/fate/vp9-03-size-226x198
	tests/ref/fate/vp9-03-size-226x200
	tests/ref/fate/vp9-03-size-226x202
	tests/ref/fate/vp9-03-size-226x208
	tests/ref/fate/vp9-03-size-226x210
	tests/ref/fate/vp9-03-size-226x224
	tests/ref/fate/vp9-03-size-226x226
	tests/ref/fate/vp9-2pass-akiyo
	tests/ref/fate/vp9-segmentation-akiyo
	tests/ref/fate/vp9-tiling-pedestrian

Not merged at the request of the authors and maintainers
"<ubitux> we have a lot of fixes they don't have, as well as optim actually"

See: 848826f527bcf9927a539f7808d1d7c08f57193b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
riff: add G264 to mpeg4, only decodes keyframes
lavf/matroska*: add support for signed integers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/matroska: simplify signed int access code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/vp9: fix "initialize" typo.

Originally spotted and fixed by one of these developers:
    Anton Khirnov <anton@khirnov.net>
    Diego Biurrun <diego@biurrun.de>
    Luca Barbato <lu_zero@gentoo.org>
    Martin Storsjö <martin@martin.st>

See 97962b2 / 72ca830
lavf/matroska*: DiscardPadding is a signed integer

according to the Matriska Specification
 http://matroska.org/technical/specs/index.html
DiscardPadding is a signed integer.

Tested-by: Jan Gerber <j@v2v.cc>
Tested-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavf/matroskadec ReferenceBlock is a signed integer

according to the Matroska Specification
ReferenceBlock is a signed integer too.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec: Fix duration error after seek operation

After seek, s->duration need recalculation, AVCodecParserContext need be set
again. Without the fix, the first audio packet would be dropped after
compute_pkt_fields() as the final pts/dts become invalid.

Signed-off-by: wangxingchao <wangxingchao@xiaomi.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/rtmphttp: Partial fix for the ticket #3127 (second try)

Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>