Commit Graph

22809 Commits

Author SHA1 Message Date
Clément Bœsch
fe150a48a7 lavc: fix codec_descriptor and pkt_timebase doxy. 2013-02-17 13:35:32 +01:00
Clément Bœsch
b1e6b144ed lavc/utils: reindent in avcodec_decode_subtitle2() after f7963993. 2013-02-17 13:08:30 +01:00
Clément Bœsch
f796399344 lavc: support subtitles character encoding conversion. 2013-02-17 12:57:56 +01:00
Clément Bœsch
8732271e40 lavc: mark bitmap based subtitles codecs as such. 2013-02-17 11:59:24 +01:00
James Almer
2e988fd689 lavc/tta: Use a safer check for encrypted streams
The user can provide a password even when the stream
is not encrypted, so check the value of s->format
instead of s->pass in ttafilter_init().

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:34:38 +01:00
Hendrik Leppkes
1d6f6ff4d9 h264: don't initialize missing pictures when using a hwaccel
Writing into uninitialized hw surfaces is not supported and triggers an assert inside avpriv_color_frame

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:28:42 +01:00
Michael Niedermayer
b7fe35c9e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: deMpegEncContextize

Conflicts:
	libavcodec/dxva2_h264.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_mb_template.c
	libavcodec/h264_parser.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264_sei.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 23:30:09 +01:00
Michael Niedermayer
ddbbfd95be Merge commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885'
* commit '1d0feb5d1ac04d187b335f0e8d411c9f40b3a885':
  mpegvideo: split ff_draw_horiz_band().

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 19:00:39 +01:00
Michael Niedermayer
1fad547cef Merge commit '54974c62982ae827becdbdb9b620b7ba75d079a0'
* commit '54974c62982ae827becdbdb9b620b7ba75d079a0':
  error_resilience: decouple ER from MpegEncContext

Conflicts:
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 18:54:56 +01:00
Michael Niedermayer
8b7568cc34 Merge commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc'
* commit 'd9ebb00dcbaac3812b8b1fbc3d6e027506c11cbc':
  svq3: remove a pointless if()
  h264: remove a pointless if()

Conflicts:
	libavcodec/h264.c
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:30:21 +01:00
Michael Niedermayer
131b9c924d Merge commit '68f930d2188aba5b32624887dcbf688c23482834'
* commit '68f930d2188aba5b32624887dcbf688c23482834':
  h264: simplify calls to ff_er_add_slice().

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 14:13:20 +01:00
Michael Niedermayer
0a707da37b cinepack: print an error if cinepak_decode() failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:49:04 +01:00
Michael Niedermayer
bb29ee62e9 Merge commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793'
* commit 'd2a25c4032ce6ceabb0f51b5c1e6ca865395a793':
  get_buffer(): do not initialize the data.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:42 +01:00
Michael Niedermayer
1c5b8b916d h264: color frames gray
This prevents a regression from the removial of the buffer
initialization

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Michael Niedermayer
a53b144ec0 avcodec: add avpriv_color_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 13:13:18 +01:00
Michael Niedermayer
1e78679768 mpegvideo_enc: draw edges on input
Improves Motion estimation, avoids using out of picture areas for %16 != 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 11:08:21 +01:00
Anton Khirnov
2c54155407 h264: deMpegEncContextize
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.

The nontrivial parts are:
1) extracting a simplified version of the frame management code from
   mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
   its own more complex system already and those were set only to appease
   the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
   for dxva, the draw_horiz_band() call is moved from
   ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
   because it's now different for h264 and MpegEncContext-based
   decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
   added some very simplistic frame management instead and dropped the
   use of ff_h264_frame_start(). Because of this I also had to move some
   initialization code to svq3.

Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-15 16:35:16 +01:00
Anton Khirnov
1d0feb5d1a mpegvideo: split ff_draw_horiz_band().
Split out dependency on MpegEncContext.
2013-02-15 16:10:19 +01:00
Anton Khirnov
54974c6298 error_resilience: decouple ER from MpegEncContext 2013-02-15 16:10:11 +01:00
Anton Khirnov
d9ebb00dcb svq3: remove a pointless if()
The H264 context is always uninitialized at this point.
2013-02-15 16:09:52 +01:00
Anton Khirnov
2491f9ee29 h264: remove a pointless if()
!encoding is always true, we do not have a H.264 encoder
2013-02-15 16:09:45 +01:00
Anton Khirnov
68f930d218 h264: simplify calls to ff_er_add_slice().
partitioned_frame is never set for h264 (as easily seen from git grep).
2013-02-15 16:09:37 +01:00
Anton Khirnov
d2a25c4032 get_buffer(): do not initialize the data.
There may be more decoders that rely on this. Those should be found and
fixed.
2013-02-15 16:08:44 +01:00
Michael Niedermayer
f98598942f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sparc: dsputil: Simplify high_bit_depth checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:30:21 +01:00
Michael Niedermayer
048ecbd3f8 Merge commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1'
* commit '49fe280753e0f167ac3d9f227f0c0f7744501fc1':
  h264idct: Replace duplicate scan8 table by appropriate #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 12:18:42 +01:00
Diego Biurrun
3594554a06 sparc: dsputil: Simplify high_bit_depth checks 2013-02-15 02:13:42 +01:00
Diego Biurrun
49fe280753 h264idct: Replace duplicate scan8 table by appropriate #include 2013-02-15 00:14:15 +01:00
Clément Bœsch
d5ce725cb3 Fix a few "its" vs "it's" typo. 2013-02-14 23:45:48 +01:00
Michael Niedermayer
8bbb487e44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/platform: Fix 10l typo
  dsputil: Move STRIDE_ALIGN macro to the only place it is used

Conflicts:
	libavcodec/dsputil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:00:22 +01:00
Vignesh Venkatasubramanian
30c5c45b12 Adding support for parsing BlockAdditional
Matroska specification lists support for BlockAdditional element
which is not supported by ffmpeg's matroska parser. This patch
adds grammar definitions for parsing that element (and few other
related elements) and then puts the data in AVPacket.side_data
with new AVPacketSideDataType AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:46:28 +01:00
Michael Niedermayer
701e9b8254 h264: Use mb itself as memcpy anchor and assert the other anchors position
This makes the code more robust against reordering or fields.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:42:20 +01:00
Ronald S. Bultje
faf8eca08d h264: remove clear_blocks call in threading init.
Init code in that if statement goes down from 26716 cycles to 26047
cycles, i.e. the removal of the clear_blocks and smaller memcpy()
together save around 670 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 00:15:02 +01:00
Michael Niedermayer
c230af9bcc h264: Reset last_pocs in case of reference or frame number inconsistencies
This prevents faulty increasing of has_b_frames
Should fix Ticket 2062

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 23:19:51 +01:00
Diego Biurrun
c6507946d4 dsputil: Move STRIDE_ALIGN macro to the only place it is used 2013-02-13 20:23:39 +01:00
Michael Niedermayer
324d96644b libvorbisdec: Remove AVFrame from context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 16:07:07 +01:00
Michael Niedermayer
fe84577273 libvorbisdec: set sample type
Fixes regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 15:42:36 +01:00
Nicolas George
a17ececcc7 libcelt: decode directly to the user-provided AVFrame. 2013-02-13 15:05:16 +01:00
Michael Niedermayer
b2e57eb5a3 mjpegdec: pass nb_components into ljpeg_decode_yuv_scan
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 14:20:46 +01:00
Paul B Mahol
8f7c7ff2d6 evrcdec: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Paul B Mahol
2cced2a854 paf: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Paul B Mahol
9145818ecd vima: decode directly to the user-provided AVFrame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-13 12:33:48 +00:00
Michael Niedermayer
91043de825 Merge commit '1647da89dd8ac09a55c111589f7a30d7e6b87d90'
* commit '1647da89dd8ac09a55c111589f7a30d7e6b87d90':
  lavr: make sure that the mix function is reset even if no mixing will be done
  lavr: print out the mix matrix in ff_audio_mix_set_matrix()
  ws-snd1: decode directly to the user-provided AVFrame
  wmavoice: decode directly to the user-provided AVFrame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:54:08 +01:00
Michael Niedermayer
0dff771f31 Merge commit '205a95f7b5178362874bc1e65eae9866723491c1'
* commit '205a95f7b5178362874bc1e65eae9866723491c1':
  wmaenc: alloc/free coded_frame instead of keeping it in the WMACodecContext
  wma: decode directly to the user-provided AVFrame
  wmapro: decode directly to the user-provided AVFrame
  wavpack: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:49:48 +01:00
Michael Niedermayer
dca6fb08a7 Merge commit 'ee6ca11b657515ad736ec0d2b8635e098d0a2680'
* commit 'ee6ca11b657515ad736ec0d2b8635e098d0a2680':
  vorbis: decode directly to the user-provided AVFrame
  vmdaudio: decode directly to the user-provided AVFrame
  twinvq: decode directly to the user-provided AVFrame
  tta: decode directly to the user-provided AVFrame
  truespeech: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/tta.c
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:42:14 +01:00
Michael Niedermayer
2becf21d9f Merge commit '4a2b26fc1b1ad123eba473a20e270f2b0ba92bca'
* commit '4a2b26fc1b1ad123eba473a20e270f2b0ba92bca':
  tak: decode directly to the user-provided AVFrame
  smackaud: decode directly to the user-provided AVFrame
  sipr: decode directly to the user-provided AVFrame
  shorten: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/shorten.c
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:35:37 +01:00
Michael Niedermayer
08059f6150 Merge commit '5d5c248c3df30fa91a8dde639618c985b9a11c53'
* commit '5d5c248c3df30fa91a8dde639618c985b9a11c53':
  s302m: decode directly to the user-provided AVFrame
  ra288: decode directly to the user-provided AVFrame
  ra144: decode directly to the user-provided AVFrame
  ralf: decode directly to the user-provided AVFrame
  qdm2: decode directly to the user-provided AVFrame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:28:27 +01:00
Michael Niedermayer
65da700704 Merge commit '1b9b6d6e5ea556b6d307f9d473f54f6406fdc3c8'
* commit '1b9b6d6e5ea556b6d307f9d473f54f6406fdc3c8':
  qcelp: decode directly to the user-provided AVFrame
  pcm-bluray: decode directly to the user-provided AVFrame
  nellymoser: decode directly to the user-provided AVFrame
  mpc7/8: decode directly to the user-provided AVFrame
  mpegaudio: decode directly to the user-provided AVFrame
  mlp/truehd: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/mpc7.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:22:35 +01:00
Michael Niedermayer
afe30fe060 Merge commit '86bfcfcf2364bc837b7bb582c66a8a15a332414f'
* commit '86bfcfcf2364bc837b7bb582c66a8a15a332414f':
  mace: decode directly to the user-provided AVFrame
  libspeex: decode directly to the user-provided AVFrame
  libopus: decode directly to the user-provided AVFrame
  libopencore-amr: decode directly to the user-provided AVFrame
  libgsm: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/libopusdec.c
	libavcodec/mace.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:14:46 +01:00
Michael Niedermayer
5459cf4114 Merge commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2'
* commit 'a8ea936a0a00570f61a16a588821b52f6a3115c2':
  libilbc: decode directly to the user-provided AVFrame
  dpcm: decode directly to the user-provided AVFrame
  imc/iac: decode directly to the user-provided AVFrame
  gsm: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/dpcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 12:05:00 +01:00
Michael Niedermayer
d88e674a15 Merge commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05'
* commit 'cb7b47a61dba0b9329ecede5dd3211dc0662dc05':
  g726: decode directly to the user-provided AVFrame
  g723.1: decode directly to the user-provided AVFrame
  g722: decode directly to the user-provided AVFrame
  flac: decode directly to the user-provided AVFrame
  cinaudio: decode directly to the user-provided AVFrame

Conflicts:
	libavcodec/g723_1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-13 11:59:51 +01:00