[FFmpeg-cvslog] configure: enable the av1_frame_split bsf for the av1 decoder

2022-08-23 Thread Hendrik Leppkes
ffmpeg | branch: release/5.1 | Hendrik Leppkes  | Thu Aug 
18 21:00:28 2022 +0200| [0143b0d964ebdbc6760b182abcf8e4c94695dfa6] | committer: 
Hendrik Leppkes

configure: enable the av1_frame_split bsf for the av1 decoder

The BSF is required to make use of the AV1 decoder, thus configure
should also ensure it is built.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0143b0d964ebdbc6760b182abcf8e4c94695dfa6
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 6e012e44bc..ba5793b2ff 100755
--- a/configure
+++ b/configure
@@ -2781,7 +2781,7 @@ atrac3al_decoder_select="mdct"
 atrac3p_decoder_select="mdct sinewin"
 atrac3pal_decoder_select="mdct sinewin"
 atrac9_decoder_select="mdct"
-av1_decoder_select="cbs_av1"
+av1_decoder_select="av1_frame_split_bsf cbs_av1"
 bink_decoder_select="blockdsp hpeldsp"
 binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs"
 binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs"

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] configure: enable the av1_frame_split bsf for the av1 decoder

2022-08-23 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Thu Aug 18 
21:00:28 2022 +0200| [89ea7a2442ec3466875c81ca376bba6b6426be45] | committer: 
Hendrik Leppkes

configure: enable the av1_frame_split bsf for the av1 decoder

The BSF is required to make use of the AV1 decoder, thus configure
should also ensure it is built.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=89ea7a2442ec3466875c81ca376bba6b6426be45
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index ea50c94002..932ea5b553 100755
--- a/configure
+++ b/configure
@@ -2789,7 +2789,7 @@ atrac3al_decoder_select="mdct"
 atrac3p_decoder_select="mdct sinewin"
 atrac3pal_decoder_select="mdct sinewin"
 atrac9_decoder_select="mdct"
-av1_decoder_select="cbs_av1"
+av1_decoder_select="av1_frame_split_bsf cbs_av1"
 bink_decoder_select="blockdsp hpeldsp"
 binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs"
 binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs"

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] avfilter/f_ebur128: multiply in integer first, before dividing in float

2022-04-07 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Tue Apr  5 
22:37:22 2022 +0200| [cd96211ace4e27d00ed8bf92955e48ebff73] | committer: 
Hendrik Leppkes

avfilter/f_ebur128: multiply in integer first, before dividing in float

Restores the order of operations from before 15a1104, which reduces
errors from floating point calculations, and fixes FATE on mingw64.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd96211ace4e27d00ed8bf92955e48ebff73
---

 libavfilter/f_ebur128.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c
index 1b1bcf1bff..a036aa0c86 100644
--- a/libavfilter/f_ebur128.c
+++ b/libavfilter/f_ebur128.c
@@ -768,7 +768,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
*insamples)
 
 /* get lower loudness to consider */
 n = 0;
-nb_pow = LRA_LOWER_PRC * 0.01 * nb_powers + 0.5;
+nb_pow = LRA_LOWER_PRC * nb_powers * 0.01 + 0.5;
 for (i = gate_hist_pos; i < HIST_SIZE; i++) {
 n += ebur128->i3000.histogram[i].count;
 if (n >= nb_pow) {
@@ -779,7 +779,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
*insamples)
 
 /* get higher loudness to consider */
 n = nb_powers;
-nb_pow = LRA_HIGHER_PRC * 0.01 * nb_powers + 0.5;
+nb_pow = LRA_HIGHER_PRC * nb_powers * 0.01 + 0.5;
 for (i = HIST_SIZE - 1; i >= 0; i--) {
 n -= FFMIN(n, ebur128->i3000.histogram[i].count);
 if (n < nb_pow) {

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] pthread_frame: introduce a codec callback to update the user-facing context

2021-04-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Mon Jul  6 
02:29:59 2020 +0200| [82ebe0c7968262c7e27700b93bc58be0d7228458] | committer: 
James Almer

pthread_frame: introduce a codec callback to update the user-facing context

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=82ebe0c7968262c7e27700b93bc58be0d7228458
---

 libavcodec/codec.h | 5 +
 libavcodec/pthread_frame.c | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/libavcodec/codec.h b/libavcodec/codec.h
index 50a22f6e3c..de050b2815 100644
--- a/libavcodec/codec.h
+++ b/libavcodec/codec.h
@@ -258,6 +258,11 @@ typedef struct AVCodec {
  * dst and src will (rarely) point to the same context, in which case 
memcpy should be skipped.
  */
 int (*update_thread_context)(struct AVCodecContext *dst, const struct 
AVCodecContext *src);
+
+/**
+ * Copy variables back to the user-facing context
+ */
+int (*update_thread_context_for_user)(struct AVCodecContext *dst, const 
struct AVCodecContext *src);
 /** @} */
 
 /**
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 9176027f15..ae5b000d97 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -326,6 +326,8 @@ FF_DISABLE_DEPRECATION_WARNINGS
 dst->coded_frame = src->coded_frame;
 FF_ENABLE_DEPRECATION_WARNINGS
 #endif
+if (dst->codec->update_thread_context_for_user)
+err = dst->codec->update_thread_context_for_user(dst, src);
 } else {
 if (dst->codec->update_thread_context)
 err = dst->codec->update_thread_context(dst, src);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] avcodec: set AV_CODEC_CAP_CHANNEL_CONF on decoders which set their own channels

2020-12-10 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Sat Dec  5 
11:41:23 2020 +0100| [494f868e93d1d671497d0d0884368f015eb7d31e] | committer: 
Hendrik Leppkes

avcodec: set AV_CODEC_CAP_CHANNEL_CONF on decoders which set their own channels

The decoders in this set either have a fixed channel count, or read it
from the bitstream, and thus do not require the channel count as
external information.

Fixes various regressions since
81503ac58a763a36b1f57264013b1e76acb62b68, which requires a valid channel
count for decoders which do not set this capability.

Signed-off-by: Hendrik Leppkes 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=494f868e93d1d671497d0d0884368f015eb7d31e
---

 libavcodec/alac.c| 2 +-
 libavcodec/alsdec.c  | 2 +-
 libavcodec/amrnbdec.c| 2 +-
 libavcodec/amrwbdec.c| 2 +-
 libavcodec/atrac9dec.c   | 2 +-
 libavcodec/audiotoolboxdec.c | 2 +-
 libavcodec/bmvaudio.c| 2 +-
 libavcodec/cngdec.c  | 2 +-
 libavcodec/dsicinaudio.c | 2 +-
 libavcodec/dss_sp.c  | 2 +-
 libavcodec/evrcdec.c | 2 +-
 libavcodec/g722dec.c | 2 +-
 libavcodec/g726.c| 4 ++--
 libavcodec/gsmdec.c  | 4 ++--
 libavcodec/ilbcdec.c | 2 +-
 libavcodec/imc.c | 2 +-
 libavcodec/libcodec2.c   | 2 +-
 libavcodec/libgsmdec.c   | 4 ++--
 libavcodec/libilbc.c | 2 +-
 libavcodec/libopencore-amr.c | 4 ++--
 libavcodec/libopusdec.c  | 2 +-
 libavcodec/libspeexdec.c | 2 +-
 libavcodec/libvorbisdec.c| 2 +-
 libavcodec/metasound.c   | 2 +-
 libavcodec/mlpdec.c  | 4 ++--
 libavcodec/mpc8.c| 2 +-
 libavcodec/nellymoserdec.c   | 2 +-
 libavcodec/opusdec.c | 2 +-
 libavcodec/pcm-bluray.c  | 2 +-
 libavcodec/qcelpdec.c| 2 +-
 libavcodec/qdm2.c| 2 +-
 libavcodec/qdmc.c| 2 +-
 libavcodec/ra144dec.c| 2 +-
 libavcodec/ra288.c   | 2 +-
 libavcodec/sbcdec.c  | 2 +-
 libavcodec/sipr.c| 2 +-
 libavcodec/sonic.c   | 2 +-
 libavcodec/takdec.c  | 2 +-
 libavcodec/tta.c | 2 +-
 libavcodec/twinvqdec.c   | 2 +-
 libavcodec/vima.c| 2 +-
 libavcodec/vorbisdec.c   | 2 +-
 libavcodec/wavpack.c | 2 +-
 libavcodec/ws-snd1.c | 2 +-
 44 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 9040673528..7edbb06a3e 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -625,7 +625,7 @@ AVCodec ff_alac_decoder = {
 .init   = alac_decode_init,
 .close  = alac_decode_close,
 .decode = alac_decode_frame,
-.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
+.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | 
AV_CODEC_CAP_CHANNEL_CONF,
 .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 .priv_class = _class
 };
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index c2c460a29c..c318ad088e 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -2179,6 +2179,6 @@ AVCodec ff_als_decoder = {
 .close  = decode_end,
 .decode = decode_frame,
 .flush  = flush,
-.capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
+.capabilities   = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1 | 
AV_CODEC_CAP_CHANNEL_CONF,
 .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
 };
diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index ea299acd4e..8e02d4cb20 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -1088,7 +1088,7 @@ AVCodec ff_amrnb_decoder = {
 .priv_data_size = sizeof(AMRContext),
 .init   = amrnb_decode_init,
 .decode = amrnb_decode_frame,
-.capabilities   = AV_CODEC_CAP_DR1,
+.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
 .sample_fmts= (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
  AV_SAMPLE_FMT_NONE },
 };
diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c
index 555c4bc45d..070f276904 100644
--- a/libavcodec/amrwbdec.c
+++ b/libavcodec/amrwbdec.c
@@ -1283,7 +1283,7 @@ AVCodec ff_amrwb_decoder = {
 .priv_data_size = sizeof(AMRWBContext),
 .init   = amrwb_decode_init,
 .decode = amrwb_decode_frame,
-.capabilities   = AV_CODEC_CAP_DR1,
+.capabilities   = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF,
 .sample_fmts= (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
  AV_SAMPLE_FMT_NONE },
 };
diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c
index f0fcd0cb13..f2413ef68a 100644
--- a/libavcodec/atrac9dec.c
+++ b/libavcodec/atrac9dec.c
@@ -996,5 +996,5 @@ AVCodec ff_atrac9_decoder = {
 .decode = atrac9_decode_frame,
 .flush  = atrac9_decode_flush,
 .caps_internal  = FF_CODEC_CAP_INIT_THREADS

[FFmpeg-cvslog] avcodec/dxva2: add AV1 decode support

2020-11-12 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Thu Nov  5 
14:13:14 2020 +0100| [8f4aec719e7c00cd75074ef34d99d2f2f22e622a] | committer: 
Hendrik Leppkes

avcodec/dxva2: add AV1 decode support

Signed-off-by: Hendrik Leppkes 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8f4aec719e7c00cd75074ef34d99d2f2f22e622a
---

 Changelog  |   1 +
 configure  |   7 +
 libavcodec/Makefile|   2 +
 libavcodec/av1dec.c|  28 ++-
 libavcodec/dxva2.c |  10 +-
 libavcodec/dxva2_av1.c | 504 +
 libavcodec/hwaccels.h  |   3 +
 libavcodec/version.h   |   2 +-
 8 files changed, 553 insertions(+), 4 deletions(-)

diff --git a/Changelog b/Changelog
index 8f5b319ef1..d8f151b02d 100644
--- a/Changelog
+++ b/Changelog
@@ -44,6 +44,7 @@ version :
 - ADPCM IMA AMV encoder
 - AMV muxer
 - NVDEC AV1 hwaccel
+- DXVA2/D3D11VA hardware accelerated AV1 decoding
 
 
 version 4.3:
diff --git a/configure b/configure
index b8199e90ac..51e43fbf66 100755
--- a/configure
+++ b/configure
@@ -2918,6 +2918,12 @@ videotoolbox_hwaccel_deps="videotoolbox pthreads"
 videotoolbox_hwaccel_extralibs="-framework QuartzCore"
 xvmc_deps="X11_extensions_XvMClib_h"
 
+av1_d3d11va_hwaccel_deps="d3d11va DXVA_PicParams_AV1"
+av1_d3d11va_hwaccel_select="av1_decoder"
+av1_d3d11va2_hwaccel_deps="d3d11va DXVA_PicParams_AV1"
+av1_d3d11va2_hwaccel_select="av1_decoder"
+av1_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_AV1"
+av1_dxva2_hwaccel_select="av1_decoder"
 av1_nvdec_hwaccel_deps="nvdec CUVIDAV1PICPARAMS"
 av1_nvdec_hwaccel_select="av1_decoder"
 av1_vaapi_hwaccel_deps="vaapi VADecPictureParameterBufferAV1_bit_depth_idx"
@@ -6206,6 +6212,7 @@ enabled videotoolbox && {
 
 check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
 
+check_type "windows.h dxva.h" "DXVA_PicParams_AV1" 
-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -D_CRT_BUILD_DESKTOP_APP=0
 check_type "windows.h dxva.h" "DXVA_PicParams_HEVC" 
-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -D_CRT_BUILD_DESKTOP_APP=0
 check_type "windows.h dxva.h" "DXVA_PicParams_VP9" 
-DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -D_CRT_BUILD_DESKTOP_APP=0
 check_type "windows.h d3d11.h" "ID3D11VideoDecoder"
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 0c8aee39b3..b4777be4d4 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -912,6 +912,8 @@ OBJS-$(CONFIG_VAAPI)  += vaapi_decode.o
 OBJS-$(CONFIG_VIDEOTOOLBOX)   += videotoolbox.o
 OBJS-$(CONFIG_VDPAU)  += vdpau.o
 
+OBJS-$(CONFIG_AV1_D3D11VA_HWACCEL)+= dxva2_av1.o
+OBJS-$(CONFIG_AV1_DXVA2_HWACCEL)  += dxva2_av1.o
 OBJS-$(CONFIG_AV1_NVDEC_HWACCEL)  += nvdec_av1.o
 OBJS-$(CONFIG_AV1_VAAPI_HWACCEL)  += vaapi_av1.o
 OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index 1078f708f7..ad8e7d1dd5 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -317,7 +317,10 @@ static int get_pixel_format(AVCodecContext *avctx)
 uint8_t bit_depth;
 int ret;
 enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE;
-#define HWACCEL_MAX (CONFIG_AV1_NVDEC_HWACCEL + CONFIG_AV1_VAAPI_HWACCEL)
+#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
+ CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
+ CONFIG_AV1_NVDEC_HWACCEL + \
+ CONFIG_AV1_VAAPI_HWACCEL)
 enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
 
 if (seq->seq_profile == 2 && seq->color_config.high_bitdepth)
@@ -380,6 +383,13 @@ static int get_pixel_format(AVCodecContext *avctx)
 
 switch (s->pix_fmt) {
 case AV_PIX_FMT_YUV420P:
+#if CONFIG_AV1_DXVA2_HWACCEL
+*fmtp++ = AV_PIX_FMT_DXVA2_VLD;
+#endif
+#if CONFIG_AV1_D3D11VA_HWACCEL
+*fmtp++ = AV_PIX_FMT_D3D11VA_VLD;
+*fmtp++ = AV_PIX_FMT_D3D11;
+#endif
 #if CONFIG_AV1_NVDEC_HWACCEL
 *fmtp++ = AV_PIX_FMT_CUDA;
 #endif
@@ -388,6 +398,13 @@ static int get_pixel_format(AVCodecContext *avctx)
 #endif
 break;
 case AV_PIX_FMT_YUV420P10:
+#if CONFIG_AV1_DXVA2_HWACCEL
+*fmtp++ = AV_PIX_FMT_DXVA2_VLD;
+#endif
+#if CONFIG_AV1_D3D11VA_HWACCEL
+*fmtp++ = AV_PIX_FMT_D3D11VA_VLD;
+*fmtp++ = AV_PIX_FMT_D3D11;
+#endif
 #if CONFIG_AV1_NVDEC_HWACCEL
 *fmtp++ = AV_PIX_FMT_CUDA;
 #endif
@@ -974,6 +991,15 @@ AVCodec ff_av1_decoder = {
 .flush = av1_decode_flush,
 .profiles  = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
 .hw_configs= (const AVCodecHWConfigInternal * []) {
+#if CONFIG_AV1_DXVA2_HWACCEL
+HWACCEL_DXVA2(av1),
+#endif
+#if CONFIG_AV1_D3D11VA_HWACCEL
+HWACCEL_D3D11VA(av1),
+#end

[FFmpeg-cvslog] avcodec/hevc: export chroma sample location

2020-06-24 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Wed Apr 11 
13:46:10 2018 +0200| [8ee6557c2e93166a03ef8588a09674e4a083d43b] | committer: 
Hendrik Leppkes

avcodec/hevc: export chroma sample location

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8ee6557c2e93166a03ef8588a09674e4a083d43b
---

 libavcodec/hevcdec.c | 9 +
 1 file changed, 9 insertions(+)

diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index c9e28f5826..b63cba6c25 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -348,6 +348,15 @@ static void export_stream_params(HEVCContext *s, const 
HEVCSPS *sps)
 avctx->colorspace  = AVCOL_SPC_UNSPECIFIED;
 }
 
+avctx->chroma_sample_location = AVCHROMA_LOC_UNSPECIFIED;
+if (sps->chroma_format_idc == 1) {
+if (sps->vui.chroma_loc_info_present_flag) {
+if (sps->vui.chroma_sample_loc_type_top_field <= 5)
+avctx->chroma_sample_location = 
sps->vui.chroma_sample_loc_type_top_field + 1;
+} else
+avctx->chroma_sample_location = AVCHROMA_LOC_LEFT;
+}
+
 if (vps->vps_timing_info_present_flag) {
 num = vps->vps_num_units_in_tick;
 den = vps->vps_time_scale;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] configure: check for a sufficiently recent enough AMF version

2019-09-09 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Mon Sep  9 
00:49:23 2019 +0200| [4e759b56754a2d9843502c4a177bb66eb95d5ed8] | committer: 
Hendrik Leppkes

configure: check for a sufficiently recent enough AMF version

Due to the recent addition of Vulkan support to AMF, we require more
recent headers that include the new structures, which have been
available since AMF 1.4.9 released in September 2018.

Fixes Ticket #8125

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4e759b56754a2d9843502c4a177bb66eb95d5ed8
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 4141c1e8f4..8413826f9e 100755
--- a/configure
+++ b/configure
@@ -6617,7 +6617,7 @@ EOF
 
 enabled amf &&
 check_cpp_condition amf "AMF/core/Version.h" \
-"(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | 
AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x0001000400040001"
+"(AMF_VERSION_MAJOR << 48 | AMF_VERSION_MINOR << 32 | 
AMF_VERSION_RELEASE << 16 | AMF_VERSION_BUILD_NUM) >= 0x000100040009"
 
 # Funny iconv installations are not unusual, so check it after all flags have 
been set
 if enabled libc_iconv; then

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] tests: don't include TARGET_PATH in the sample path needlessly

2019-04-19 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes  | Thu Apr  4 
00:17:43 2019 +0200| [a87774636b870ee1888bec24327062baf4841ea0] | committer: 
Hendrik Leppkes

tests: don't include TARGET_PATH in the sample path needlessly

The transcode() helper function will already prepend the TARGET_PATH to
the sample path, if its a relative path. This avoids an issue on
Windows, where the relative path check could fail.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a87774636b870ee1888bec24327062baf4841ea0
---

 tests/fate/ffmpeg.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak
index af7282f9ab..71ab2f1f63 100644
--- a/tests/fate/ffmpeg.mak
+++ b/tests/fate/ffmpeg.mak
@@ -95,7 +95,7 @@ fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" 
$(TARGET_SAMPLES)/h264/bbc2
 
 FATE_STREAMCOPY-$(call ENCDEC, APNG, APNG) += fate-copy-apng
 fate-copy-apng: fate-lavf-apng
-fate-copy-apng: CMD = transcode apng 
"$(TARGET_PATH)/tests/data/lavf/lavf.apng" apng "-c:v copy"
+fate-copy-apng: CMD = transcode apng tests/data/lavf/lavf.apng apng "-c:v copy"
 
 FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek 
fate-limited_input_seek-copyts
 fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-cvslog] lavfi/vf_srcnn: use avio_check instead of access

2018-05-08 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue May  8 
17:25:26 2018 +0200| [8007a86363930353a9df0007432fae73fc817dda] | committer: 
Hendrik Leppkes

lavfi/vf_srcnn: use avio_check instead of access

The filter uses avio for file access already, and avio_check is
portable.

Fixes trac #7192.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8007a86363930353a9df0007432fae73fc817dda
---

 configure  | 2 +-
 libavfilter/vf_srcnn.c | 5 +
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index 7c143238a8..6626111ff2 100755
--- a/configure
+++ b/configure
@@ -3389,7 +3389,7 @@ spectrumsynth_filter_deps="avcodec"
 spectrumsynth_filter_select="fft"
 spp_filter_deps="gpl avcodec"
 spp_filter_select="fft idctdsp fdctdsp me_cmp pixblockdsp"
-srcnn_filter_deps="access avformat"
+srcnn_filter_deps="avformat"
 stereo3d_filter_deps="gpl"
 subtitles_filter_deps="avformat avcodec libass"
 super2xsai_filter_deps="gpl"
diff --git a/libavfilter/vf_srcnn.c b/libavfilter/vf_srcnn.c
index dace2b99b5..edffebb278 100644
--- a/libavfilter/vf_srcnn.c
+++ b/libavfilter/vf_srcnn.c
@@ -28,9 +28,6 @@
 #include "formats.h"
 #include "internal.h"
 #include "libavutil/opt.h"
-#if HAVE_UNISTD_H
-#include 
-#endif
 #include "vf_srcnn.h"
 #include "libavformat/avio.h"
 
@@ -145,7 +142,7 @@ static av_cold int init(AVFilterContext* context)
 srcnn_context->conv3.size = 5;
 CHECK_ALLOCATION(allocate_copy_conv_data(_context->conv3, 
conv3_kernel, conv3_biases), )
 }
-else if (access(srcnn_context->config_file_path, R_OK) != -1){
+else if (avio_check(srcnn_context->config_file_path, AVIO_FLAG_READ) > 0){
 if (avio_open(_file_context, srcnn_context->config_file_path, 
AVIO_FLAG_READ) < 0){
 av_log(context, AV_LOG_ERROR, "failed to open configuration 
file\n");
 return AVERROR(EIO);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/tls_schannel: fix handling of EOF after avio changes

2018-04-19 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Wed Apr 18 
14:09:19 2018 +0200| [5c6365af454fb24f20d753ed99dd8e2b60e85035] | committer: 
Hendrik Leppkes

avformat/tls_schannel: fix handling of EOF after avio changes

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5c6365af454fb24f20d753ed99dd8e2b60e85035
---

 libavformat/tls_schannel.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavformat/tls_schannel.c b/libavformat/tls_schannel.c
index 9a6e0c92e3..f41b007773 100644
--- a/libavformat/tls_schannel.c
+++ b/libavformat/tls_schannel.c
@@ -413,11 +413,13 @@ static int tls_read(URLContext *h, uint8_t *buf, int len)
 
 ret = ffurl_read(s->tcp, c->enc_buf + c->enc_buf_offset,
  c->enc_buf_size - c->enc_buf_offset);
-if (ret < 0) {
+if (ret == AVERROR_EOF) {
+c->connection_closed = 1;
+ret = 0;
+} else if (ret < 0) {
 av_log(h, AV_LOG_ERROR, "Unable to read from socket\n");
 return ret;
-} else if (ret == 0)
-c->connection_closed = 1;
+}
 
 c->enc_buf_offset += ret;
 }
@@ -515,7 +517,7 @@ cleanup:
 if (ret == 0 && !c->connection_closed)
 ret = AVERROR(EAGAIN);
 
-return ret < 0 ? ret : 0;
+return ret < 0 ? ret : AVERROR_EOF;
 }
 
 static int tls_write(URLContext *h, const uint8_t *buf, int len)

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/tls_schannel: fix handling of EOF after avio changes

2018-04-19 Thread Hendrik Leppkes
ffmpeg | branch: release/4.0 | Hendrik Leppkes <h.lepp...@gmail.com> | Wed Apr 
18 14:09:19 2018 +0200| [0b6de235b98ca3076e85adebc922b25df79080b7] | committer: 
Hendrik Leppkes

avformat/tls_schannel: fix handling of EOF after avio changes

(cherry picked from commit 5c6365af454fb24f20d753ed99dd8e2b60e85035)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0b6de235b98ca3076e85adebc922b25df79080b7
---

 libavformat/tls_schannel.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavformat/tls_schannel.c b/libavformat/tls_schannel.c
index 9a6e0c92e3..f41b007773 100644
--- a/libavformat/tls_schannel.c
+++ b/libavformat/tls_schannel.c
@@ -413,11 +413,13 @@ static int tls_read(URLContext *h, uint8_t *buf, int len)
 
 ret = ffurl_read(s->tcp, c->enc_buf + c->enc_buf_offset,
  c->enc_buf_size - c->enc_buf_offset);
-if (ret < 0) {
+if (ret == AVERROR_EOF) {
+c->connection_closed = 1;
+ret = 0;
+} else if (ret < 0) {
 av_log(h, AV_LOG_ERROR, "Unable to read from socket\n");
 return ret;
-} else if (ret == 0)
-c->connection_closed = 1;
+}
 
 c->enc_buf_offset += ret;
 }
@@ -515,7 +517,7 @@ cleanup:
 if (ret == 0 && !c->connection_closed)
 ret = AVERROR(EAGAIN);
 
-return ret < 0 ? ret : 0;
+return ret < 0 ? ret : AVERROR_EOF;
 }
 
 static int tls_write(URLContext *h, const uint8_t *buf, int len)

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: fix clang-cl check in the MSVC section

2018-04-19 Thread Hendrik Leppkes
ffmpeg | branch: release/4.0 | Hendrik Leppkes <h.lepp...@gmail.com> | Wed Apr 
18 16:33:13 2018 +0200| [a73b464118a71483241d3120c05e2b3bd871bb44] | committer: 
Hendrik Leppkes

configure: fix clang-cl check in the MSVC section

Without properly grouping the checks, the second test would execute for
MSVC cl.exe, which results in configure getting stuck since cl.exe -? is
an interactive paginated help screen, waiting for input.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a73b464118a71483241d3120c05e2b3bd871bb44
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 535a59b737..dee507cb6a 100755
--- a/configure
+++ b/configure
@@ -4411,7 +4411,7 @@ probe_cc(){
 _flags_filter=msvc_flags
 _ld_lib='lib%.a'
 _ld_path='-libpath:'
-elif $_cc -nologo- 2>&1 | grep -q Microsoft || $_cc -v 2>&1 | grep -q 
clang && $_cc -? > /dev/null 2>&1; then
+elif $_cc -nologo- 2>&1 | grep -q Microsoft || { $_cc -v 2>&1 | grep -q 
clang && $_cc -? > /dev/null 2>&1; }; then
 _type=msvc
 _ident=$($_cc 2>&1 | head -n1 | tr -d '\r')
 _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk 
'\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) 
print "$@:", $$0 }'\'' > $(@:.o=.d)'

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: fix clang-cl check in the MSVC section

2018-04-19 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Wed Apr 18 
16:33:13 2018 +0200| [638575cd0ba419a7ff8143d67a8cc8c26c526ceb] | committer: 
Hendrik Leppkes

configure: fix clang-cl check in the MSVC section

Without properly grouping the checks, the second test would execute for
MSVC cl.exe, which results in configure getting stuck since cl.exe -? is
an interactive paginated help screen, waiting for input.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=638575cd0ba419a7ff8143d67a8cc8c26c526ceb
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 535a59b737..dee507cb6a 100755
--- a/configure
+++ b/configure
@@ -4411,7 +4411,7 @@ probe_cc(){
 _flags_filter=msvc_flags
 _ld_lib='lib%.a'
 _ld_path='-libpath:'
-elif $_cc -nologo- 2>&1 | grep -q Microsoft || $_cc -v 2>&1 | grep -q 
clang && $_cc -? > /dev/null 2>&1; then
+elif $_cc -nologo- 2>&1 | grep -q Microsoft || { $_cc -v 2>&1 | grep -q 
clang && $_cc -? > /dev/null 2>&1; }; then
 _type=msvc
 _ident=$($_cc 2>&1 | head -n1 | tr -d '\r')
 _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk 
'\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) 
print "$@:", $$0 }'\'' > $(@:.o=.d)'

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avcodec/aac_ac3_parser: account for data already in the parsing buffer

2018-04-15 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Apr  5 
17:09:35 2018 +0200| [8df8a9299364016027825a67534b93cd2b6af473] | committer: 
Hendrik Leppkes

avcodec/aac_ac3_parser: account for data already in the parsing buffer

If a frame starts very close to a packet boundary, the start code may
already have been added to the parsing buffer, indicated by a small
negative value of "i", while the header is still being tracked in the
"state" variable.

Reduce the remaining size accordingly, otherwise trying to find the next
frame could skip over the frame header and lump two frames together as
one.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8df8a9299364016027825a67534b93cd2b6af473
---

 libavcodec/aac_ac3_parser.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index 019074b0dd..54e459844f 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -60,6 +60,9 @@ get_next:
 s->remaining_size += i;
 goto get_next;
 }
+else if (i < 0) {
+s->remaining_size += i;
+}
 }
 }
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding support

2018-04-13 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon May 29 
12:09:47 2017 +0200| [7e20c8f5ebe96de94694be10e24b791e1ed4ea2d] | committer: 
Hendrik Leppkes

avcodec/vp9: add profile 2 10-bit DXVA2/D3D11 decoding support

Fixes trac ticket #7099.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e20c8f5ebe96de94694be10e24b791e1ed4ea2d
---

 libavcodec/vp9.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 0fac638ec9..b1178c9c0c 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -188,6 +188,7 @@ static int update_size(AVCodecContext *avctx, int w, int h)
 
 switch (s->pix_fmt) {
 case AV_PIX_FMT_YUV420P:
+case AV_PIX_FMT_YUV420P10:
 #if CONFIG_VP9_DXVA2_HWACCEL
 *fmtp++ = AV_PIX_FMT_DXVA2_VLD;
 #endif
@@ -202,7 +203,6 @@ static int update_size(AVCodecContext *avctx, int w, int h)
 *fmtp++ = AV_PIX_FMT_VAAPI;
 #endif
 break;
-case AV_PIX_FMT_YUV420P10:
 case AV_PIX_FMT_YUV420P12:
 #if CONFIG_VP9_NVDEC_HWACCEL
 *fmtp++ = AV_PIX_FMT_CUDA;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avcodec/dxva2: add VP9 10-bit Profile2 mode mappings

2018-04-13 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Wed Apr 11 
13:59:36 2018 +0200| [b4159d959394db8be59c8b2c68e4bea227fc069d] | committer: 
Hendrik Leppkes

avcodec/dxva2: add VP9 10-bit Profile2 mode mappings

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4159d959394db8be59c8b2c68e4bea227fc069d
---

 libavcodec/dxva2.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dxva2.c b/libavcodec/dxva2.c
index 6d831599af..32416112bf 100644
--- a/libavcodec/dxva2.c
+++ b/libavcodec/dxva2.c
@@ -44,6 +44,7 @@ DEFINE_GUID(ff_DXVA2_ModeVC1_D2010,  0x1b81beA4, 
0xa0c7,0x11d3,0xb9,0x84,0x0
 DEFINE_GUID(ff_DXVA2_ModeHEVC_VLD_Main,  0x5b11d51b, 
0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
 DEFINE_GUID(ff_DXVA2_ModeHEVC_VLD_Main10,0x107af0e0, 
0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
 
DEFINE_GUID(ff_DXVA2_ModeVP9_VLD_Profile0,0x463707f8,0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e);
+DEFINE_GUID(ff_DXVA2_ModeVP9_VLD_10bit_Profile2,0xa4c749ef,0x6ecf,0x48aa,0x84,0x48,0x50,0xa7,0xa1,0x16,0x5f,0xf7);
 DEFINE_GUID(ff_DXVA2_NoEncrypt,  0x1b81beD0, 
0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 DEFINE_GUID(ff_GUID_NULL,0x, 
0x,0x,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
 DEFINE_GUID(ff_IID_IDirectXVideoDecoderService, 
0xfc51a551,0xd5e7,0x11d9,0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02);
@@ -67,6 +68,10 @@ static const int prof_hevc_main[]= {FF_PROFILE_HEVC_MAIN,
 FF_PROFILE_UNKNOWN};
 static const int prof_hevc_main10[]  = {FF_PROFILE_HEVC_MAIN_10,
 FF_PROFILE_UNKNOWN};
+static const int prof_vp9_profile0[] = {FF_PROFILE_VP9_0,
+FF_PROFILE_UNKNOWN};
+static const int prof_vp9_profile2[] = {FF_PROFILE_VP9_2,
+FF_PROFILE_UNKNOWN};
 
 static const dxva_mode dxva_modes[] = {
 /* MPEG-2 */
@@ -90,7 +95,8 @@ static const dxva_mode dxva_modes[] = {
 { _DXVA2_ModeHEVC_VLD_Main,   AV_CODEC_ID_HEVC, prof_hevc_main },
 
 /* VP8/9 */
-{ _DXVA2_ModeVP9_VLD_Profile0,AV_CODEC_ID_VP9 },
+{ _DXVA2_ModeVP9_VLD_Profile0,   AV_CODEC_ID_VP9, prof_vp9_profile0 
},
+{ _DXVA2_ModeVP9_VLD_10bit_Profile2, AV_CODEC_ID_VP9, prof_vp9_profile2 
},
 
 { NULL,  0 },
 };

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] spdifenc: support ac3 core+eac3 dependent streams

2018-04-11 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Apr  3 
12:35:27 2018 +0200| [3e9d676192fc6ef719a904f8a2d114efec03d7c1] | committer: 
Hendrik Leppkes

spdifenc: support ac3 core+eac3 dependent streams

Such streams are found on Blu-ray, and identified as EAC3 type in
avformat, while the bitstream of the core stream is actually a pure AC3
frame.

Adjust the parsing accordingly, since AC3 frames always hold 6 blocks
and the numblkscod syntax element is not present.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3e9d676192fc6ef719a904f8a2d114efec03d7c1
---

 libavformat/spdifenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c
index 3a50aebbef..9514ff8e10 100644
--- a/libavformat/spdifenc.c
+++ b/libavformat/spdifenc.c
@@ -118,7 +118,8 @@ static int spdif_header_eac3(AVFormatContext *s, AVPacket 
*pkt)
 static const uint8_t eac3_repeat[4] = {6, 3, 2, 1};
 int repeat = 1;
 
-if ((pkt->data[4] & 0xc0) != 0xc0) /* fscod */
+int bsid = pkt->data[5] >> 3;
+if (bsid > 10 && (pkt->data[4] & 0xc0) != 0xc0) /* fscod */
 repeat = eac3_repeat[(pkt->data[4] & 0x30) >> 4]; /* numblkscod */
 
 ctx->hd_buf = av_fast_realloc(ctx->hd_buf, >hd_buf_size, 
ctx->hd_buf_filled + pkt->size);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Revert "libavcodec/utils.c: simplify avcodec locking with atomics"

2017-12-11 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Dec 11 
20:59:56 2017 +0100| [fd542b6f2026f1aa163882ee0283958598a97c31] | committer: 
Hendrik Leppkes

Revert "libavcodec/utils.c: simplify avcodec locking with atomics"

This reverts commit 590136e78da3d091ea99ab5432543d47a559a461.

Atomics are not required for this variable, because it is protected
through the lock manager, and the use of atomics here is not compatible
with the c11 emulation wrappersi.

Fixes FATE on MSVC, among other setups which use the compat wrappers.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fd542b6f2026f1aa163882ee0283958598a97c31
---

 libavcodec/internal.h |  1 +
 libavcodec/utils.c| 12 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 6deaf1d204..30cb9a0de1 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -241,6 +241,7 @@ int ff_init_buffer_info(AVCodecContext *s, AVFrame *frame);
 
 void ff_color_frame(AVFrame *frame, const int color[4]);
 
+extern volatile int ff_avcodec_locked;
 int ff_lock_avcodec(AVCodecContext *log_ctx, const AVCodec *codec);
 int ff_unlock_avcodec(const AVCodec *codec);
 
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index baf09119fe..873f39f9bd 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -115,7 +115,7 @@ static int (*lockmgr_cb)(void **mutex, enum AVLockOp op) = 
NULL;
 #endif
 
 
-static atomic_bool ff_avcodec_locked;
+volatile int ff_avcodec_locked;
 static atomic_int entangled_thread_counter = ATOMIC_VAR_INIT(0);
 static void *codec_mutex;
 static void *avformat_mutex;
@@ -1943,7 +1943,6 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum 
AVLockOp op))
 
 int ff_lock_avcodec(AVCodecContext *log_ctx, const AVCodec *codec)
 {
-_Bool exp = 0;
 if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || !codec->init)
 return 0;
 
@@ -1959,21 +1958,22 @@ int ff_lock_avcodec(AVCodecContext *log_ctx, const 
AVCodec *codec)
atomic_load(_thread_counter));
 if (!lockmgr_cb)
 av_log(log_ctx, AV_LOG_ERROR, "No lock manager is set, please see 
av_lockmgr_register()\n");
-atomic_store(_avcodec_locked, 1);
+ff_avcodec_locked = 1;
 ff_unlock_avcodec(codec);
 return AVERROR(EINVAL);
 }
-av_assert0(atomic_compare_exchange_strong(_avcodec_locked, , 1));
+av_assert0(!ff_avcodec_locked);
+ff_avcodec_locked = 1;
 return 0;
 }
 
 int ff_unlock_avcodec(const AVCodec *codec)
 {
-_Bool exp = 1;
 if (codec->caps_internal & FF_CODEC_CAP_INIT_THREADSAFE || !codec->init)
 return 0;
 
-av_assert0(atomic_compare_exchange_strong(_avcodec_locked, , 0));
+av_assert0(ff_avcodec_locked);
+ff_avcodec_locked = 0;
 atomic_fetch_add(_thread_counter, -1);
 if (lockmgr_cb) {
 if ((*lockmgr_cb)(_mutex, AV_LOCK_RELEASE))

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] nvenc: factor context push/pop into functions

2017-11-15 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Nov 11 
16:13:24 2017 +0100| [6fcbf39f9ec7dc21829577dd2b1906c7740d3fd1] | committer: 
Hendrik Leppkes

nvenc: factor context push/pop into functions

This reduces code repetition, and will allow adding further push/pop
refinement for D3D11 devices in future commits.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6fcbf39f9ec7dc21829577dd2b1906c7740d3fd1
---

 libavcodec/nvenc.c | 171 -
 1 file changed, 76 insertions(+), 95 deletions(-)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index e1d3316de3..c685d973c1 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -166,6 +166,37 @@ static av_cold int nvenc_load_libraries(AVCodecContext 
*avctx)
 return 0;
 }
 
+static int nvenc_push_context(AVCodecContext *avctx)
+{
+NvencContext *ctx= avctx->priv_data;
+NvencDynLoadFunctions *dl_fn = >nvenc_dload_funcs;
+CUresult cu_res;
+
+cu_res = dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context);
+if (cu_res != CUDA_SUCCESS) {
+av_log(avctx, AV_LOG_ERROR, "cuCtxPushCurrent failed\n");
+return AVERROR_EXTERNAL;
+}
+
+return 0;
+}
+
+static int nvenc_pop_context(AVCodecContext *avctx)
+{
+NvencContext *ctx= avctx->priv_data;
+NvencDynLoadFunctions *dl_fn = >nvenc_dload_funcs;
+CUresult cu_res;
+CUcontext dummy;
+
+cu_res = dl_fn->cuda_dl->cuCtxPopCurrent();
+if (cu_res != CUDA_SUCCESS) {
+av_log(avctx, AV_LOG_ERROR, "cuCtxPopCurrent failed\n");
+return AVERROR_EXTERNAL;
+}
+
+return 0;
+}
+
 static av_cold int nvenc_open_session(AVCodecContext *avctx)
 {
 NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS params = { 0 };
@@ -335,7 +366,6 @@ static av_cold int nvenc_check_device(AVCodecContext 
*avctx, int idx)
 int major, minor, ret;
 CUresult cu_res;
 CUdevice cu_device;
-CUcontext dummy;
 int loglevel = AV_LOG_VERBOSE;
 
 if (ctx->device == LIST_DEVICES)
@@ -378,11 +408,8 @@ static av_cold int nvenc_check_device(AVCodecContext 
*avctx, int idx)
 
 ctx->cu_context = ctx->cu_context_internal;
 
-cu_res = dl_fn->cuda_dl->cuCtxPopCurrent();
-if (cu_res != CUDA_SUCCESS) {
-av_log(avctx, AV_LOG_FATAL, "Failed popping CUDA context: 0x%x\n", 
(int)cu_res);
+if ((ret = nvenc_pop_context(avctx)) < 0)
 goto fail2;
-}
 
 if ((ret = nvenc_open_session(avctx)) < 0)
 goto fail2;
@@ -398,20 +425,14 @@ static av_cold int nvenc_check_device(AVCodecContext 
*avctx, int idx)
 return 0;
 
 fail3:
-cu_res = dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context);
-if (cu_res != CUDA_SUCCESS) {
-av_log(avctx, AV_LOG_ERROR, "cuCtxPushCurrent failed\n");
-return AVERROR_EXTERNAL;
-}
+if ((ret = nvenc_push_context(avctx)) < 0)
+return ret;
 
 p_nvenc->nvEncDestroyEncoder(ctx->nvencoder);
 ctx->nvencoder = NULL;
 
-cu_res = dl_fn->cuda_dl->cuCtxPopCurrent();
-if (cu_res != CUDA_SUCCESS) {
-av_log(avctx, AV_LOG_ERROR, "cuCtxPopCurrent failed\n");
-return AVERROR_EXTERNAL;
-}
+if ((ret = nvenc_pop_context(avctx)) < 0)
+return ret;
 
 fail2:
 dl_fn->cuda_dl->cuCtxDestroy(ctx->cu_context_internal);
@@ -1031,8 +1052,6 @@ static av_cold int nvenc_setup_encoder(AVCodecContext 
*avctx)
 NV_ENC_PRESET_CONFIG preset_config = { 0 };
 NVENCSTATUS nv_status = NV_ENC_SUCCESS;
 AVCPBProperties *cpb_props;
-CUresult cu_res;
-CUcontext dummy;
 int res = 0;
 int dw, dh;
 
@@ -1123,19 +1142,15 @@ static av_cold int nvenc_setup_encoder(AVCodecContext 
*avctx)
 if (res)
 return res;
 
-cu_res = dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context);
-if (cu_res != CUDA_SUCCESS) {
-av_log(avctx, AV_LOG_ERROR, "cuCtxPushCurrent failed\n");
-return AVERROR_EXTERNAL;
-}
+res = nvenc_push_context(avctx);
+if (res < 0)
+return res;
 
 nv_status = p_nvenc->nvEncInitializeEncoder(ctx->nvencoder, 
>init_encode_params);
 
-cu_res = dl_fn->cuda_dl->cuCtxPopCurrent();
-if (cu_res != CUDA_SUCCESS) {
-av_log(avctx, AV_LOG_ERROR, "cuCtxPopCurrent failed\n");
-return AVERROR_EXTERNAL;
-}
+res = nvenc_pop_context(avctx);
+if (res < 0)
+return res;
 
 if (nv_status != NV_ENC_SUCCESS) {
 return nvenc_print_error(avctx, nv_status, "InitializeEncoder failed");
@@ -1239,9 +1254,6 @@ static av_cold int nvenc_alloc_surface(AVCodecContext 
*avctx, int idx)
 static av_cold int nvenc_setup_surfaces(AVCodecContext *avctx)
 {
 NvencContext *ctx = avctx->priv_data;
-NvencDynLoadFunctions *dl_fn = >nvenc_dload_funcs;
-CUres

[FFmpeg-cvslog] nvenc: support d3d11 surface input

2017-11-15 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Nov 11 
16:51:58 2017 +0100| [bff6d98ba3e70bb27249579df600e2c845264b2c] | committer: 
Hendrik Leppkes

nvenc: support d3d11 surface input

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bff6d98ba3e70bb27249579df600e2c845264b2c
---

 libavcodec/nvenc.c | 103 ++---
 libavcodec/nvenc.h |  11 +-
 2 files changed, 92 insertions(+), 22 deletions(-)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index c685d973c1..0139e70c3b 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -45,6 +45,9 @@ const enum AVPixelFormat ff_nvenc_pix_fmts[] = {
 AV_PIX_FMT_0RGB32,
 AV_PIX_FMT_0BGR32,
 AV_PIX_FMT_CUDA,
+#if CONFIG_D3D11VA
+AV_PIX_FMT_D3D11,
+#endif
 AV_PIX_FMT_NONE
 };
 
@@ -172,6 +175,9 @@ static int nvenc_push_context(AVCodecContext *avctx)
 NvencDynLoadFunctions *dl_fn = >nvenc_dload_funcs;
 CUresult cu_res;
 
+if (ctx->d3d11_device)
+return 0;
+
 cu_res = dl_fn->cuda_dl->cuCtxPushCurrent(ctx->cu_context);
 if (cu_res != CUDA_SUCCESS) {
 av_log(avctx, AV_LOG_ERROR, "cuCtxPushCurrent failed\n");
@@ -188,6 +194,9 @@ static int nvenc_pop_context(AVCodecContext *avctx)
 CUresult cu_res;
 CUcontext dummy;
 
+if (ctx->d3d11_device)
+return 0;
+
 cu_res = dl_fn->cuda_dl->cuCtxPopCurrent();
 if (cu_res != CUDA_SUCCESS) {
 av_log(avctx, AV_LOG_ERROR, "cuCtxPopCurrent failed\n");
@@ -206,8 +215,13 @@ static av_cold int nvenc_open_session(AVCodecContext 
*avctx)
 
 params.version= NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER;
 params.apiVersion = NVENCAPI_VERSION;
-params.device = ctx->cu_context;
-params.deviceType = NV_ENC_DEVICE_TYPE_CUDA;
+if (ctx->d3d11_device) {
+params.device = ctx->d3d11_device;
+params.deviceType = NV_ENC_DEVICE_TYPE_DIRECTX;
+} else {
+params.device = ctx->cu_context;
+params.deviceType = NV_ENC_DEVICE_TYPE_CUDA;
+}
 
 ret = p_nvenc->nvEncOpenEncodeSessionEx(, >nvencoder);
 if (ret != NV_ENC_SUCCESS) {
@@ -458,23 +472,48 @@ static av_cold int nvenc_setup_device(AVCodecContext 
*avctx)
 return AVERROR_BUG;
 }
 
-if (avctx->pix_fmt == AV_PIX_FMT_CUDA || avctx->hw_frames_ctx || 
avctx->hw_device_ctx) {
+if (avctx->pix_fmt == AV_PIX_FMT_CUDA || avctx->pix_fmt == 
AV_PIX_FMT_D3D11 || avctx->hw_frames_ctx || avctx->hw_device_ctx) {
 AVHWFramesContext   *frames_ctx;
 AVHWDeviceContext   *hwdev_ctx;
-AVCUDADeviceContext *device_hwctx;
+AVCUDADeviceContext *cuda_device_hwctx = NULL;
+#if CONFIG_D3D11VA
+AVD3D11VADeviceContext *d3d11_device_hwctx = NULL;
+#endif
 int ret;
 
 if (avctx->hw_frames_ctx) {
 frames_ctx = (AVHWFramesContext*)avctx->hw_frames_ctx->data;
-device_hwctx = frames_ctx->device_ctx->hwctx;
+if (frames_ctx->format == AV_PIX_FMT_CUDA)
+cuda_device_hwctx = frames_ctx->device_ctx->hwctx;
+#if CONFIG_D3D11VA
+else if (frames_ctx->format == AV_PIX_FMT_D3D11)
+d3d11_device_hwctx = frames_ctx->device_ctx->hwctx;
+#endif
+else
+return AVERROR(EINVAL);
 } else if (avctx->hw_device_ctx) {
 hwdev_ctx = (AVHWDeviceContext*)avctx->hw_device_ctx->data;
-device_hwctx = hwdev_ctx->hwctx;
+if (hwdev_ctx->type == AV_HWDEVICE_TYPE_CUDA)
+cuda_device_hwctx = hwdev_ctx->hwctx;
+#if CONFIG_D3D11VA
+else if (hwdev_ctx->type == AV_HWDEVICE_TYPE_D3D11VA)
+d3d11_device_hwctx = hwdev_ctx->hwctx;
+#endif
+else
+return AVERROR(EINVAL);
 } else {
 return AVERROR(EINVAL);
 }
 
-ctx->cu_context = device_hwctx->cuda_ctx;
+if (cuda_device_hwctx) {
+ctx->cu_context = cuda_device_hwctx->cuda_ctx;
+}
+#if CONFIG_D3D11VA
+else if (d3d11_device_hwctx) {
+ctx->d3d11_device = d3d11_device_hwctx->device;
+ID3D11Device_AddRef(ctx->d3d11_device);
+}
+#endif
 
 ret = nvenc_open_session(avctx);
 if (ret < 0)
@@ -1205,7 +1244,7 @@ static av_cold int nvenc_alloc_surface(AVCodecContext 
*avctx, int idx)
 NV_ENC_CREATE_BITSTREAM_BUFFER allocOut = { 0 };
 allocOut.version = NV_ENC_CREATE_BITSTREAM_BUFFER_VER;
 
-if (avctx->pix_fmt == AV_PIX_FMT_CUDA) {
+if (avctx->pix_fmt == AV_PIX_FMT_CUDA || avctx->pix_fmt == 
AV_PIX_FMT_D3D11) {
 ctx->surfaces[idx].in_ref = av_frame_alloc();
 if (!ctx->surfaces[idx].in_ref)
 return AVERROR(ENOMEM);
@@ -1237,7 +1276,7 @@ static av_co

[FFmpeg-cvslog] vp9: move VP9SharedContext back to the top of VP9Context

2017-09-19 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Sep 19 
10:45:41 2017 +0200| [b4ecf2b582f34ff898017836b7df865e6ad9ce92] | committer: 
Hendrik Leppkes

vp9: move VP9SharedContext back to the top of VP9Context

VP9SharedContext needs to be the first member so its properties can be
safely accessed from hardware accelerators, without the need to share
the full VP9Context.

Fixes ticket #6674.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4ecf2b582f34ff898017836b7df865e6ad9ce92
---

 libavcodec/vp9dec.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vp9dec.h b/libavcodec/vp9dec.h
index 96c0e43cd2..66573edc79 100644
--- a/libavcodec/vp9dec.h
+++ b/libavcodec/vp9dec.h
@@ -89,8 +89,8 @@ typedef struct VP9Block {
 typedef struct VP9TileData VP9TileData;
 
 typedef struct VP9Context {
-VP9TileData *td;
 VP9SharedContext s;
+VP9TileData *td;
 
 VP9DSPContext dsp;
 VideoDSPContext vdsp;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Use AVOnce as a static variable consistently

2017-05-22 Thread Hendrik Leppkes
ffmpeg | branch: release/3.3 | Hendrik Leppkes <h.lepp...@gmail.com> | Mon May 
22 12:00:23 2017 +0200| [8640339dbbb50a4031b71d092dad29fa036f4266] | committer: 
Hendrik Leppkes

Use AVOnce as a static variable consistently

Using AVOnce as a stack variable makes no sense as the state is lost
when the function exits.

This fixes repeated calls to av(filter/device)_register_all

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8640339dbbb50a4031b71d092dad29fa036f4266
---

 libavdevice/alldevices.c | 2 +-
 libavfilter/allfilters.c | 2 +-
 libavformat/allformats.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
index 280a260bd3..a8ed53ae5d 100644
--- a/libavdevice/alldevices.c
+++ b/libavdevice/alldevices.c
@@ -73,7 +73,7 @@ static void register_all(void)
 
 void avdevice_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index ec6ec048e8..ba0949943a 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -381,7 +381,7 @@ static void register_all(void)
 
 void avfilter_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 09e62c3cfc..3e014c6063 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -384,7 +384,7 @@ static void register_all(void)
 
 void av_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Use AVOnce as a static variable consistently

2017-05-22 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon May 22 
12:00:23 2017 +0200| [9fb293cfd8b758b98f1f535a2867c7bf3a324af6] | committer: 
Hendrik Leppkes

Use AVOnce as a static variable consistently

Using AVOnce as a stack variable makes no sense as the state is lost
when the function exits.

This fixes repeated calls to av(filter/device)_register_all

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9fb293cfd8b758b98f1f535a2867c7bf3a324af6
---

 libavdevice/alldevices.c | 2 +-
 libavfilter/allfilters.c | 2 +-
 libavformat/allformats.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavdevice/alldevices.c b/libavdevice/alldevices.c
index 280a260bd3..a8ed53ae5d 100644
--- a/libavdevice/alldevices.c
+++ b/libavdevice/alldevices.c
@@ -73,7 +73,7 @@ static void register_all(void)
 
 void avdevice_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index 2bcfce77be..f8cd193dbe 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -390,7 +390,7 @@ static void register_all(void)
 
 void avfilter_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }
diff --git a/libavformat/allformats.c b/libavformat/allformats.c
index 62661d14a4..b3ffe0f2b6 100644
--- a/libavformat/allformats.c
+++ b/libavformat/allformats.c
@@ -385,7 +385,7 @@ static void register_all(void)
 
 void av_register_all(void)
 {
-AVOnce control = AV_ONCE_INIT;
+static AVOnce control = AV_ONCE_INIT;
 
 ff_thread_once(, register_all);
 }

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] movenc/isom: update vpcC box to version 1.0 of the specification

2017-05-15 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Apr 22 
01:25:40 2017 +0200| [64ad44a3817a288168ba97f6c022160b940cd22e] | committer: 
Hendrik Leppkes

movenc/isom: update vpcC box to version 1.0 of the specification

This brings our generation of the vpcC box up to date to version 1.0
of the VP Codec ISO Media File Format Binding.

Specifically, color/transfer properties are now written with values
based on ISO/IEC 23001-8, which is the same reference specification the
AVColor* enumerations are based on.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=64ad44a3817a288168ba97f6c022160b940cd22e
---

 libavformat/movenc.c |  3 ++-
 libavformat/vpcc.c   | 55 +---
 2 files changed, 7 insertions(+), 51 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index d20d272f89..a6c0662cd0 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1112,7 +1112,8 @@ static int mov_write_vpcc_tag(AVFormatContext *s, 
AVIOContext *pb, MOVTrack *tra
 
 avio_wb32(pb, 0);
 ffio_wfourcc(pb, "vpcC");
-avio_wb32(pb, 0); /* version & flags */
+avio_w8(pb, 1); /* version */
+avio_wb24(pb, 0); /* flags */
 ff_isom_write_vpcc(s, pb, track->par);
 return update_size(pb, pos);
 }
diff --git a/libavformat/vpcc.c b/libavformat/vpcc.c
index 2390e1711c..df08de59a6 100644
--- a/libavformat/vpcc.c
+++ b/libavformat/vpcc.c
@@ -23,44 +23,6 @@
 #include "libavutil/pixfmt.h"
 #include "vpcc.h"
 
-enum VpxColorSpace
-{
-VPX_COLOR_SPACE_UNSPECIFIED = 0,
-VPX_COLOR_SPACE_BT601 = 1,
-VPX_COLOR_SPACE_BT709 = 2,
-VPX_COLOR_SPACE_SMPTE_170 = 3,
-VPX_COLOR_SPACE_SMPTE_240 = 4,
-VPX_COLOR_SPACE_BT2020_NCL = 5,
-VPX_COLOR_SPACE_BT2020_CL = 6,
-VPX_COLOR_SPACE_RGB = 7,
-};
-
-static int get_vpx_color_space(AVFormatContext *s,
-   enum AVColorSpace color_space)
-{
-switch (color_space) {
-case AVCOL_SPC_RGB:
-return VPX_COLOR_SPACE_RGB;
-case AVCOL_SPC_BT709:
-return VPX_COLOR_SPACE_BT709;
-case AVCOL_SPC_UNSPECIFIED:
-return VPX_COLOR_SPACE_UNSPECIFIED;
-case AVCOL_SPC_BT470BG:
-return VPX_COLOR_SPACE_BT601;
-case AVCOL_SPC_SMPTE170M:
-return VPX_COLOR_SPACE_SMPTE_170;
-case AVCOL_SPC_SMPTE240M:
-return VPX_COLOR_SPACE_SMPTE_240;
-case AVCOL_SPC_BT2020_NCL:
-return VPX_COLOR_SPACE_BT2020_NCL;
-case AVCOL_SPC_BT2020_CL:
-return VPX_COLOR_SPACE_BT2020_CL;
-default:
-av_log(s, AV_LOG_ERROR, "Unsupported color space (%d)\n", color_space);
-return -1;
-}
-}
-
 enum VPX_CHROMA_SUBSAMPLING
 {
 VPX_SUBSAMPLING_420_VERTICAL = 0,
@@ -100,12 +62,6 @@ static int get_bit_depth(AVFormatContext *s, enum 
AVPixelFormat pixel_format)
 return desc->comp[0].depth;
 }
 
-static int get_vpx_transfer_function(
-enum AVColorTransferCharacteristic transfer)
-{
-return transfer == AVCOL_TRC_SMPTEST2084;
-}
-
 static int get_vpx_video_full_range_flag(enum AVColorRange color_range)
 {
 return color_range == AVCOL_RANGE_JPEG;
@@ -117,14 +73,12 @@ int ff_isom_write_vpcc(AVFormatContext *s, AVIOContext *pb,
 int profile = par->profile;
 int level = par->level == FF_LEVEL_UNKNOWN ? 0 : par->level;
 int bit_depth = get_bit_depth(s, par->format);
-int vpx_color_space = get_vpx_color_space(s, par->color_space);
 int vpx_chroma_subsampling =
 get_vpx_chroma_subsampling(s, par->format, par->chroma_location);
-int vpx_transfer_function = get_vpx_transfer_function(par->color_trc);
 int vpx_video_full_range_flag =
 get_vpx_video_full_range_flag(par->color_range);
 
-if (bit_depth < 0 || vpx_color_space < 0 || vpx_chroma_subsampling < 0)
+if (bit_depth < 0 || vpx_chroma_subsampling < 0)
 return AVERROR_INVALIDDATA;
 
 if (profile == FF_PROFILE_UNKNOWN) {
@@ -138,9 +92,10 @@ int ff_isom_write_vpcc(AVFormatContext *s, AVIOContext *pb,
 
 avio_w8(pb, profile);
 avio_w8(pb, level);
-avio_w8(pb, (bit_depth << 4) | vpx_color_space);
-avio_w8(pb, (vpx_chroma_subsampling << 4) | (vpx_transfer_function << 1) |
-vpx_video_full_range_flag);
+avio_w8(pb, (bit_depth << 4) | (vpx_chroma_subsampling << 1) | 
vpx_video_full_range_flag);
+avio_w8(pb, par->color_primaries);
+avio_w8(pb, par->color_trc);
+avio_w8(pb, par->color_space);
 
 // vp9 does not have codec initialization data.
 avio_wb16(pb, 0);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '9265364bec0af2e8b7c3a6de7bfc8291a0b70bca'

2017-04-13 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Apr 13 
11:05:50 2017 +0200| [1849d0caa52f6748f59c75ee0d29adde9cb3451b] | committer: 
Hendrik Leppkes

Merge commit '9265364bec0af2e8b7c3a6de7bfc8291a0b70bca'

* commit '9265364bec0af2e8b7c3a6de7bfc8291a0b70bca':
  build: Separate avisynth and avxsynth support

Mostly noop, since it could break linux configure with --enable-avisynth,
and the configure code which was simplified isn't even present in
ffmpeg.

Only merged the cosmetic re-ordering in the Makefile.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1849d0caa52f6748f59c75ee0d29adde9cb3451b
---

 libavformat/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/Makefile b/libavformat/Makefile
index a1dae894fe..6bdfbe6789 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -107,7 +107,6 @@ OBJS-$(CONFIG_AU_DEMUXER)+= au.o pcm.o
 OBJS-$(CONFIG_AU_MUXER)  += au.o rawenc.o
 OBJS-$(CONFIG_AVI_DEMUXER)   += avidec.o
 OBJS-$(CONFIG_AVI_MUXER) += avienc.o mpegtsenc.o avlanguage.o 
rawutils.o
-OBJS-$(CONFIG_AVISYNTH_DEMUXER)  += avisynth.o
 OBJS-$(CONFIG_AVM2_MUXER)+= swfenc.o swf.o
 OBJS-$(CONFIG_AVR_DEMUXER)   += avr.o pcm.o
 OBJS-$(CONFIG_AVS_DEMUXER)   += avs.o voc_packet.o vocdec.o voc.o
@@ -534,6 +533,7 @@ OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER)  += yuv4mpegdec.o
 OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER)+= yuv4mpegenc.o
 
 # external libraries
+OBJS-$(CONFIG_AVISYNTH_DEMUXER)  += avisynth.o
 OBJS-$(CONFIG_CHROMAPRINT_MUXER) += chromaprint.o
 OBJS-$(CONFIG_LIBGME_DEMUXER)+= libgme.o
 OBJS-$(CONFIG_LIBMODPLUG_DEMUXER)+= libmodplug.o


==

diff --cc libavformat/Makefile
index a1dae894fe,6146cbe12a..6bdfbe6789
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@@ -106,11 -84,9 +106,10 @@@ OBJS-$(CONFIG_AST_MUXER
  OBJS-$(CONFIG_AU_DEMUXER)+= au.o pcm.o
  OBJS-$(CONFIG_AU_MUXER)  += au.o rawenc.o
  OBJS-$(CONFIG_AVI_DEMUXER)   += avidec.o
 -OBJS-$(CONFIG_AVI_MUXER) += avienc.o
 +OBJS-$(CONFIG_AVI_MUXER) += avienc.o mpegtsenc.o avlanguage.o 
rawutils.o
- OBJS-$(CONFIG_AVISYNTH_DEMUXER)  += avisynth.o
  OBJS-$(CONFIG_AVM2_MUXER)+= swfenc.o swf.o
 -OBJS-$(CONFIG_AVS_DEMUXER)   += avs.o voc_packet.o voc.o
 +OBJS-$(CONFIG_AVR_DEMUXER)   += avr.o pcm.o
 +OBJS-$(CONFIG_AVS_DEMUXER)   += avs.o voc_packet.o vocdec.o voc.o
  OBJS-$(CONFIG_BETHSOFTVID_DEMUXER)   += bethsoftvid.o
  OBJS-$(CONFIG_BFI_DEMUXER)   += bfi.o
  OBJS-$(CONFIG_BINK_DEMUXER)  += bink.o
@@@ -534,24 -378,13 +533,25 @@@ OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER
  OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER)+= yuv4mpegenc.o
  
  # external libraries
+ OBJS-$(CONFIG_AVISYNTH_DEMUXER)  += avisynth.o
 +OBJS-$(CONFIG_CHROMAPRINT_MUXER) += chromaprint.o
 +OBJS-$(CONFIG_LIBGME_DEMUXER)+= libgme.o
 +OBJS-$(CONFIG_LIBMODPLUG_DEMUXER)+= libmodplug.o
 +OBJS-$(CONFIG_LIBNUT_DEMUXER)+= libnut.o
 +OBJS-$(CONFIG_LIBNUT_MUXER)  += libnut.o
 +OBJS-$(CONFIG_LIBOPENMPT_DEMUXER)+= libopenmpt.o
  OBJS-$(CONFIG_LIBRTMP)   += librtmp.o
 +OBJS-$(CONFIG_LIBSSH_PROTOCOL)   += libssh.o
 +OBJS-$(CONFIG_LIBSMBCLIENT_PROTOCOL) += libsmbclient.o
  
  # protocols I/O
 +OBJS-$(CONFIG_ASYNC_PROTOCOL)+= async.o
  OBJS-$(CONFIG_APPLEHTTP_PROTOCOL)+= hlsproto.o
 +OBJS-$(CONFIG_BLURAY_PROTOCOL)   += bluray.o
 +OBJS-$(CONFIG_CACHE_PROTOCOL)+= cache.o
  OBJS-$(CONFIG_CONCAT_PROTOCOL)   += concat.o
  OBJS-$(CONFIG_CRYPTO_PROTOCOL)   += crypto.o
 +OBJS-$(CONFIG_DATA_PROTOCOL) += data_uri.o
  OBJS-$(CONFIG_FFRTMPCRYPT_PROTOCOL)  += rtmpcrypt.o rtmpdh.o
  OBJS-$(CONFIG_FFRTMPHTTP_PROTOCOL)   += rtmphttp.o
  OBJS-$(CONFIG_FILE_PROTOCOL) += file.o

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] stdatomic/win32: only include the lean windows headers to avoid conflicts

2017-04-04 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Apr  4 
09:33:23 2017 +0200| [9ac1e884365314765f75517e91563be0351f6bd1] | committer: 
Hendrik Leppkes

stdatomic/win32: only include the lean windows headers to avoid conflicts

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ac1e884365314765f75517e91563be0351f6bd1
---

 compat/atomics/win32/stdatomic.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
index fa7ef51..092f453 100644
--- a/compat/atomics/win32/stdatomic.h
+++ b/compat/atomics/win32/stdatomic.h
@@ -19,6 +19,7 @@
 #ifndef COMPAT_ATOMICS_WIN32_STDATOMIC_H
 #define COMPAT_ATOMICS_WIN32_STDATOMIC_H
 
+#define WIN32_LEAN_AND_MEAN
 #include 
 #include 
 #include 

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '5a1d605ceae448b476a525f7368ec452000d1f26'

2017-04-01 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Apr  1 
18:53:36 2017 +0200| [0f9ce9c5fcdb4ae9f990835f6579c33f7619e904] | committer: 
Hendrik Leppkes

Merge commit '5a1d605ceae448b476a525f7368ec452000d1f26'

* commit '5a1d605ceae448b476a525f7368ec452000d1f26':
  hwcontext_dxva2: split transfer_data() into upload/download functions

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0f9ce9c5fcdb4ae9f990835f6579c33f7619e904
---

 libavutil/hwcontext_dxva2.c | 53 -
 1 file changed, 33 insertions(+), 20 deletions(-)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index c5d93d1..89fedd2 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -325,12 +325,34 @@ fail:
 return err;
 }
 
-static int dxva2_transfer_data(AVHWFramesContext *ctx, AVFrame *dst,
-   const AVFrame *src)
+static int dxva2_transfer_data_to(AVHWFramesContext *ctx, AVFrame *dst,
+  const AVFrame *src)
 {
-int download = !!src->hw_frames_ctx;
+AVFrame *map;
+int ret;
+
+map = av_frame_alloc();
+if (!map)
+return AVERROR(ENOMEM);
+map->format = dst->format;
+
+ret = dxva2_map_frame(ctx, map, dst, AV_HWFRAME_MAP_WRITE | 
AV_HWFRAME_MAP_OVERWRITE);
+if (ret < 0)
+goto fail;
 
+av_image_copy(map->data, map->linesize, src->data, src->linesize,
+  ctx->sw_format, src->width, src->height);
+
+fail:
+av_frame_free();
+return ret;
+}
+
+static int dxva2_transfer_data_from(AVHWFramesContext *ctx, AVFrame *dst,
+const AVFrame *src)
+{
 AVFrame *map;
+ptrdiff_t src_linesize[4], dst_linesize[4];
 int ret, i;
 
 map = av_frame_alloc();
@@ -338,25 +360,16 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, 
AVFrame *dst,
 return AVERROR(ENOMEM);
 map->format = dst->format;
 
-ret = dxva2_map_frame(ctx, map, download ? src : dst,
-  download ? AV_HWFRAME_MAP_READ :
- AV_HWFRAME_MAP_WRITE | 
AV_HWFRAME_MAP_OVERWRITE);
+ret = dxva2_map_frame(ctx, map, src, AV_HWFRAME_MAP_READ);
 if (ret < 0)
 goto fail;
 
-if (download) {
-ptrdiff_t src_linesize[4], dst_linesize[4];
-for (i = 0; i < 4; i++) {
-dst_linesize[i] = dst->linesize[i];
-src_linesize[i] = map->linesize[i];
-}
-av_image_copy_uc_from(dst->data, dst_linesize, map->data, src_linesize,
-  ctx->sw_format, src->width, src->height);
-} else {
-av_image_copy(map->data, map->linesize, src->data, src->linesize,
-  ctx->sw_format, src->width, src->height);
+for (i = 0; i < 4; i++) {
+dst_linesize[i] = dst->linesize[i];
+src_linesize[i] = map->linesize[i];
 }
-
+av_image_copy_uc_from(dst->data, dst_linesize, map->data, src_linesize,
+  ctx->sw_format, src->width, src->height);
 fail:
 av_frame_free();
 return ret;
@@ -557,8 +570,8 @@ const HWContextType ff_hwcontext_type_dxva2 = {
 .frames_uninit= dxva2_frames_uninit,
 .frames_get_buffer= dxva2_get_buffer,
 .transfer_get_formats = dxva2_transfer_get_formats,
-.transfer_data_to = dxva2_transfer_data,
-.transfer_data_from   = dxva2_transfer_data,
+.transfer_data_to = dxva2_transfer_data_to,
+.transfer_data_from   = dxva2_transfer_data_from,
 .map_from = dxva2_map_from,
 
 .pix_fmts = (const enum AVPixelFormat[]){ 
AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_NONE },


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'e18ba2dfd2d19aedc8afccf011d5fd0833352423'

2017-04-01 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Apr  1 
18:53:40 2017 +0200| [5c612c5ff8c4adf33ede42ad63183c41334ea2d2] | committer: 
Hendrik Leppkes

Merge commit 'e18ba2dfd2d19aedc8afccf011d5fd0833352423'

* commit 'e18ba2dfd2d19aedc8afccf011d5fd0833352423':
  hwcontext_dxva2: make sure the sw frame format is the right one during 
transfer

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5c612c5ff8c4adf33ede42ad63183c41334ea2d2
---

 libavutil/hwcontext_dxva2.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index 89fedd2..4ed0d56 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -331,6 +331,9 @@ static int dxva2_transfer_data_to(AVHWFramesContext *ctx, 
AVFrame *dst,
 AVFrame *map;
 int ret;
 
+if (src->format != ctx->sw_format)
+return AVERROR(ENOSYS);
+
 map = av_frame_alloc();
 if (!map)
 return AVERROR(ENOMEM);
@@ -355,6 +358,9 @@ static int dxva2_transfer_data_from(AVHWFramesContext *ctx, 
AVFrame *dst,
 ptrdiff_t src_linesize[4], dst_linesize[4];
 int ret, i;
 
+if (dst->format != ctx->sw_format)
+return AVERROR(ENOSYS);
+
 map = av_frame_alloc();
 if (!map)
 return AVERROR(ENOMEM);


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '9d7026574bbbe67d004a1c32911da75375692967'

2017-04-01 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Apr  1 
18:53:32 2017 +0200| [fbfa72916c896e4008d73567f09510336e65cd99] | committer: 
Hendrik Leppkes

Merge commit '9d7026574bbbe67d004a1c32911da75375692967'

* commit '9d7026574bbbe67d004a1c32911da75375692967':
  hwcontext_dxva2: fix handling of the mapping flags

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fbfa72916c896e4008d73567f09510336e65cd99
---

 libavutil/hwcontext_dxva2.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index 5294106..c5d93d1 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -278,6 +278,7 @@ static int dxva2_map_frame(AVHWFramesContext *ctx, AVFrame 
*dst, const AVFrame *
 D3DLOCKED_RECT LockedRect;
 HRESULThr;
 int i, err, nb_planes;
+int lock_flags = 0;
 
 nb_planes = av_pix_fmt_count_planes(dst->format);
 
@@ -287,8 +288,12 @@ static int dxva2_map_frame(AVHWFramesContext *ctx, AVFrame 
*dst, const AVFrame *
 return AVERROR_UNKNOWN;
 }
 
-hr = IDirect3DSurface9_LockRect(surface, , NULL,
-flags & AV_HWFRAME_MAP_READ ? 
D3DLOCK_READONLY : D3DLOCK_DISCARD);
+if (!(flags & AV_HWFRAME_MAP_WRITE))
+lock_flags |= D3DLOCK_READONLY;
+if (flags & AV_HWFRAME_MAP_OVERWRITE)
+lock_flags |= D3DLOCK_DISCARD;
+
+hr = IDirect3DSurface9_LockRect(surface, , NULL, lock_flags);
 if (FAILED(hr)) {
 av_log(ctx, AV_LOG_ERROR, "Unable to lock DXVA2 surface\n");
 return AVERROR_UNKNOWN;
@@ -334,7 +339,8 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, 
AVFrame *dst,
 map->format = dst->format;
 
 ret = dxva2_map_frame(ctx, map, download ? src : dst,
-  download ? AV_HWFRAME_MAP_READ : 
AV_HWFRAME_MAP_WRITE);
+  download ? AV_HWFRAME_MAP_READ :
+ AV_HWFRAME_MAP_WRITE | 
AV_HWFRAME_MAP_OVERWRITE);
 if (ret < 0)
 goto fail;
 


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '0d3176e32f351d18d6174d8b05796829a75a4c6b'

2017-04-01 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Apr  1 
18:53:27 2017 +0200| [d91e7aac122fef557afe9695ea2c9780ecc742ca] | committer: 
Hendrik Leppkes

Merge commit '0d3176e32f351d18d6174d8b05796829a75a4c6b'

* commit '0d3176e32f351d18d6174d8b05796829a75a4c6b':
  hwcontext_dxva2: do not assume the destination format during mapping is 
always the right one

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d91e7aac122fef557afe9695ea2c9780ecc742ca
---

 libavutil/hwcontext_dxva2.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index c5265b9..5294106 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -361,6 +361,10 @@ static int dxva2_map_from(AVHWFramesContext *ctx,
 {
 int err;
 
+if (dst->format != AV_PIX_FMT_NONE && dst->format != ctx->sw_format)
+return AVERROR(ENOSYS);
+dst->format = ctx->sw_format;
+
 err = dxva2_map_frame(ctx, dst, src, flags);
 if (err < 0)
 return err;


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '910973765417f06a4a9ccbd006e4df74c32ecb01'

2017-03-30 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Mar 30 
11:33:51 2017 +0200| [9ca5d2de5d14fb60a0b4d2eace73a34e7e33861f] | committer: 
Hendrik Leppkes

Merge commit '910973765417f06a4a9ccbd006e4df74c32ecb01'

* commit '910973765417f06a4a9ccbd006e4df74c32ecb01':
  hwcontext_dxva2: frame mapping support

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ca5d2de5d14fb60a0b4d2eace73a34e7e33861f
---

 libavutil/hwcontext_dxva2.c | 89 ++---
 1 file changed, 68 insertions(+), 21 deletions(-)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index 8d03c5a..bc53d53 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -257,21 +257,22 @@ static int dxva2_transfer_get_formats(AVHWFramesContext 
*ctx,
 return 0;
 }
 
-static int dxva2_transfer_data(AVHWFramesContext *ctx, AVFrame *dst,
-   const AVFrame *src)
+static void dxva2_unmap_frame(AVHWFramesContext *ctx, HWMapDescriptor *hwmap)
+{
+IDirect3DSurface9 *surface = (IDirect3DSurface9*)hwmap->source->data[3];
+IDirect3DSurface9_UnlockRect(surface);
+}
+
+static int dxva2_map_frame(AVHWFramesContext *ctx, AVFrame *dst, const AVFrame 
*src,
+   int flags)
 {
-IDirect3DSurface9 *surface;
+IDirect3DSurface9 *surface = (IDirect3DSurface9*)src->data[3];
 D3DSURFACE_DESCsurfaceDesc;
 D3DLOCKED_RECT LockedRect;
 HRESULThr;
+int i, err, nb_planes;
 
-uint8_t *surf_data[4] = { NULL };
-int  surf_linesize[4] = { 0 };
-int i;
-
-int download = !!src->hw_frames_ctx;
-
-surface = (IDirect3DSurface9*)(download ? src->data[3] : dst->data[3]);
+nb_planes = av_pix_fmt_count_planes(dst->format);
 
 hr = IDirect3DSurface9_GetDesc(surface, );
 if (FAILED(hr)) {
@@ -280,32 +281,77 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, 
AVFrame *dst,
 }
 
 hr = IDirect3DSurface9_LockRect(surface, , NULL,
-download ? D3DLOCK_READONLY : 
D3DLOCK_DISCARD);
+flags & AV_HWFRAME_MAP_READ ? 
D3DLOCK_READONLY : D3DLOCK_DISCARD);
 if (FAILED(hr)) {
 av_log(ctx, AV_LOG_ERROR, "Unable to lock DXVA2 surface\n");
 return AVERROR_UNKNOWN;
 }
 
-for (i = 0; download ? dst->data[i] : src->data[i]; i++)
-surf_linesize[i] = LockedRect.Pitch;
+err = ff_hwframe_map_create(src->hw_frames_ctx, dst, src,
+dxva2_unmap_frame, NULL);
+if (err < 0)
+goto fail;
+
+for (i = 0; i < nb_planes; i++)
+dst->linesize[i] = LockedRect.Pitch;
+
+av_image_fill_pointers(dst->data, dst->format, surfaceDesc.Height,
+   (uint8_t*)LockedRect.pBits, dst->linesize);
 
-av_image_fill_pointers(surf_data, ctx->sw_format, surfaceDesc.Height,
-   (uint8_t*)LockedRect.pBits, surf_linesize);
+return 0;
+fail:
+IDirect3DSurface9_UnlockRect(surface);
+return err;
+}
+
+static int dxva2_transfer_data(AVHWFramesContext *ctx, AVFrame *dst,
+   const AVFrame *src)
+{
+int download = !!src->hw_frames_ctx;
+
+AVFrame *map;
+int ret, i;
+
+map = av_frame_alloc();
+if (!map)
+return AVERROR(ENOMEM);
+map->format = dst->format;
+
+ret = dxva2_map_frame(ctx, map, download ? src : dst,
+  download ? AV_HWFRAME_MAP_READ : 
AV_HWFRAME_MAP_WRITE);
+if (ret < 0)
+goto fail;
 
 if (download) {
-ptrdiff_t src_linesize1[4], dst_linesize1[4];
+ptrdiff_t src_linesize[4], dst_linesize[4];
 for (i = 0; i < 4; i++) {
-dst_linesize1[i] = dst->linesize[i];
-src_linesize1[i] = surf_linesize[i];
+dst_linesize[i] = dst->linesize[i];
+src_linesize[i] = map->linesize[i];
 }
-av_image_copy_uc_from(dst->data, dst_linesize1, surf_data, 
src_linesize1,
+av_image_copy_uc_from(dst->data, dst_linesize, map->data, src_linesize,
   ctx->sw_format, src->width, src->height);
 } else {
-av_image_copy(surf_data, surf_linesize, src->data, src->linesize,
+av_image_copy(map->data, map->linesize, src->data, src->linesize,
   ctx->sw_format, src->width, src->height);
 }
 
-IDirect3DSurface9_UnlockRect(surface);
+fail:
+av_frame_free();
+return ret;
+}
+
+static int dxva2_map_from(AVHWFramesContext *ctx,
+  AVFrame *dst, const AVFrame *src, int flags)
+{
+int err;
+
+err = dxva2_map_frame(ctx, dst, src, flags);
+if (err < 0)
+return err;
+
+err = a

[FFmpeg-cvslog] Merge commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42'

2017-03-30 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Mar 30 
11:37:39 2017 +0200| [14764b93e282f1c1a30d093da915df1b692db126] | committer: 
Hendrik Leppkes

Merge commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42'

* commit '10065d9324c2e35ce7040b6a2b9ebf6079bcbf42':
  hwcontext_dxva2: add support for the P8 format

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=14764b93e282f1c1a30d093da915df1b692db126
---

 libavutil/hwcontext_dxva2.c | 20 ++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index bc53d53..c5265b9 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -56,6 +56,10 @@ static const D3DPRESENT_PARAMETERS dxva2_present_params = {
 .Flags= D3DPRESENTFLAG_VIDEO,
 };
 
+typedef struct DXVA2Mapping {
+uint32_t palette_dummy[256];
+} DXVA2Mapping;
+
 typedef struct DXVA2FramesContext {
 IDirect3DSurface9 **surfaces_internal;
 int  nb_surfaces_used;
@@ -82,6 +86,7 @@ static const struct {
 } supported_formats[] = {
 { MKTAG('N', 'V', '1', '2'), AV_PIX_FMT_NV12 },
 { MKTAG('P', '0', '1', '0'), AV_PIX_FMT_P010 },
+{ D3DFMT_P8, AV_PIX_FMT_PAL8 },
 };
 
 DEFINE_GUID(video_decoder_service,   0xfc51a551, 0xd5e7, 0x11d9, 0xaf, 0x55, 
0x00, 0x05, 0x4e, 0x43, 0xff, 0x02);
@@ -261,12 +266,14 @@ static void dxva2_unmap_frame(AVHWFramesContext *ctx, 
HWMapDescriptor *hwmap)
 {
 IDirect3DSurface9 *surface = (IDirect3DSurface9*)hwmap->source->data[3];
 IDirect3DSurface9_UnlockRect(surface);
+av_freep(>priv);
 }
 
 static int dxva2_map_frame(AVHWFramesContext *ctx, AVFrame *dst, const AVFrame 
*src,
int flags)
 {
 IDirect3DSurface9 *surface = (IDirect3DSurface9*)src->data[3];
+DXVA2Mapping  *map;
 D3DSURFACE_DESCsurfaceDesc;
 D3DLOCKED_RECT LockedRect;
 HRESULThr;
@@ -287,10 +294,16 @@ static int dxva2_map_frame(AVHWFramesContext *ctx, 
AVFrame *dst, const AVFrame *
 return AVERROR_UNKNOWN;
 }
 
+map = av_mallocz(sizeof(*map));
+if (!map)
+goto fail;
+
 err = ff_hwframe_map_create(src->hw_frames_ctx, dst, src,
-dxva2_unmap_frame, NULL);
-if (err < 0)
+dxva2_unmap_frame, map);
+if (err < 0) {
+av_freep();
 goto fail;
+}
 
 for (i = 0; i < nb_planes; i++)
 dst->linesize[i] = LockedRect.Pitch;
@@ -298,6 +311,9 @@ static int dxva2_map_frame(AVHWFramesContext *ctx, AVFrame 
*dst, const AVFrame *
 av_image_fill_pointers(dst->data, dst->format, surfaceDesc.Height,
(uint8_t*)LockedRect.pBits, dst->linesize);
 
+if (dst->format == AV_PIX_FMT_PAL8)
+dst->data[1] = (uint8_t*)map->palette_dummy;
+
 return 0;
 fail:
 IDirect3DSurface9_UnlockRect(surface);


==

diff --cc libavutil/hwcontext_dxva2.c
index bc53d53,600cf0e..c5265b9
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@@ -37,25 -36,14 +37,29 @@@
  #include "imgutils.h"
  #include "pixdesc.h"
  #include "pixfmt.h"
 +#include "compat/w32dlfcn.h"
  
  typedef IDirect3D9* WINAPI pDirect3DCreate9(UINT);
 +typedef HRESULT WINAPI pDirect3DCreate9Ex(UINT, IDirect3D9Ex **);
  typedef HRESULT WINAPI pCreateDeviceManager9(UINT *, IDirect3DDeviceManager9 
**);
  
 +#define FF_D3DCREATE_FLAGS (D3DCREATE_SOFTWARE_VERTEXPROCESSING | \
 +D3DCREATE_MULTITHREADED | \
 +D3DCREATE_FPU_PRESERVE)
 +
 +static const D3DPRESENT_PARAMETERS dxva2_present_params = {
 +.Windowed = TRUE,
 +.BackBufferWidth  = 640,
 +.BackBufferHeight = 480,
 +.BackBufferCount  = 0,
 +.SwapEffect   = D3DSWAPEFFECT_DISCARD,
 +.Flags= D3DPRESENTFLAG_VIDEO,
 +};
 +
+ typedef struct DXVA2Mapping {
+ uint32_t palette_dummy[256];
+ } DXVA2Mapping;
+ 
  typedef struct DXVA2FramesContext {
  IDirect3DSurface9 **surfaces_internal;
  int  nb_surfaces_used;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] dxva2: fix surface selection when compiled with both d3d11va and dxva2

2017-03-30 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov  7 
09:59:28 2016 +0100| [fabfbfe5710050812147f93a351a53fdda56ff8c] | committer: 
Anton Khirnov

dxva2: fix surface selection when compiled with both d3d11va and dxva2

Fixes a regression introduced in
be630b1e08ebe8f766b1798accd6b8e5e096f5aa

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fabfbfe5710050812147f93a351a53fdda56ff8c
---

 libavcodec/dxva2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dxva2.c b/libavcodec/dxva2.c
index eeac474..9fedd03 100644
--- a/libavcodec/dxva2.c
+++ b/libavcodec/dxva2.c
@@ -41,7 +41,7 @@ unsigned ff_dxva2_get_surface_index(const AVCodecContext 
*avctx,
 void *surface = ff_dxva2_get_surface(frame);
 unsigned i;
 
-for (i = 0; i < DXVA_CONTEXT_COUNT(avctx, ctx); i++)
+for (i = 0; i < DXVA_CONTEXT_COUNT(avctx, ctx); i++) {
 #if CONFIG_D3D11VA
 if (avctx->pix_fmt == AV_PIX_FMT_D3D11VA_VLD && 
ctx->d3d11va.surface[i] == surface) {
 D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC viewDesc;
@@ -53,6 +53,7 @@ unsigned ff_dxva2_get_surface_index(const AVCodecContext 
*avctx,
 if (avctx->pix_fmt == AV_PIX_FMT_DXVA2_VLD && ctx->dxva2.surface[i] == 
surface)
 return i;
 #endif
+}
 
 assert(0);
 return 0;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] x86/h264_weight: use appropriate register size for weight parameters

2017-03-21 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Sep 23 
09:52:48 2016 +0200| [8d1267932ca9c2e343ef303349101bab6681d02e] | committer: 
Martin Storsjö

x86/h264_weight: use appropriate register size for weight parameters

This fixes decoding corruption on 64 bit windows.

Signed-off-by: Martin Storsjö <mar...@martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d1267932ca9c2e343ef303349101bab6681d02e
---

 libavcodec/x86/h264_weight.asm | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libavcodec/x86/h264_weight.asm b/libavcodec/x86/h264_weight.asm
index 9ad26de..e421ec8 100644
--- a/libavcodec/x86/h264_weight.asm
+++ b/libavcodec/x86/h264_weight.asm
@@ -134,16 +134,16 @@ WEIGHT_FUNC_HALF_MM 8, 8
 mov  off_regd, r7m
 add  off_regd, 1
 or   off_regd, 1
-addr4, 1
-cmpr6d, 128
+add   r4d, 1
+cmp   r6d, 128
 je .nonnormal
-cmpr5, 128
+cmp   r5d, 128
 jne .normal
 .nonnormal
-sarr5, 1
-sarr6, 1
+sar   r5d, 1
+sar   r6d, 1
 sar  off_regd, 1
-subr4, 1
+sub   r4d, 1
 .normal
 %if cpuflag(ssse3)
 movd   m4, r5d

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avformat/hlsenc: don't use %s for strftime on msvc

2017-02-24 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Feb 25 
11:23:50 2017 +0800| [3aef2fceff3205605aed19f8a81b56db56496631] | committer: 
Steven Liu

avformat/hlsenc: don't use %s for strftime on msvc

MSVC doesn't support the %s time format, and instead of returning an
error the invalid parameter handler is invoked which (by default)
terminates the process.

Reviewed-by:Steven Liu <l...@chinaffmpeg.org>
Signed-off-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3aef2fceff3205605aed19f8a81b56db56496631
---

 libavformat/hlsenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 0238705..9cf6211 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -1027,7 +1027,8 @@ static const char * 
get_default_pattern_localtime_fmt(void)
 struct tm *p, tmbuf;
 p = localtime_r(, );
 // no %s support when strftime returned error or left format string 
unchanged
-return (!strftime(b, sizeof(b), "%s", p) || !strcmp(b, "%s")) ? 
"-%Y%m%d%H%M%S.ts" : "-%s.ts";
+// also no %s support on MSVC, which invokes the invalid parameter handler 
on unsupported format strings, instead of returning an error
+return (HAVE_LIBC_MSVCRT || !strftime(b, sizeof(b), "%s", p) || !strcmp(b, 
"%s")) ? "-%Y%m%d%H%M%S.ts" : "-%s.ts";
 }
 
 static int hls_write_header(AVFormatContext *s)

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: use dashes instead of slashes in lib.exe invocation

2017-02-06 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Feb  6 
19:45:54 2017 +0100| [a6cee50fa206466f7a5fe8a46f87561a403ff52f] | committer: 
Hendrik Leppkes

configure: use dashes instead of slashes in lib.exe invocation

This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a6cee50fa206466f7a5fe8a46f87561a403ff52f
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 231cc3e..2755576 100755
--- a/configure
+++ b/configure
@@ -4804,7 +4804,7 @@ case $target_os in
 SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
 dlltool="${cross_prefix}dlltool"
 if check_cmd lib.exe -list; then
-SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > 
$$(@:$(SLIBSUF)=.def); lib.exe /nologo /machine:$(LIBTARGET) 
/def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
+SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > 
$$(@:$(SLIBSUF)=.def); lib.exe -nologo -machine:$(LIBTARGET) 
-def:$$(@:$(SLIBSUF)=.def) -out:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
 if enabled x86_64; then
 LIBTARGET=x64
 fi

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: add nologo switch to invocation of lib.exe

2017-02-04 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Feb  3 
09:36:55 2017 +0100| [647af1a0dd2e1ea880790df0c3047cb44c3cd53b] | committer: 
Hendrik Leppkes

configure: add nologo switch to invocation of lib.exe

This suppresses the startup banner, which is consistent with all other calls
to the Windows SDK binaries.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=647af1a0dd2e1ea880790df0c3047cb44c3cd53b
---

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index b22c8b3..d3d652f 100755
--- a/configure
+++ b/configure
@@ -4804,7 +4804,7 @@ case $target_os in
 SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
 dlltool="${cross_prefix}dlltool"
 if check_cmd lib.exe -list; then
-SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > 
$$(@:$(SLIBSUF)=.def); lib.exe /machine:$(LIBTARGET) /def:$$(@:$(SLIBSUF)=.def) 
/out:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
+SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > 
$$(@:$(SLIBSUF)=.def); lib.exe /nologo /machine:$(LIBTARGET) 
/def:$$(@:$(SLIBSUF)=.def) /out:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
 if enabled x86_64; then
 LIBTARGET=x64
 fi

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] configure: instruct MSVC 2015 to properly process UTF-8 string literals

2017-02-04 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Feb  3 
09:37:53 2017 +0100| [8b80feb9a70bca07e6ea2e1a0b870915e88f13f7] | committer: 
Hendrik Leppkes

configure: instruct MSVC 2015 to properly process UTF-8 string literals

Without the /UTF-8 switch, the MSVC compiler treats all files as in the
system codepage, instead of in UTF-8, which causes UTF-8 string literals
to be interpreted wrong.

This switch was only introduced in VS2015 Update 2, and any earlier
versions do not have an equivalent solution.

Fixes fate-sub-scc on MSVC 2015+

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8b80feb9a70bca07e6ea2e1a0b870915e88f13f7
---

 configure | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure b/configure
index d3d652f..231cc3e 100755
--- a/configure
+++ b/configure
@@ -6327,6 +6327,9 @@ EOF
 # Issue has been fixed in MSVC v19.00.24218.
 check_cpp_condition windows.h "_MSC_FULL_VER >= 190024218" ||
 check_cflags -d2SSAOptimizer-
+# enable utf-8 source processing on VS2015 U2 and newer
+check_cpp_condition windows.h "_MSC_FULL_VER >= 190023918" &&
+add_cflags -utf-8
 fi
 
 for pfx in "" host_; do

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn' t contain that data.

2017-02-02 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Wed May  2 
16:34:45 2012 +0200| [7f549b8338ed3775fec4bf10421ff5744e5866dd] | committer: 
Anton Khirnov

riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that 
data.

According to the specification on the MSDN [1], 0 is valid for that
particular field, and it should be ignored in that case.

[1]: 
http://msdn.microsoft.com/en-us/library/windows/desktop/dd757714(v=vs.85).aspx

Bug-Id: 950

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7f549b8338ed3775fec4bf10421ff5744e5866dd
---

 libavformat/riffdec.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
index 531413c..8124835 100644
--- a/libavformat/riffdec.c
+++ b/libavformat/riffdec.c
@@ -57,7 +57,11 @@ enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid 
*guids, ff_asf_guid guid)
 static void parse_waveformatex(AVIOContext *pb, AVCodecParameters *par)
 {
 ff_asf_guid subformat;
-par->bits_per_coded_sample = avio_rl16(pb);
+int bps;
+
+bps = avio_rl16(pb);
+if (bps)
+par->bits_per_coded_sample = bps;
 par->channel_layout= avio_rl32(pb); /* dwChannelMask */
 
 ff_get_guid(pb, );

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avconv_dxva2: add a profile check for hevc

2017-01-31 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Jan 30 
17:11:13 2016 +0100| [da917fcf5183ed249ad1285b8edd330f421376c4] | committer: 
Anton Khirnov

avconv_dxva2: add a profile check for hevc

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da917fcf5183ed249ad1285b8edd330f421376c4
---

 avconv_dxva2.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/avconv_dxva2.c b/avconv_dxva2.c
index 9cf09cd..7578c3f 100644
--- a/avconv_dxva2.c
+++ b/avconv_dxva2.c
@@ -422,6 +422,12 @@ int dxva2_init(AVCodecContext *s)
 return AVERROR(EINVAL);
 }
 
+if (s->codec_id == AV_CODEC_ID_HEVC &&
+s->profile != FF_PROFILE_HEVC_MAIN && s->profile != 
FF_PROFILE_HEVC_MAIN_10) {
+av_log(NULL, loglevel, "Unsupported HEVC profile for DXVA2 HWAccel: 
%d\n", s->profile);
+return AVERROR(EINVAL);
+}
+
 av_buffer_unref(>hw_frames_ctx);
 
 ret = dxva2_create_decoder(s);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] hevc: set profile based on the profile compatibility flags if needed

2017-01-31 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Jan 30 
17:44:34 2016 +0100| [1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4] | committer: 
Anton Khirnov

hevc: set profile based on the profile compatibility flags if needed

This fixes retrieving a valid profile for many of the FATE conformance samples,
allowing them to be properly decoded by the HWAccel after adding a profile 
check.

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1ecb63cd1c1a4ddc5efed4abbc3158b969d8c5e4
---

 libavcodec/hevc_ps.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 583fa06..5c249d8 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -244,8 +244,12 @@ static void decode_profile_tier_level(GetBitContext *gb, 
AVCodecContext *avctx,
 else
 av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", 
ptl->profile_idc);
 
-for (i = 0; i < 32; i++)
+for (i = 0; i < 32; i++) {
 ptl->profile_compatibility_flag[i] = get_bits1(gb);
+
+if (ptl->profile_idc == 0 && i > 0 && 
ptl->profile_compatibility_flag[i])
+ptl->profile_idc = i;
+}
 ptl->progressive_source_flag= get_bits1(gb);
 ptl->interlaced_source_flag = get_bits1(gb);
 ptl->non_packed_constraint_flag = get_bits1(gb);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] avconv_dxva2: support HEVC Main10 decoding

2017-01-24 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Jun 28 
19:20:40 2016 +0200| [a8fce24b9c5a87187f5bd864b18f5b3e575f8c3d] | committer: 
Anton Khirnov

avconv_dxva2: support HEVC Main10 decoding

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a8fce24b9c5a87187f5bd864b18f5b3e575f8c3d
---

 avconv_dxva2.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/avconv_dxva2.c b/avconv_dxva2.c
index 186b024..9cf09cd 100644
--- a/avconv_dxva2.c
+++ b/avconv_dxva2.c
@@ -56,6 +56,7 @@ DEFINE_GUID(DXVADDI_Intel_ModeH264_E, 0x604F8E68, 
0x4951,0x4C54,0x88,0xFE,0xAB,0
 DEFINE_GUID(DXVA2_ModeVC1_D,  0x1b81beA3, 
0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 DEFINE_GUID(DXVA2_ModeVC1_D2010,  0x1b81beA4, 
0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 DEFINE_GUID(DXVA2_ModeHEVC_VLD_Main,  0x5b11d51b, 
0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
+DEFINE_GUID(DXVA2_ModeHEVC_VLD_Main10,0x107af0e0, 
0xef1a,0x4d19,0xab,0xa8,0x67,0xa1,0x63,0x07,0x3d,0x13);
 DEFINE_GUID(DXVA2_NoEncrypt,  0x1b81beD0, 
0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
 DEFINE_GUID(GUID_NULL,0x, 
0x,0x,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
 
@@ -83,6 +84,7 @@ static const dxva2_mode dxva2_modes[] = {
 
 /* HEVC/H.265 */
 { _ModeHEVC_VLD_Main,  AV_CODEC_ID_HEVC },
+{ _ModeHEVC_VLD_Main10, AV_CODEC_ID_HEVC },
 
 { NULL,  0 },
 };
@@ -265,6 +267,8 @@ static int dxva2_create_decoder(AVCodecContext *s)
 GUID *guid_list = NULL;
 unsigned guid_count = 0, i, j;
 GUID device_guid = GUID_NULL;
+const D3DFORMAT surface_format = s->sw_pix_fmt == AV_PIX_FMT_YUV420P10 ?
+ MKTAG('P', '0', '1', '0') : MKTAG('N', 
'V', '1', '2');
 D3DFORMAT target_format = 0;
 DXVA2_VideoDesc desc = { 0 };
 DXVA2_ConfigPictureDecode config;
@@ -301,7 +305,7 @@ static int dxva2_create_decoder(AVCodecContext *s)
 }
 for (j = 0; j < target_count; j++) {
 const D3DFORMAT format = target_list[j];
-if (format == MKTAG('N','V','1','2')) {
+if (format == surface_format) {
 target_format = format;
 break;
 }
@@ -359,7 +363,8 @@ static int dxva2_create_decoder(AVCodecContext *s)
 frames_hwctx = frames_ctx->hwctx;
 
 frames_ctx->format= AV_PIX_FMT_DXVA2_VLD;
-frames_ctx->sw_format = AV_PIX_FMT_NV12;
+frames_ctx->sw_format = s->sw_pix_fmt == AV_PIX_FMT_YUV420P10 ?
+AV_PIX_FMT_P010 : AV_PIX_FMT_NV12;
 frames_ctx->width = FFALIGN(s->coded_width, surface_alignment);
 frames_ctx->height= FFALIGN(s->coded_height, 
surface_alignment);
 frames_ctx->initial_pool_size = num_surfaces;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] dxva2_vc1: support multiple slices

2016-11-26 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Nov 15 
10:28:54 2016 +0100| [99ee8ee0930be9c68e4e1202ddf4e8493794e0b2] | committer: 
Hendrik Leppkes

dxva2_vc1: support multiple slices

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=99ee8ee0930be9c68e4e1202ddf4e8493794e0b2
---

 libavcodec/dxva2_vc1.c | 106 +
 1 file changed, 72 insertions(+), 34 deletions(-)

diff --git a/libavcodec/dxva2_vc1.c b/libavcodec/dxva2_vc1.c
index 7cbbc7e..36bf1ba 100644
--- a/libavcodec/dxva2_vc1.c
+++ b/libavcodec/dxva2_vc1.c
@@ -29,9 +29,11 @@
 // potentially newer version.
 #include "dxva2_internal.h"
 
+#define MAX_SLICES 1024
 struct dxva2_picture_context {
 DXVA_PictureParameters pp;
-DXVA_SliceInfo si;
+unsigned   slice_count;
+DXVA_SliceInfo slice[MAX_SLICES];
 
 const uint8_t  *bitstream;
 unsigned   bitstream_size;
@@ -174,7 +176,8 @@ static void fill_slice(AVCodecContext *avctx, 
DXVA_SliceInfo *slice,
 slice->bStartCodeBitOffset = 0;
 slice->bReservedBits   = (s->pict_type == AV_PICTURE_TYPE_B && 
!v->bi_type) ? v->bfraction_lut_index + 9 : 0;
 slice->wMBbitOffset= v->p_frame_skipped ? 0x : 
get_bits_count(>gb) + (avctx->codec_id == AV_CODEC_ID_VC1 ? 32 : 0);
-slice->wNumberMBsInSlice   = s->mb_width * s->mb_height; /* XXX We assume 
1 slice */
+/* XXX We store the index of the first MB and it will be fixed later */
+slice->wNumberMBsInSlice   = (s->mb_y >> v->field_mode) * s->mb_width + 
s->mb_x;
 slice->wQuantizerScaleCode = v->pq;
 slice->wBadSliceChopping   = 0;
 }
@@ -188,18 +191,15 @@ static int 
commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
 const MpegEncContext *s = >s;
 struct dxva2_picture_context *ctx_pic = 
s->current_picture_ptr->hwaccel_picture_private;
 
-DXVA_SliceInfo *slice = _pic->si;
-
 static const uint8_t start_code[] = { 0, 0, 1, 0x0d };
 const unsigned start_code_size = avctx->codec_id == AV_CODEC_ID_VC1 ? 
sizeof(start_code) : 0;
-const unsigned slice_size = slice->dwSliceBitsInBuffer / 8;
-const unsigned padding = 128 - ((start_code_size + slice_size) & 127);
-const unsigned data_size = start_code_size + slice_size + padding;
-
+const unsigned mb_count = s->mb_width * (s->mb_height >> v->field_mode);
+DXVA_SliceInfo *slice = NULL;
 void *dxva_data_ptr;
-uint8_t  *dxva_data;
+uint8_t  *dxva_data, *current, *end;
 unsigned dxva_size;
-int result;
+unsigned padding;
+unsigned i;
 unsigned type;
 
 #if CONFIG_D3D11VA
@@ -223,19 +223,49 @@ static int 
commit_bitstream_and_slice_buffer(AVCodecContext *avctx,
 #endif
 
 dxva_data = dxva_data_ptr;
-result = data_size <= dxva_size ? 0 : -1;
-if (!result) {
-if (start_code_size > 0) {
-memcpy(dxva_data, start_code, start_code_size);
-if (v->second_field)
-dxva_data[3] = 0x0c;
+current = dxva_data;
+end = dxva_data + dxva_size;
+
+for (i = 0; i < ctx_pic->slice_count; i++) {
+unsigned position, size;
+slice= _pic->slice[i];
+position = slice->dwSliceDataLocation;
+size = slice->dwSliceBitsInBuffer / 8;
+if (start_code_size + size > end - current) {
+av_log(avctx, AV_LOG_ERROR, "Failed to build bitstream");
+break;
 }
-memcpy(dxva_data + start_code_size,
-   ctx_pic->bitstream + slice->dwSliceDataLocation, slice_size);
-if (padding > 0)
-memset(dxva_data + start_code_size + slice_size, 0, padding);
-slice->dwSliceBitsInBuffer = 8 * data_size;
+slice->dwSliceDataLocation = current - dxva_data;
+
+if (i < ctx_pic->slice_count - 1)
+slice->wNumberMBsInSlice =
+slice[1].wNumberMBsInSlice - slice[0].wNumberMBsInSlice;
+else
+slice->wNumberMBsInSlice =
+mb_count - slice[0].wNumberMBsInSlice;
+
+/* write the appropriate frame, field or slice start code */
+if (start_code_size) {
+memcpy(current, start_code, start_code_size);
+if (i == 0 && v->second_field)
+current[3] = 0x0c;
+else if (i > 0)
+current[3] = 0x0b;
+
+current += start_code_size;
+slice->dwSliceBitsInBuffer += start_code_size * 8;
+}
+
+memcpy(current, _pic->bitstream[position], size);
+current += size;
 }
+padding = FFMIN(128 - ((current - dxva_data) & 127), end - current);
+if (slice && padding > 0) {
+memset(current, 0, padding);
+current += padding;

[FFmpeg-cvslog] vc1dec: support multiple slices in frame coded images with hwaccel

2016-11-26 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Nov 15 
10:28:10 2016 +0100| [36e27c87e7f06cac372f0a704ca3b91c3178a1ee] | committer: 
Hendrik Leppkes

vc1dec: support multiple slices in frame coded images with hwaccel

Based on a patch by Jun Zhao <mypopy...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=36e27c87e7f06cac372f0a704ca3b91c3178a1ee
---

 Changelog|  1 +
 libavcodec/vc1dec.c  | 41 +++--
 libavcodec/version.h |  2 +-
 3 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/Changelog b/Changelog
index 8456022..2778304 100644
--- a/Changelog
+++ b/Changelog
@@ -43,6 +43,7 @@ version 3.2:
 - Matroska muxer now writes CRC32 elements by default in all Level 1 elements
 - sidedata video and asidedata audio filter
 - Changed mapping of rtp MIME type G726 to codec g726le.
+- spec compliant VAAPI/DXVA2 VC-1 decoding of slices in frame-coded images
 
 
 version 3.1:
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 4f78aa8..75d3365 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -634,6 +634,8 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 uint8_t *buf;
 GetBitContext gb;
 int mby_start;
+const uint8_t *rawbuf;
+int raw_size;
 } *slices = NULL, *tmp;
 
 v->second_field = 0;
@@ -716,6 +718,8 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 /* assuming that the field marker is at the exact middle,
hope it's correct */
 slices[n_slices].mby_start = s->mb_height + 1 >> 1;
+slices[n_slices].rawbuf = start;
+slices[n_slices].raw_size = size + 4;
 n_slices1 = n_slices - 1; // index of the last slice of 
the first field
 n_slices++;
 break;
@@ -743,6 +747,8 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 init_get_bits([n_slices].gb, slices[n_slices].buf,
   buf_size3 << 3);
 slices[n_slices].mby_start = 
get_bits([n_slices].gb, 9);
+slices[n_slices].rawbuf = start;
+slices[n_slices].raw_size = size + 4;
 n_slices++;
 break;
 }
@@ -779,6 +785,8 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 init_get_bits([n_slices].gb, slices[n_slices].buf,
   buf_size3 << 3);
 slices[n_slices].mby_start = s->mb_height + 1 >> 1;
+slices[n_slices].rawbuf = divider;
+slices[n_slices].raw_size = buf + buf_size - divider;
 n_slices1 = n_slices - 1;
 n_slices++;
 }
@@ -921,6 +929,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 } else
 #endif
 if (avctx->hwaccel) {
+s->mb_y = 0;
 if (v->field_mode && buf_start_second_field) {
 // decode first field
 s->picture_structure = PICT_BOTTOM_FIELD - v->tff;
@@ -953,8 +962,36 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 s->picture_structure = PICT_FRAME;
 if ((ret = avctx->hwaccel->start_frame(avctx, buf_start, (buf + 
buf_size) - buf_start)) < 0)
 goto err;
-if ((ret = avctx->hwaccel->decode_slice(avctx, buf_start, (buf + 
buf_size) - buf_start)) < 0)
-goto err;
+
+if (n_slices == 0) {
+// no slices, decode the frame as-is
+if ((ret = avctx->hwaccel->decode_slice(avctx, buf_start, (buf 
+ buf_size) - buf_start)) < 0)
+goto err;
+} else {
+// decode the frame part as the first slice
+if ((ret = avctx->hwaccel->decode_slice(avctx, buf_start, 
slices[0].rawbuf - buf_start)) < 0)
+goto err;
+
+// and process the slices as additional slices afterwards
+for (i = 0 ; i < n_slices; i++) {
+s->gb = slices[i].gb;
+s->mb_y = slices[i].mby_start;
+
+v->pic_header_flag = get_bits1(>gb);
+if (v->pic_header_flag) {
+if (ff_vc1_parse_frame_header_adv(v, >gb) < 0) {
+av_log(v->s.avctx, AV_LOG_ERROR, "Slice header 
damaged\n");
+ret = AVERROR_INVALIDDATA;
+if (avctx->err_recognition & AV_EF_EXPLODE)
+goto err;
+continue;
+}
+

[FFmpeg-cvslog] Merge commit '8d07e941b04d63fc4443dd986e3dc7b69cdcca43'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
11:32:10 2016 +0100| [127cc6dd3d0b8ce8875aecacc5c2aaf45bf52243] | committer: 
Hendrik Leppkes

Merge commit '8d07e941b04d63fc4443dd986e3dc7b69cdcca43'

* commit '8d07e941b04d63fc4443dd986e3dc7b69cdcca43':
  FATE: add a test of H.264 SEI recovery in an intra refresh stream

Our H264 decoder drops 3 frames from the beginning of the stream, but
all frames after those match, hence the difference in the fate test.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=127cc6dd3d0b8ce8875aecacc5c2aaf45bf52243
---

 tests/fate/h264.mak|  2 ++
 tests/ref/fate/h264-intra-refresh-recovery | 15 +++
 2 files changed, 17 insertions(+)

diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index c366d86..718a3a8 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -191,6 +191,7 @@ FATE_H264_REINIT_TESTS := large_420_8-to-small_420_8
\
 FATE_H264  := $(FATE_H264:%=fate-h264-conformance-%)\
   $(FATE_H264_REINIT_TESTS:%=fate-h264-reinit-%)\
   fate-h264-extreme-plane-pred  \
+  fate-h264-intra-refresh-recovery  \
   fate-h264-lossless\
   fate-h264-3386\
 
@@ -425,6 +426,7 @@ fate-h264-xavc-4389:  CMD = 
framecrc -i $(TARGET_SAM
 fate-h264-attachment-631: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/attachment631-small.mp4 -an -max_error_rate 0.95
 fate-h264-skip-nokey: CMD = framecrc -skip_frame 
nokey -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
 fate-h264-skip-nointra:   CMD = framecrc -skip_frame 
nointra -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
+fate-h264-intra-refresh-recovery: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/intra_refresh.h264 -frames:v 10
 fate-h264-invalid-ref-mod:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/h264refframeregression.mp4 -an -frames 10 -pix_fmt 
yuv420p10le
 fate-h264-lossless:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/lossless.h264
 fate-h264-mixed-nal-coding:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/mixed-nal-coding.mp4
diff --git a/tests/ref/fate/h264-intra-refresh-recovery 
b/tests/ref/fate/h264-intra-refresh-recovery
new file mode 100644
index 000..e85fe7b
--- /dev/null
+++ b/tests/ref/fate/h264-intra-refresh-recovery
@@ -0,0 +1,15 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 320x240
+#sar 0: 0/1
+0, 57, 57,1,   115200, 0x4a17d50b
+0, 58, 58,1,   115200, 0x1283d05b
+0, 59, 59,1,   115200, 0x2747c650
+0, 60, 60,1,   115200, 0xba23c933
+0, 61, 61,1,   115200, 0x8a96c54b
+0, 62, 62,1,   115200, 0x748ac6d3
+0, 63, 63,1,   115200, 0x719ca491
+0, 64, 64,1,   115200, 0x3d259d4d
+0, 65, 65,1,   115200, 0xe3599aa8
+0, 66, 66,1,   115200, 0x6fd4affe


==

diff --cc tests/fate/h264.mak
index c366d86,9996f95..718a3a8
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@@ -191,8 -180,8 +191,9 @@@ FATE_H264_REINIT_TESTS := large_420_8-t
  FATE_H264  := $(FATE_H264:%=fate-h264-conformance-%)\
$(FATE_H264_REINIT_TESTS:%=fate-h264-reinit-%)\
fate-h264-extreme-plane-pred  \
+   fate-h264-intra-refresh-recovery  \
fate-h264-lossless\
 +  fate-h264-3386\
  
  FATE_H264-$(call DEMDEC, H264, H264) += $(FATE_H264)
  FATE_H264-$(call DEMDEC,  MOV, H264) += fate-h264-crop-to-container
@@@ -245,186 -221,169 +246,187 @@@ fate-h264-conformance-caba2_sva_b
  fate-h264-conformance-caba3_sony_c:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_Sony_C.jsv
  fate-h264-conformance-caba3_sva_b:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_SVA_B.264
  fate-h264-conformance-caba3_toshiba_e:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_TOSHIBA_E.264
 -fate-h264-conformance-cabac_mot_fld0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_fld0_full.26l
 -fate-h264-conformance-cabac_mot_frm0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_frm0_full.26l
 -fate-h

[FFmpeg-cvslog] Merge commit 'd60c2d5216930ef98c7d4d6837d6229b37e0dcb3'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:48:04 2016 +0100| [f4c3aa7ade13cd3e52366ffc8801a55588027aeb] | committer: 
Hendrik Leppkes

Merge commit 'd60c2d5216930ef98c7d4d6837d6229b37e0dcb3'

* commit 'd60c2d5216930ef98c7d4d6837d6229b37e0dcb3':
  mp3dec: read the initial/trailing padding from the LAME tag

Noop, we have our own implementation for mp3 gapless tags.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f4c3aa7ade13cd3e52366ffc8801a55588027aeb
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '46278ec90ac5ad1dab5e85991f176afe49003fee'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:48:40 2016 +0100| [5e78126bbdd58ae4dd97e2b604cbbec336f8bc32] | committer: 
Hendrik Leppkes

Merge commit '46278ec90ac5ad1dab5e85991f176afe49003fee'

* commit '46278ec90ac5ad1dab5e85991f176afe49003fee':
  mp3enc: write trailing padding

Noop, we have our own implementation for mp3 gapless.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5e78126bbdd58ae4dd97e2b604cbbec336f8bc32
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '7a76371437f9562c3414f985523f883489e3936a'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:47:08 2016 +0100| [07502e473f0c28fdb781954d5ca1aca5f039179a] | committer: 
Hendrik Leppkes

Merge commit '7a76371437f9562c3414f985523f883489e3936a'

* commit '7a76371437f9562c3414f985523f883489e3936a':
  libopenh264enc: Simplify init by setting FF_CODEC_CAP_INIT_CLEANUP

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=07502e473f0c28fdb781954d5ca1aca5f039179a
---

 libavcodec/libopenh264enc.c | 27 ---
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
index 91f26d0..648f59b 100644
--- a/libavcodec/libopenh264enc.c
+++ b/libavcodec/libopenh264enc.c
@@ -100,8 +100,6 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
 
 if ((err = ff_libopenh264_check_version(avctx)) < 0)
 return err;
-// Use a default error for multiple error paths below
-err = AVERROR_UNKNOWN;
 
 if (WelsCreateSVCEncoder(>encoder)) {
 av_log(avctx, AV_LOG_ERROR, "Unable to create encoder\n");
@@ -167,8 +165,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 av_log(avctx, AV_LOG_ERROR,
"Invalid combination -slices %d and -max_nal_size %d.\n",
avctx->slices, s->max_nal_size);
-err = AVERROR(EINVAL);
-goto fail;
+return AVERROR(EINVAL);
 }
 
 if (avctx->slices > 1)
@@ -196,14 +193,13 @@ FF_ENABLE_DEPRECATION_WARNINGS
 } else {
 av_log(avctx, AV_LOG_ERROR, "Invalid -max_nal_size, "
"specify a valid max_nal_size to use -slice_mode dyn\n");
-err = AVERROR(EINVAL);
-goto fail;
+return AVERROR(EINVAL);
 }
 }
 
 if ((*s->encoder)->InitializeExt(s->encoder, ) != cmResultSuccess) {
 av_log(avctx, AV_LOG_ERROR, "Initialize failed\n");
-goto fail;
+return AVERROR_UNKNOWN;
 }
 
 if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
@@ -213,27 +209,19 @@ FF_ENABLE_DEPRECATION_WARNINGS
 for (i = 0; i < fbi.sLayerInfo[0].iNalCount; i++)
 size += fbi.sLayerInfo[0].pNalLengthInByte[i];
 avctx->extradata = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);
-if (!avctx->extradata) {
-err = AVERROR(ENOMEM);
-goto fail;
-}
+if (!avctx->extradata)
+return AVERROR(ENOMEM);
 avctx->extradata_size = size;
 memcpy(avctx->extradata, fbi.sLayerInfo[0].pBsBuf, size);
 }
 
 props = ff_add_cpb_side_data(avctx);
-if (!props) {
-err = AVERROR(ENOMEM);
-goto fail;
-}
+if (!props)
+return AVERROR(ENOMEM);
 props->max_bitrate = param.iMaxBitrate;
 props->avg_bitrate = param.iTargetBitrate;
 
 return 0;
-
-fail:
-svc_encode_close(avctx);
-return err;
 }
 
 static int svc_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
@@ -306,6 +294,7 @@ AVCodec ff_libopenh264_encoder = {
 .encode2= svc_encode_frame,
 .close  = svc_encode_close,
 .capabilities   = AV_CODEC_CAP_AUTO_THREADS,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP,
 .pix_fmts   = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
 AV_PIX_FMT_NONE },
 .priv_class = ,


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '2d097c16b833c532ac974a7f1fd05c0a1f3b7675'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:46:02 2016 +0100| [7e9474ca47fd4d267bdafcc8162fded67f6410e5] | committer: 
Hendrik Leppkes

Merge commit '2d097c16b833c532ac974a7f1fd05c0a1f3b7675'

* commit '2d097c16b833c532ac974a7f1fd05c0a1f3b7675':
  libopenh264enc: Return a more sensible error code in some init failure paths

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e9474ca47fd4d267bdafcc8162fded67f6410e5
---

 libavcodec/libopenh264enc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
index 14afe90..91f26d0 100644
--- a/libavcodec/libopenh264enc.c
+++ b/libavcodec/libopenh264enc.c
@@ -167,6 +167,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 av_log(avctx, AV_LOG_ERROR,
"Invalid combination -slices %d and -max_nal_size %d.\n",
avctx->slices, s->max_nal_size);
+err = AVERROR(EINVAL);
 goto fail;
 }
 
@@ -195,6 +196,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 } else {
 av_log(avctx, AV_LOG_ERROR, "Invalid -max_nal_size, "
"specify a valid max_nal_size to use -slice_mode dyn\n");
+err = AVERROR(EINVAL);
 goto fail;
 }
 }


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '36b380dcd52ef47d7ba0559ed51192c88d82a9bd'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:45:08 2016 +0100| [0bd76401d1666bf8f0a67946d761ed9ba4751e49] | committer: 
Hendrik Leppkes

Merge commit '36b380dcd52ef47d7ba0559ed51192c88d82a9bd'

* commit '36b380dcd52ef47d7ba0559ed51192c88d82a9bd':
  libopenh264dec: Simplify the init thanks to FF_CODEC_CAP_INIT_CLEANUP being 
set

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0bd76401d1666bf8f0a67946d761ed9ba4751e49
---

 libavcodec/libopenh264dec.c | 15 +--
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
index ab0a84c..26cc8db 100644
--- a/libavcodec/libopenh264dec.c
+++ b/libavcodec/libopenh264dec.c
@@ -72,15 +72,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
 return err;
 
 s->packet_fifo = av_fifo_alloc(sizeof(AVPacket));
-if (!s->packet_fifo) {
-err = AVERROR(ENOMEM);
-goto fail;
-}
+if (!s->packet_fifo)
+return AVERROR(ENOMEM);
 
 if (WelsCreateDecoder(>decoder)) {
 av_log(avctx, AV_LOG_ERROR, "Unable to create decoder\n");
-err = AVERROR_UNKNOWN;
-goto fail;
+return AVERROR_UNKNOWN;
 }
 
 // Pass all libopenh264 messages to our callback, to allow ourselves to 
filter them.
@@ -98,14 +95,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
 
 if ((*s->decoder)->Initialize(s->decoder, ) != cmResultSuccess) {
 av_log(avctx, AV_LOG_ERROR, "Initialize failed\n");
-err = AVERROR_UNKNOWN;
-goto fail;
+return AVERROR_UNKNOWN;
 }
 
 avctx->pix_fmt = AV_PIX_FMT_YUV420P;
 
-fail:
-return err;
+return 0;
 }
 
 static int init_bsf(AVCodecContext *avctx)


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '61cb9fac47498a38dfe7623f66aa1f3696e9158c'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:44:21 2016 +0100| [8a91452e83e763dc38d84912fe7978acede2c039] | committer: 
Hendrik Leppkes

Merge commit '61cb9fac47498a38dfe7623f66aa1f3696e9158c'

* commit '61cb9fac47498a38dfe7623f66aa1f3696e9158c':
  mov: fix stream extradata_size allocation

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8a91452e83e763dc38d84912fe7978acede2c039
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'd0b1e6049b06eeeeca146ece4d2f199c5dba1565'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:44:37 2016 +0100| [6fb07c7d85c0d0464e5bdaaad55cc2b774468b3d] | committer: 
Hendrik Leppkes

Merge commit 'd0b1e6049b06ca146ece4d2f199c5dba1565'

* commit 'd0b1e6049b06ca146ece4d2f199c5dba1565':
  libopenh264dec: Fix cleanup if the init failed early

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6fb07c7d85c0d0464e5bdaaad55cc2b774468b3d
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:20:14 2016 +0100| [d7d6f9c78272949b8b13a52eaa850f0d63842fcf] | committer: 
Hendrik Leppkes

Merge commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207'

* commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207':
  lavd: Drop unneeded av_init_packet()s

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d7d6f9c78272949b8b13a52eaa850f0d63842fcf
---

 libavdevice/v4l2.c| 1 -
 libavdevice/x11grab.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index ddf331d..ae51d83 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -979,7 +979,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 int res;
 
-av_init_packet(pkt);
 if ((res = mmap_read_frame(ctx, pkt)) < 0) {
 return res;
 }
diff --git a/libavdevice/x11grab.c b/libavdevice/x11grab.c
index 5c8cfc1..65b409f 100644
--- a/libavdevice/x11grab.c
+++ b/libavdevice/x11grab.c
@@ -544,7 +544,6 @@ static int x11grab_read_packet(AVFormatContext *s1, 
AVPacket *pkt)
   s->time_frame += INT64_C(100);
 } while ((s->time_frame * av_q2d(s->time_base) - curtime) <= 0);
 
-av_init_packet(pkt);
 pkt->data = image->data;
 pkt->size = s->frame_size;
 pkt->pts  = curtime;


==

diff --cc libavdevice/v4l2.c
index ddf331d,47241e4..ae51d83
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@@ -979,8 -861,7 +979,7 @@@ FF_ENABLE_DEPRECATION_WARNING
  #endif
  int res;
  
- av_init_packet(pkt);
 -if ((res = mmap_read_frame(s1, pkt)) < 0) {
 +if ((res = mmap_read_frame(ctx, pkt)) < 0) {
  return res;
  }
  
diff --cc libavdevice/x11grab.c
index 5c8cfc1,60e2560..65b409f
--- a/libavdevice/x11grab.c
+++ b/libavdevice/x11grab.c
@@@ -539,12 -511,6 +539,11 @@@ static int x11grab_read_packet(AVFormat
  nanosleep(, NULL);
  }
  
 +/* Calculate the time of the next frame */
 +do {
 +  s->time_frame += INT64_C(100);
 +} while ((s->time_frame * av_q2d(s->time_base) - curtime) <= 0);
 +
- av_init_packet(pkt);
  pkt->data = image->data;
  pkt->size = s->frame_size;
  pkt->pts  = curtime;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '390b95b88b2b896b63f257f69e434dfc0111e076'

2016-11-18 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Fri Nov 18 
10:16:54 2016 +0100| [9e1ddc08208d7b484d5d97d4e169c75b91e3ff21] | committer: 
Hendrik Leppkes

Merge commit '390b95b88b2b896b63f257f69e434dfc0111e076'

* commit '390b95b88b2b896b63f257f69e434dfc0111e076':
  fate: Add a mixed NAL coding sample

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9e1ddc08208d7b484d5d97d4e169c75b91e3ff21
---

 tests/fate/h264.mak  |  5 +
 tests/ref/fate/h264-mixed-nal-coding | 10 ++
 2 files changed, 15 insertions(+)

diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index 7681943..c366d86 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -206,6 +206,10 @@ FATE_H264-$(call DEMDEC,  MOV, H264) += 
fate-h264-interlace-crop
 # by using a previous ref frame instead of a missing one
 FATE_H264-$(call DEMDEC,  MOV, H264) += fate-h264-invalid-ref-mod
 
+# this sample gives an explicit size for a single NAL unit, but contains
+# several NAL units
+FATE_H264-$(call DEMDEC,  MOV, H264) += fate-h264-mixed-nal-coding
+
 # this sample has invalid extradata that is not escaped
 FATE_H264-$(call DEMDEC,  MOV, H264) += fate-h264-unescaped-extradata
 
@@ -423,6 +427,7 @@ fate-h264-skip-nokey: CMD = 
framecrc -skip_frame nok
 fate-h264-skip-nointra:   CMD = framecrc -skip_frame 
nointra -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
 fate-h264-invalid-ref-mod:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/h264refframeregression.mp4 -an -frames 10 -pix_fmt 
yuv420p10le
 fate-h264-lossless:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/lossless.h264
+fate-h264-mixed-nal-coding:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/mixed-nal-coding.mp4
 fate-h264-unescaped-extradata:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/unescaped_extradata.mp4 -an -frames 10
 fate-h264-3386:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/bbc2.sample.h264
 
diff --git a/tests/ref/fate/h264-mixed-nal-coding 
b/tests/ref/fate/h264-mixed-nal-coding
new file mode 100644
index 000..24b6b4c
--- /dev/null
+++ b/tests/ref/fate/h264-mixed-nal-coding
@@ -0,0 +1,10 @@
+#tb 0: 1001/3
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 720x480
+#sar 0: 40/33
+0,  0,  0,1,   518400, 0x8f882e4d
+0,  1,  1,1,   518400, 0xc5694144
+0,  2,  2,1,   518400, 0xcf0e9e3a
+0,  3,  3,1,   518400, 0xf620e459
+0,  4,  4,1,   518400, 0x4566453e


==

diff --cc tests/fate/h264.mak
index 7681943,bbce95d..c366d86
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@@ -241,191 -220,171 +245,192 @@@ fate-h264-conformance-caba2_sva_b
  fate-h264-conformance-caba3_sony_c:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_Sony_C.jsv
  fate-h264-conformance-caba3_sva_b:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_SVA_B.264
  fate-h264-conformance-caba3_toshiba_e:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_TOSHIBA_E.264
 -fate-h264-conformance-cabac_mot_fld0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_fld0_full.26l
 -fate-h264-conformance-cabac_mot_frm0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_frm0_full.26l
 -fate-h264-conformance-cabac_mot_mbaff0_full:  CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_mbaff0_full.26l
 -fate-h264-conformance-cabac_mot_picaff0_full: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_picaff0_full.26l
 -fate-h264-conformance-cabaci3_sony_b: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABACI3_Sony_B.jsv
 -fate-h264-conformance-cabast3_sony_e: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABAST3_Sony_E.jsv
 -fate-h264-conformance-cabastbr3_sony_b:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABASTBR3_Sony_B.jsv
 -fate-h264-conformance-cabref3_sand_d: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABREF3_Sand_D.264
 -fate-h264-conformance-cacqp3_sony_d:  CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CACQP3_Sony_D.jsv
 -fate-h264-conformance-cafi1_sva_c:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CAFI1_SVA_C.264
 -fate-h264-conformance-cama1_sony_c:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CAMA1_Sony_C.jsv
 -fate-h264-conformance-cama1_toshiba_b:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CAMA1_TOSHIBA_B.264
 -fate-h264-conformance-cama1_vtc_c:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/

[FFmpeg-cvslog] Merge commit 'cbbb404055877e3beb9890ffe22784a6a100963e'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:27:27 2016 +0100| [1398ded7a77b2057a3e9983e3df512855b7ff0eb] | committer: 
Hendrik Leppkes

Merge commit 'cbbb404055877e3beb9890ffe22784a6a100963e'

* commit 'cbbb404055877e3beb9890ffe22784a6a100963e':
  fate: Restore order of h264 entries

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1398ded7a77b2057a3e9983e3df512855b7ff0eb
---

 tests/fate/h264.mak | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/fate/h264.mak b/tests/fate/h264.mak
index f8ef3f4..7681943 100644
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@ -412,17 +412,17 @@ fate-h264-conformance-sva_nl2_e:  CMD = 
framecrc -vsync drop -i
 fate-h264-bsf-mp4toannexb:CMD = md5 -i 
$(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -vcodec copy -f h264
 
 fate-h264-crop-to-container:  CMD = framemd5 -i 
$(TARGET_SAMPLES)/h264/crop-to-container-dims-canon.mov
+fate-h264-direct-bff: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/direct-bff.mkv
 fate-h264-extradata-reload:   CMD = framemd5 -i 
$(TARGET_SAMPLES)/h264/extradata-reload-multi-stsd.mov
 fate-h264-extreme-plane-pred: CMD = framemd5 -i 
$(TARGET_SAMPLES)/h264/extreme-plane-pred.h264
 fate-h264-interlace-crop: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -vframes 3
-fate-h264-lossless:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/lossless.h264
-fate-h264-direct-bff: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/direct-bff.mkv
 fate-h264-brokensps-2580: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/brokensps.flv -vf format=yuv420p,scale=w=192:h=144 
-sws_flags bitexact+bilinear
 fate-h264-xavc-4389:  CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/SonyXAVC_LongGOP_green_pixelation_early_Frames.MXF 
-pix_fmt yuv422p10le
 fate-h264-attachment-631: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/attachment631-small.mp4 -an -max_error_rate 0.95
 fate-h264-skip-nokey: CMD = framecrc -skip_frame 
nokey -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
 fate-h264-skip-nointra:   CMD = framecrc -skip_frame 
nointra -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
 fate-h264-invalid-ref-mod:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/h264refframeregression.mp4 -an -frames 10 -pix_fmt 
yuv420p10le
+fate-h264-lossless:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/lossless.h264
 fate-h264-unescaped-extradata:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/unescaped_extradata.mp4 -an -frames 10
 fate-h264-3386:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264/bbc2.sample.h264
 


==

diff --cc tests/fate/h264.mak
index f8ef3f4,29ef25c..7681943
--- a/tests/fate/h264.mak
+++ b/tests/fate/h264.mak
@@@ -241,191 -216,170 +241,191 @@@ fate-h264-conformance-caba2_sva_b
  fate-h264-conformance-caba3_sony_c:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_Sony_C.jsv
  fate-h264-conformance-caba3_sva_b:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_SVA_B.264
  fate-h264-conformance-caba3_toshiba_e:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABA3_TOSHIBA_E.264
 -fate-h264-conformance-cabac_mot_fld0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_fld0_full.26l
 -fate-h264-conformance-cabac_mot_frm0_full:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_frm0_full.26l
 -fate-h264-conformance-cabac_mot_mbaff0_full:  CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_mbaff0_full.26l
 -fate-h264-conformance-cabac_mot_picaff0_full: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/camp_mot_picaff0_full.26l
 -fate-h264-conformance-cabaci3_sony_b: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABACI3_Sony_B.jsv
 -fate-h264-conformance-cabast3_sony_e: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABAST3_Sony_E.jsv
 -fate-h264-conformance-cabastbr3_sony_b:   CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABASTBR3_Sony_B.jsv
 -fate-h264-conformance-cabref3_sand_d: CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CABREF3_Sand_D.264
 -fate-h264-conformance-cacqp3_sony_d:  CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CACQP3_Sony_D.jsv
 -fate-h264-conformance-cafi1_sva_c:CMD = framecrc -i 
$(TARGET_SAMPLES)/h264-conformance/CAFI1_SVA_C.264
 -fate-h264-conformance-cama1_sony_c:   CMD = framecrc -i 
$

[FFmpeg-cvslog] Merge commit '61bd0ed781b56eea1e8e851aab34a2ee3b59fbac'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:24:25 2016 +0100| [2f1a539d4b905a418aec4b420adcb7648eba5c64] | committer: 
Hendrik Leppkes

Merge commit '61bd0ed781b56eea1e8e851aab34a2ee3b59fbac'

* commit '61bd0ed781b56eea1e8e851aab34a2ee3b59fbac':
  h264: Log more information about invalid NALu size

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2f1a539d4b905a418aec4b420adcb7648eba5c64
---

 libavcodec/h2645_parse.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/h2645_parse.h b/libavcodec/h2645_parse.h
index 3a60f3f..5f3e17a 100644
--- a/libavcodec/h2645_parse.h
+++ b/libavcodec/h2645_parse.h
@@ -104,7 +104,7 @@ static inline int get_nalsize(int nal_length_size, const 
uint8_t *buf,
 nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
 if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
 av_log(logctx, AV_LOG_ERROR,
-   "Invalid nal size %d\n", nalsize);
+   "Invalid NAL unit size (%d > %d).\n", nalsize, buf_size - 
*buf_index);
 return AVERROR_INVALIDDATA;
 }
 return nalsize;


==

diff --cc libavcodec/h2645_parse.h
index 3a60f3f,9cc4441..5f3e17a
--- a/libavcodec/h2645_parse.h
+++ b/libavcodec/h2645_parse.h
@@@ -90,24 -85,4 +90,24 @@@ int ff_h2645_packet_split(H2645Packet *
   */
  void ff_h2645_packet_uninit(H2645Packet *pkt);
  
 +static inline int get_nalsize(int nal_length_size, const uint8_t *buf,
 +  int buf_size, int *buf_index, void *logctx)
 +{
 +int i, nalsize = 0;
 +
 +if (*buf_index >= buf_size - nal_length_size) {
 +// the end of the buffer is reached, refill it
 +return AVERROR(EAGAIN);
 +}
 +
 +for (i = 0; i < nal_length_size; i++)
 +nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
 +if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
 +av_log(logctx, AV_LOG_ERROR,
-"Invalid nal size %d\n", nalsize);
++   "Invalid NAL unit size (%d > %d).\n", nalsize, buf_size - 
*buf_index);
 +return AVERROR_INVALIDDATA;
 +}
 +return nalsize;
 +}
 +
  #endif /* AVCODEC_H2645_PARSE_H */

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '80fbb7becae530167373fe5178966b7d7604306e'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:20:10 2016 +0100| [c0af1ee90dcb760dda0ae9f014fcb748bb196fb3] | committer: 
Hendrik Leppkes

Merge commit '80fbb7becae530167373fe5178966b7d7604306e'

* commit '80fbb7becae530167373fe5178966b7d7604306e':
  checkasm: vp8.mc: initialize the full src buffer after ec32574209f

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c0af1ee90dcb760dda0ae9f014fcb748bb196fb3
---

 tests/checkasm/vp8dsp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c
index 1e64481..d3aff99 100644
--- a/tests/checkasm/vp8dsp.c
+++ b/tests/checkasm/vp8dsp.c
@@ -247,7 +247,7 @@ static void check_luma_dc_wht(void)
 }
 
 #define SRC_BUF_STRIDE 32
-#define SRC_BUF_SIZE ((size + 5) * SRC_BUF_STRIDE)
+#define SRC_BUF_SIZE (((size << (size < 16)) + 5) * SRC_BUF_STRIDE)
 // The mc subpixel interpolation filter needs the 2 previous pixels in either
 // direction, the +1 is to make sure the actual load addresses always are
 // unaligned.


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '17c99b6158f2c6720af74e81ee727ee50d2e7e96'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:19:49 2016 +0100| [62d9b7a69b9bf1ec702fe46c5f31bf88c85d22a2] | committer: 
Hendrik Leppkes

Merge commit '17c99b6158f2c6720af74e81ee727ee50d2e7e96'

* commit '17c99b6158f2c6720af74e81ee727ee50d2e7e96':
  h2645_parse: handle embedded Annex B NAL units in size prefixed NAL units

This commit is a noop, see a9bb4cf87d1eb68f9ed2dc971e3400b95c1a6a78

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=62d9b7a69b9bf1ec702fe46c5f31bf88c85d22a2
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'a8cbe5a0ccebf60a8a8b0aba5d5716dd54c1595c'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:17:21 2016 +0100| [cca4fd477851c3ab3b4ee7da525d5eb81bbe8de1] | committer: 
Hendrik Leppkes

Merge commit 'a8cbe5a0ccebf60a8a8b0aba5d5716dd54c1595c'

* commit 'a8cbe5a0ccebf60a8a8b0aba5d5716dd54c1595c':
  h264_ps: export actual height in MBs as SPS.mb_height

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cca4fd477851c3ab3b4ee7da525d5eb81bbe8de1
---

 libavcodec/h264_ps.c| 13 ++---
 libavcodec/h264_ps.h|  3 ++-
 libavcodec/h264_slice.c |  8 
 3 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index 4a5f66e..8218e3a 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -467,15 +467,22 @@ int ff_h264_decode_seq_parameter_set(GetBitContext *gb, 
AVCodecContext *avctx,
 sps->mb_height  = get_ue_golomb(gb) + 1;
 
 sps->frame_mbs_only_flag = get_bits1(gb);
+
+if (sps->mb_height >= INT_MAX / 2) {
+av_log(avctx, AV_LOG_ERROR, "height overflow\n");
+goto fail;
+}
+sps->mb_height *= 2 - sps->frame_mbs_only_flag;
+
 if (!sps->frame_mbs_only_flag)
 sps->mb_aff = get_bits1(gb);
 else
 sps->mb_aff = 0;
 
 if ((unsigned)sps->mb_width  >= INT_MAX / 16 ||
-(unsigned)sps->mb_height >= INT_MAX / (16 * (2 - 
sps->frame_mbs_only_flag)) ||
+(unsigned)sps->mb_height >= INT_MAX / 16 ||
 av_image_check_size(16 * sps->mb_width,
-16 * sps->mb_height * (2 - 
sps->frame_mbs_only_flag), 0, avctx)) {
+16 * sps->mb_height, 0, avctx)) {
 av_log(avctx, AV_LOG_ERROR, "mb_width/height overflow\n");
 goto fail;
 }
@@ -494,7 +501,7 @@ int ff_h264_decode_seq_parameter_set(GetBitContext *gb, 
AVCodecContext *avctx,
 unsigned int crop_top= get_ue_golomb(gb);
 unsigned int crop_bottom = get_ue_golomb(gb);
 int width  = 16 * sps->mb_width;
-int height = 16 * sps->mb_height * (2 - sps->frame_mbs_only_flag);
+int height = 16 * sps->mb_height;
 
 if (avctx->flags2 & AV_CODEC_FLAG2_IGNORE_CROP) {
 av_log(avctx, AV_LOG_DEBUG, "discarding sps cropping, original "
diff --git a/libavcodec/h264_ps.h b/libavcodec/h264_ps.h
index 9b9e295..51b6694 100644
--- a/libavcodec/h264_ps.h
+++ b/libavcodec/h264_ps.h
@@ -56,7 +56,8 @@ typedef struct SPS {
 int ref_frame_count;   ///< num_ref_frames
 int gaps_in_frame_num_allowed_flag;
 int mb_width;  ///< pic_width_in_mbs_minus1 + 1
-int mb_height; ///< pic_height_in_map_units_minus1 + 1
+///< (pic_height_in_map_units_minus1 + 1) * (2 - frame_mbs_only_flag)
+int mb_height;
 int frame_mbs_only_flag;
 int mb_aff;///< mb_adaptive_frame_field_flag
 int direct_8x8_inference_flag;
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 25a5890..1f2c065 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1032,7 +1032,7 @@ static int h264_init_ps(H264Context *h, const 
H264SliceContext *sl, int first_sl
 h->ps.sps = (const SPS*)h->ps.sps_ref->data;
 
 if (h->mb_width  != h->ps.sps->mb_width ||
-h->mb_height != h->ps.sps->mb_height * (2 - 
h->ps.sps->frame_mbs_only_flag) ||
+h->mb_height != h->ps.sps->mb_height ||
 h->cur_bit_depth_luma!= h->ps.sps->bit_depth_luma ||
 h->cur_chroma_format_idc != h->ps.sps->chroma_format_idc
 )
@@ -1046,11 +1046,11 @@ static int h264_init_ps(H264Context *h, const 
H264SliceContext *sl, int first_sl
 
 must_reinit = (h->context_initialized &&
 (   16*sps->mb_width != h->avctx->coded_width
- || 16*sps->mb_height * (2 - sps->frame_mbs_only_flag) != 
h->avctx->coded_height
+ || 16*sps->mb_height != h->avctx->coded_height
  || h->cur_bit_depth_luma!= sps->bit_depth_luma
  || h->cur_chroma_format_idc != sps->chroma_format_idc
  || h->mb_width  != sps->mb_width
- || h->mb_height != sps->mb_height * (2 - 
sps->frame_mbs_only_flag)
+ || h->mb_height != sps->mb_height
 ));
 if (h->avctx->pix_fmt == AV_PIX_FMT_NONE
 || (non_j_pixfmt(h->avctx->pix_fmt) != 
non_j_pixfmt(get_pixel_format(h, 0
@@ -1065,7 +1065,7 @@ static int h264_init_ps(H264Context *h, const 
H264SliceContext *sl, int first_sl
 h-

[FFmpeg-cvslog] Merge commit '99cf943339a2e5171863c48cd1a73dd43dc243e1'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:06:42 2016 +0100| [4c5c522fc1a55940e931ece665b2b249d8f39bb1] | committer: 
Hendrik Leppkes

Merge commit '99cf943339a2e5171863c48cd1a73dd43dc243e1'

* commit '99cf943339a2e5171863c48cd1a73dd43dc243e1':
  d3d11va: don't keep the context lock while waiting for a frame

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4c5c522fc1a55940e931ece665b2b249d8f39bb1
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '8c816c0c9b12fdefd9046415e97df299880bc9b8'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:06:10 2016 +0100| [90b72f6bdac98bbdd4bfddbfdc6038c667d7d30e] | committer: 
Hendrik Leppkes

Merge commit '8c816c0c9b12fdefd9046415e97df299880bc9b8'

* commit '8c816c0c9b12fdefd9046415e97df299880bc9b8':
  checkasm/arm: align the clobber check data properly for ldrd

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=90b72f6bdac98bbdd4bfddbfdc6038c667d7d30e
---

 tests/checkasm/arm/checkasm.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/checkasm/arm/checkasm.S b/tests/checkasm/arm/checkasm.S
index 3e3806b..1069adc 100644
--- a/tests/checkasm/arm/checkasm.S
+++ b/tests/checkasm/arm/checkasm.S
@@ -22,7 +22,7 @@
 
 #include "libavutil/arm/asm.S"
 
-const register_init
+const register_init, align=3
 .quad 0x21f86d66c8ca00ce
 .quad 0x75b6ba21077c48ad
 .quad 0xed56bb2dcb3c7736


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '2866d108c9e9da7baf53ff57a51d470691049a57'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:06:28 2016 +0100| [e999a4ed6c63ae88506bcca98ed1dcc59369e723] | committer: 
Hendrik Leppkes

Merge commit '2866d108c9e9da7baf53ff57a51d470691049a57'

* commit '2866d108c9e9da7baf53ff57a51d470691049a57':
  vp8dsp: Remove the comment saying that the height is equal to the width

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e999a4ed6c63ae88506bcca98ed1dcc59369e723
---

 libavcodec/vp8dsp.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vp8dsp.h b/libavcodec/vp8dsp.h
index cda7594..eaae4ae 100644
--- a/libavcodec/vp8dsp.h
+++ b/libavcodec/vp8dsp.h
@@ -70,7 +70,7 @@ typedef struct VP8DSPContext {
 void (*vp8_h_loop_filter_simple)(uint8_t *dst, ptrdiff_t stride, int flim);
 
 /**
- * first dimension: 4-log2(width), height is assumed equal to width
+ * first dimension: 4-log2(width)
  * second dimension: 0 if no vertical interpolation is needed;
  *   1 4-tap vertical interpolation filter (my & 1)
  *   2 6-tap vertical interpolation filter (!(my & 1))


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'ec32574209f36467ef0d22c21a7e811ba98c15b6'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:05:25 2016 +0100| [4fe013fc701acb9a4f0f567604e9f0a0460e9b77] | committer: 
Hendrik Leppkes

Merge commit 'ec32574209f36467ef0d22c21a7e811ba98c15b6'

* commit 'ec32574209f36467ef0d22c21a7e811ba98c15b6':
  checkasm: vp8: mc: test unequal width/height for partitions

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4fe013fc701acb9a4f0f567604e9f0a0460e9b77
---

 tests/checkasm/vp8dsp.c | 16 +---
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c
index 76abe4c..1e64481 100644
--- a/tests/checkasm/vp8dsp.c
+++ b/tests/checkasm/vp8dsp.c
@@ -268,15 +268,17 @@ static void check_mc(void)
 LOCAL_ALIGNED_16(uint8_t, dst0, [16 * 16]);
 LOCAL_ALIGNED_16(uint8_t, dst1, [16 * 16]);
 VP8DSPContext d;
-int type, hsize, dx, dy;
+int type, k, dx, dy;
 declare_func_emms(AV_CPU_FLAG_MMX, void, uint8_t *, ptrdiff_t, uint8_t *, 
ptrdiff_t, int, int, int);
 
 ff_vp78dsp_init();
 
 for (type = 0; type < 2; type++) {
 vp8_mc_func (*tab)[3][3] = type ? d.put_vp8_bilinear_pixels_tab : 
d.put_vp8_epel_pixels_tab;
-for (hsize = 0; hsize < 3; hsize++) {
-int size = 16 >> hsize;
+for (k = 1; k < 8; k++) {
+int hsize  = k / 3;
+int size   = 16 >> hsize;
+int height = (size << 1) >> (k % 3);
 for (dy = 0; dy < 3; dy++) {
 for (dx = 0; dx < 3; dx++) {
 char str[100];
@@ -309,11 +311,11 @@ static void check_mc(void)
 src[i ] = val;
 src[i * SRC_BUF_STRIDE] = val;
 }
-call_ref(dst0, size, src, SRC_BUF_STRIDE, size, mx, 
my);
-call_new(dst1, size, src, SRC_BUF_STRIDE, size, mx, 
my);
-if (memcmp(dst0, dst1, size * size))
+call_ref(dst0, size, src, SRC_BUF_STRIDE, height, mx, 
my);
+call_new(dst1, size, src, SRC_BUF_STRIDE, height, mx, 
my);
+if (memcmp(dst0, dst1, size * height))
 fail();
-bench_new(dst1, size, src, SRC_BUF_STRIDE, size, mx, 
my);
+bench_new(dst1, size, src, SRC_BUF_STRIDE, height, mx, 
my);
 }
 }
 }


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '5f74bd31a9bd1ac7655103b11743c12d38e0419f'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:05:07 2016 +0100| [2818aaaba09da380639a1ed51e4f3ece8cb3b2ec] | committer: 
Hendrik Leppkes

Merge commit '5f74bd31a9bd1ac7655103b11743c12d38e0419f'

* commit '5f74bd31a9bd1ac7655103b11743c12d38e0419f':
  vp8/armv6: mc: avoid boolean expression in calculation

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2818aaaba09da380639a1ed51e4f3ece8cb3b2ec
---

 libavcodec/arm/vp8dsp_armv6.S | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/libavcodec/arm/vp8dsp_armv6.S b/libavcodec/arm/vp8dsp_armv6.S
index f1ec6ee..adecd1c 100644
--- a/libavcodec/arm/vp8dsp_armv6.S
+++ b/libavcodec/arm/vp8dsp_armv6.S
@@ -1226,13 +1226,8 @@ vp8_mc_1bilin,  8, v
 vp8_mc_1bilin,  4, h
 vp8_mc_1bilin,  4, v
 
-/* True relational expressions have the value -1 in the GNU assembler,
-   +1 in Apple's. */
-#ifdef __APPLE__
-#   define TMPSIZE \size * (8 + 8*(\size > 4) + \ytaps - 1)
-#else
-#   define TMPSIZE \size * (8 - 8*(\size > 4) + \ytaps - 1)
-#endif
+@ 4 and 8 pixel wide mc blocks might have height of 8 or 16 lines
+#define TMPSIZE \size * (16 / ((16 / \size + 1) / 2) + \ytaps - 1)
 
 .macro  vp8_mc_hv   name, size, h, v, ytaps
 function ff_put_vp8_\name\size\()_\h\v\()_armv6, export=1


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'fc5cdc0d5372f5103c71d5dede296734fe71ead2'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:04:37 2016 +0100| [711b7b77763cd55d5584ae82ce5cae6d4718092d] | committer: 
Hendrik Leppkes

Merge commit 'fc5cdc0d5372f5103c71d5dede296734fe71ead2'

* commit 'fc5cdc0d5372f5103c71d5dede296734fe71ead2':
  doc: escape left brace in texi2pod.pl regex

This commit is a noop, see e43ea1cbb213def50083812936c6a3c8e28a7789

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=711b7b77763cd55d5584ae82ce5cae6d4718092d
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'd825b1a5306576dcd0553b7d0d24a3a46ad92864'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
15:01:35 2016 +0100| [da97b244b04b48b827ece6d9635a1d1d1cf2021a] | committer: 
Hendrik Leppkes

Merge commit 'd825b1a5306576dcd0553b7d0d24a3a46ad92864'

* commit 'd825b1a5306576dcd0553b7d0d24a3a46ad92864':
  libopenh264: Support building with the 1.6 release

This commit is a noop, see 293676c476733e81d7b596736add6cd510eb6960

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da97b244b04b48b827ece6d9635a1d1d1cf2021a
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '4f7723cb3b913c577842a5bb088c804ddacac8df'

2016-11-17 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Thu Nov 17 
14:54:51 2016 +0100| [4a485daa7fc50fe5eac7a3fc7ce7d83081fa00e1] | committer: 
Hendrik Leppkes

Merge commit '4f7723cb3b913c577842a5bb088c804ddacac8df'

* commit '4f7723cb3b913c577842a5bb088c804ddacac8df':
  movenc: Add an option for skipping writing the mfra/tfra/mfro trailer

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4a485daa7fc50fe5eac7a3fc7ce7d83081fa00e1
---

 libavformat/movenc.c | 29 ++---
 libavformat/movenc.h |  1 +
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 7a726c6..473aac0 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -72,6 +72,7 @@ static const AVOption options[] = {
 { "write_colr", "Write colr atom (Experimental, may be renamed or changed, 
do not use from scripts)", 0, AV_OPT_TYPE_CONST, {.i64 = 
FF_MOV_FLAG_WRITE_COLR}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, 
"movflags" },
 { "write_gama", "Write deprecated gama atom", 0, AV_OPT_TYPE_CONST, {.i64 
= FF_MOV_FLAG_WRITE_GAMA}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, 
"movflags" },
 { "use_metadata_tags", "Use mdta atom for metadata.", 0, 
AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_USE_MDTA}, INT_MIN, INT_MAX, 
AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
+{ "skip_trailer", "Skip writing the mfra/tfra/mfro trailer for fragmented 
files", 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_SKIP_TRAILER}, INT_MIN, 
INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "movflags" },
 FF_RTP_FLAG_OPTS(MOVMuxContext, rtp_flags),
 { "skip_iods", "Skip writing iods atom.", offsetof(MOVMuxContext, 
iods_skip), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM},
 { "iods_audio_profile", "iods audio profile atom.", 
offsetof(MOVMuxContext, iods_audio_profile), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 
255, AV_OPT_FLAG_ENCODING_PARAM},
@@ -3934,6 +3935,20 @@ static int mov_add_tfra_entries(AVIOContext *pb, 
MOVMuxContext *mov, int tracks,
 return 0;
 }
 
+static void mov_prune_frag_info(MOVMuxContext *mov, int tracks, int max)
+{
+int i;
+for (i = 0; i < mov->nb_streams; i++) {
+MOVTrack *track = >tracks[i];
+if ((tracks >= 0 && i != tracks) || !track->entry)
+continue;
+if (track->nb_frag_info > max) {
+memmove(track->frag_info, track->frag_info + (track->nb_frag_info 
- max), max * sizeof(*track->frag_info));
+track->nb_frag_info = max;
+}
+}
+}
+
 static int mov_write_tfdt_tag(AVIOContext *pb, MOVTrack *track)
 {
 int64_t pos = avio_tell(pb);
@@ -4119,8 +4134,16 @@ static int mov_write_moof_tag(AVIOContext *pb, 
MOVMuxContext *mov, int tracks,
 if (mov->flags & FF_MOV_FLAG_DASH && !(mov->flags & 
FF_MOV_FLAG_GLOBAL_SIDX))
 mov_write_sidx_tags(pb, mov, tracks, moof_size + 8 + mdat_size);
 
-if ((ret = mov_add_tfra_entries(pb, mov, tracks, moof_size + 8 + 
mdat_size)) < 0)
-return ret;
+if (mov->flags & FF_MOV_FLAG_GLOBAL_SIDX ||
+!(mov->flags & FF_MOV_FLAG_SKIP_TRAILER) ||
+mov->ism_lookahead) {
+if ((ret = mov_add_tfra_entries(pb, mov, tracks, moof_size + 8 + 
mdat_size)) < 0)
+return ret;
+if (!(mov->flags & FF_MOV_FLAG_GLOBAL_SIDX) &&
+mov->flags & FF_MOV_FLAG_SKIP_TRAILER) {
+mov_prune_frag_info(mov, tracks, mov->ism_lookahead + 1);
+}
+}
 
 return mov_write_moof_tag_internal(pb, mov, tracks, moof_size);
 }
@@ -6150,7 +6173,7 @@ static int mov_write_trailer(AVFormatContext *s)
 avio_seek(pb, end, SEEK_SET);
 avio_write_marker(s->pb, AV_NOPTS_VALUE, AVIO_DATA_MARKER_TRAILER);
 mov_write_mfra_tag(pb, mov);
-} else {
+} else if (!(mov->flags & FF_MOV_FLAG_SKIP_TRAILER)) {
 avio_write_marker(s->pb, AV_NOPTS_VALUE, AVIO_DATA_MARKER_TRAILER);
 mov_write_mfra_tag(pb, mov);
 }
diff --git a/libavformat/movenc.h b/libavformat/movenc.h
index 1f7a9d7..4c4f3cd 100644
--- a/libavformat/movenc.h
+++ b/libavformat/movenc.h
@@ -240,6 +240,7 @@ typedef struct MOVMuxContext {
 #define FF_MOV_FLAG_WRITE_COLR(1 << 15)
 #define FF_MOV_FLAG_WRITE_GAMA(1 << 16)
 #define FF_MOV_FLAG_USE_MDTA  (1 << 17)
+#define FF_MOV_FLAG_SKIP_TRAILER  (1 << 18)
 
 int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt);
 


==

diff --cc libavformat/movenc.c
index 7a726c6,31b940a..473aac0
--- a/libavformat/mov

[FFmpeg-cvslog] configure: properly add dxva2 link dependencies

2016-11-16 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Sat Nov 12 
02:02:29 2016 +0100| [99218ee30d7c1a3c49cf5f45a8b4cb4cd34d8199] | committer: 
Hendrik Leppkes

configure: properly add dxva2 link dependencies

Fixes building with --disable-everything --enable-shared --enable-dxva2

The hwcontext DXVA2 implementation in avutil needs this library now, instead
of just the ffmpeg program.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=99218ee30d7c1a3c49cf5f45a8b4cb4cd34d8199
---

 configure | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index ceaf115..b5bfad6 100755
--- a/configure
+++ b/configure
@@ -2540,6 +2540,7 @@ crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
 cuvid_deps="cuda"
 d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder ID3D11VideoContext"
 dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode"
+dxva2_extralibs="-luser32"
 vaapi_deps="va_va_h"
 vda_framework_deps="VideoDecodeAcceleration_VDADecoder_h"
 vda_framework_extralibs="-framework VideoDecodeAcceleration"
@@ -6318,7 +6319,7 @@ if test $target_os = "haiku"; then
 fi
 
 enabled_all dxva2 dxva2api_cobj CoTaskMemFree &&
-prepend ffmpeg_libs $($ldflags_filter "-lole32" "-luser32") &&
+prepend ffmpeg_libs $($ldflags_filter "-lole32") &&
 enable dxva2_lib
 
 ! enabled_any memalign posix_memalign aligned_malloc &&

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:27:48 2016 +0100| [47f75839e4995922f18d9eb2a49cf2ac3e8724ad] | committer: 
Hendrik Leppkes

Merge commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5'

* commit 'f8d17d53957056c053a46f9320fa7ae6fe1479a5':
  checkasm: Add tests for vp8dsp

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=47f75839e4995922f18d9eb2a49cf2ac3e8724ad
---

 tests/checkasm/Makefile   |   1 +
 tests/checkasm/checkasm.c |   3 +
 tests/checkasm/checkasm.h |   1 +
 tests/checkasm/vp8dsp.c   | 517 ++
 4 files changed, 522 insertions(+)

diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile
index b886cb0..22a74b6 100644
--- a/tests/checkasm/Makefile
+++ b/tests/checkasm/Makefile
@@ -6,6 +6,7 @@ AVCODECOBJS-$(CONFIG_FMTCONVERT)+= fmtconvert.o
 AVCODECOBJS-$(CONFIG_H264DSP)   += h264dsp.o
 AVCODECOBJS-$(CONFIG_H264PRED)  += h264pred.o
 AVCODECOBJS-$(CONFIG_H264QPEL)  += h264qpel.o
+AVCODECOBJS-$(CONFIG_VP8DSP)+= vp8dsp.o
 AVCODECOBJS-$(CONFIG_VIDEODSP)  += videodsp.o
 
 # decoders/encoders
diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index cca227a..f2dbce4 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -98,6 +98,9 @@ static const struct {
 #if CONFIG_V210_ENCODER
 { "v210enc", checkasm_check_v210enc },
 #endif
+#if CONFIG_VP8DSP
+{ "vp8dsp", checkasm_check_vp8dsp },
+#endif
 #if CONFIG_VP9_DECODER
 { "vp9dsp", checkasm_check_vp9dsp },
 #endif
diff --git a/tests/checkasm/checkasm.h b/tests/checkasm/checkasm.h
index 7877251..a8c955b 100644
--- a/tests/checkasm/checkasm.h
+++ b/tests/checkasm/checkasm.h
@@ -44,6 +44,7 @@ void checkasm_check_jpeg2000dsp(void);
 void checkasm_check_pixblockdsp(void);
 void checkasm_check_synth_filter(void);
 void checkasm_check_v210enc(void);
+void checkasm_check_vp8dsp(void);
 void checkasm_check_vp9dsp(void);
 void checkasm_check_videodsp(void);
 
diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c
new file mode 100644
index 000..76abe4c
--- /dev/null
+++ b/tests/checkasm/vp8dsp.c
@@ -0,0 +1,517 @@
+/*
+ * Copyright (c) 2016 Martin Storsjo
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FFmpeg; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include 
+
+#include "libavcodec/avcodec.h"
+#include "libavcodec/vp8dsp.h"
+
+#include "libavutil/common.h"
+#include "libavutil/intreadwrite.h"
+
+#include "checkasm.h"
+
+#define PIXEL_STRIDE 16
+
+#define randomize_buffers(src, dst, stride, coef)\
+do { \
+int x, y;\
+for (y = 0; y < 4; y++) {\
+AV_WN32A((src) + y * (stride), rnd());   \
+AV_WN32A((dst) + y * (stride), rnd());   \
+for (x = 0; x < 4; x++)  \
+(coef)[y * 4 + x] = (src)[y * (stride) + x] -\
+(dst)[y * (stride) + x]; \
+}\
+} while (0)
+
+static void dct4x4(int16_t *coef)
+{
+int i;
+for (i = 0; i < 4; i++) {
+const int a1 = (coef[i*4 + 0] + coef[i*4 + 3]) * 8;
+const int b1 = (coef[i*4 + 1] + coef[i*4 + 2]) * 8;
+const int c1 = (coef[i*4 + 1] - coef[i*4 + 2]) * 8;
+const int d1 = (coef[i*4 + 0] - coef[i*4 + 3]) * 8;
+coef[i*4 + 0] =  a1 + b1;
+coef[i*4 + 1] = (c1 * 2217 + d1 * 5352 + 14500) >> 12;
+coef[i*4 + 2] =  a1 - b1;
+coef[i*4 + 3] = (d1 * 2217 - c1 * 5352 +  7500) >> 12;
+}
+for (i = 0; i < 4; i++) {
+const int a1 = coef[i + 0*4] + coef[i + 3*4];
+const int b1 = coef[i + 1*4] + coef[i + 2*4];
+const int c1 = coef[i + 1*4] - coef[i + 2*4];
+const int d1 = coef[i + 0*4] - coef[

[FFmpeg-cvslog] Merge commit 'e8b96a77010dd62624c3c65c357d7ae3b397ceaa'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:21:49 2016 +0100| [51f5542c776ae89b56d77522fdd2bafde32695b0] | committer: 
Hendrik Leppkes

Merge commit 'e8b96a77010dd62624c3c65c357d7ae3b397ceaa'

* commit 'e8b96a77010dd62624c3c65c357d7ae3b397ceaa':
  arm: Fix a typo in a comment

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=51f5542c776ae89b56d77522fdd2bafde32695b0
---

 libavcodec/arm/vp8dsp_armv6.S | 2 +-
 libavcodec/arm/vp8dsp_neon.S  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/arm/vp8dsp_armv6.S b/libavcodec/arm/vp8dsp_armv6.S
index 1adcbbd..f1ec6ee 100644
--- a/libavcodec/arm/vp8dsp_armv6.S
+++ b/libavcodec/arm/vp8dsp_armv6.S
@@ -1181,7 +1181,7 @@ function ff_put_vp8_pixels4_armv6, export=1
 endfunc
 
 @ note: worst case sum of all 6-tap filter values * 255 is 0x7f80 so 16 bit
-@ arithmatic can be used to apply filters
+@ arithmetic can be used to apply filters
 const   sixtap_filters_13245600, align=4
 .short 2, 108, -11,  36,  -8, 1, 0, 0
 .short 3,  77, -16,  77, -16, 3, 0, 0
diff --git a/libavcodec/arm/vp8dsp_neon.S b/libavcodec/arm/vp8dsp_neon.S
index 2e87fb0..fcb4248 100644
--- a/libavcodec/arm/vp8dsp_neon.S
+++ b/libavcodec/arm/vp8dsp_neon.S
@@ -1562,7 +1562,7 @@ function ff_put_vp8_epel4_h4v4_neon, export=1
 endfunc
 
 @ note: worst case sum of all 6-tap filter values * 255 is 0x7f80 so 16 bit
-@ arithmatic can be used to apply filters
+@ arithmetic can be used to apply filters
 const   subpel_filters, align=4
 .short 0,   6, 123,  12,   1,   0,   0,   0
 .short 2,  11, 108,  36,   8,   1,   0,   0


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'dc08bbf63a217c839aa4c143f2a1d0b7e2e6d997'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:21:24 2016 +0100| [5a447edd475a7ae672f385ca0c76a5fc5a56ac1f] | committer: 
Hendrik Leppkes

Merge commit 'dc08bbf63a217c839aa4c143f2a1d0b7e2e6d997'

* commit 'dc08bbf63a217c839aa4c143f2a1d0b7e2e6d997':
  vp8dsp: Clarify the first dimension of the mc function tables

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5a447edd475a7ae672f385ca0c76a5fc5a56ac1f
---

 libavcodec/vp8dsp.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vp8dsp.h b/libavcodec/vp8dsp.h
index 0401c92..cda7594 100644
--- a/libavcodec/vp8dsp.h
+++ b/libavcodec/vp8dsp.h
@@ -70,12 +70,12 @@ typedef struct VP8DSPContext {
 void (*vp8_h_loop_filter_simple)(uint8_t *dst, ptrdiff_t stride, int flim);
 
 /**
- * first dimension: width>>3, height is assumed equal to width
+ * first dimension: 4-log2(width), height is assumed equal to width
  * second dimension: 0 if no vertical interpolation is needed;
  *   1 4-tap vertical interpolation filter (my & 1)
  *   2 6-tap vertical interpolation filter (!(my & 1))
  * third dimension: same as second dimension, for horizontal interpolation
- * so something like 
put_vp8_epel_pixels_tab[width>>3][2*!!my-(my&1)][2*!!mx-(mx&1)](..., mx, my)
+ * so something like 
put_vp8_epel_pixels_tab[4-log2(width)][2*!!my-(my&1)][2*!!mx-(mx&1)](..., mx, 
my)
  */
 vp8_mc_func put_vp8_epel_pixels_tab[3][3][3];
 vp8_mc_func put_vp8_bilinear_pixels_tab[3][3][3];


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '92736c74fb1633e36f7134a880422a9b7db14d3f'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:20:00 2016 +0100| [3c81fa9a9c5f56078e09b564a27821031876ad61] | committer: 
Hendrik Leppkes

Merge commit '92736c74fb1633e36f7134a880422a9b7db14d3f'

* commit '92736c74fb1633e36f7134a880422a9b7db14d3f':
  qsvdec: add support for P010 (10-bit 420) decoding

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3c81fa9a9c5f56078e09b564a27821031876ad61
---

 libavcodec/qsv.c  |  3 +++
 libavcodec/qsvdec.c   | 15 +++
 libavcodec/qsvdec_h2645.c |  2 ++
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 041daa5..aac6ce6 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -112,6 +112,9 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t 
*fourcc)
 case AV_PIX_FMT_YUVJ420P:
 *fourcc = MFX_FOURCC_NV12;
 return AV_PIX_FMT_NV12;
+case AV_PIX_FMT_YUV420P10:
+*fourcc = MFX_FOURCC_P010;
+return AV_PIX_FMT_P010;
 default:
 return AVERROR(ENOSYS);
 }
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index e166336..e71af59 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -31,6 +31,7 @@
 #include "libavutil/hwcontext_qsv.h"
 #include "libavutil/mem.h"
 #include "libavutil/log.h"
+#include "libavutil/pixdesc.h"
 #include "libavutil/pixfmt.h"
 #include "libavutil/time.h"
 
@@ -86,11 +87,16 @@ static int qsv_init_session(AVCodecContext *avctx, 
QSVContext *q, mfxSession ses
 
 static int qsv_decode_init(AVCodecContext *avctx, QSVContext *q)
 {
+const AVPixFmtDescriptor *desc;
 mfxSession session = NULL;
 int iopattern = 0;
 mfxVideoParam param = { { 0 } };
 int ret;
 
+desc = av_pix_fmt_desc_get(avctx->sw_pix_fmt);
+if (!desc)
+return AVERROR_BUG;
+
 if (!q->async_fifo) {
 q->async_fifo = av_fifo_alloc((1 + q->async_depth) *
   (sizeof(mfxSyncPoint*) + 
sizeof(QSVFrame*)));
@@ -136,9 +142,9 @@ static int qsv_decode_init(AVCodecContext *avctx, 
QSVContext *q)
 param.mfx.CodecProfile = ff_qsv_profile_to_mfx(avctx->codec_id, 
avctx->profile);
 param.mfx.CodecLevel   = avctx->level == FF_LEVEL_UNKNOWN ? 
MFX_LEVEL_UNKNOWN : avctx->level;
 
-param.mfx.FrameInfo.BitDepthLuma   = 8;
-param.mfx.FrameInfo.BitDepthChroma = 8;
-param.mfx.FrameInfo.Shift  = 0;
+param.mfx.FrameInfo.BitDepthLuma   = desc->comp[0].depth;
+param.mfx.FrameInfo.BitDepthChroma = desc->comp[0].depth;
+param.mfx.FrameInfo.Shift  = desc->comp[0].depth > 8;
 param.mfx.FrameInfo.FourCC = q->fourcc;
 param.mfx.FrameInfo.Width  = avctx->coded_width;
 param.mfx.FrameInfo.Height = avctx->coded_height;
@@ -463,7 +469,8 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext 
*q,
 qsv_format = ff_qsv_map_pixfmt(q->parser->format, >fourcc);
 if (qsv_format < 0) {
 av_log(avctx, AV_LOG_ERROR,
-   "Only 8-bit YUV420 streams are supported.\n");
+   "Decoding pixel format '%s' is not supported\n",
+   av_get_pix_fmt_name(q->parser->format));
 ret = AVERROR(ENOSYS);
 goto reinit_fail;
 }
diff --git a/libavcodec/qsvdec_h2645.c b/libavcodec/qsvdec_h2645.c
index 94fbd07..aa7aded 100644
--- a/libavcodec/qsvdec_h2645.c
+++ b/libavcodec/qsvdec_h2645.c
@@ -269,6 +269,7 @@ AVCodec ff_hevc_qsv_decoder = {
 .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | 
AV_CODEC_CAP_AVOID_PROBING,
 .priv_class = _class,
 .pix_fmts   = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
+AV_PIX_FMT_P010,
 AV_PIX_FMT_QSV,
 AV_PIX_FMT_NONE },
 };
@@ -307,6 +308,7 @@ AVCodec ff_h264_qsv_decoder = {
 .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1 | 
AV_CODEC_CAP_AVOID_PROBING,
 .priv_class = ,
 .pix_fmts   = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12,
+AV_PIX_FMT_P010,
 AV_PIX_FMT_QSV,
 AV_PIX_FMT_NONE },
 };


==

diff --cc libavcodec/qsvdec.c
index e166336,929b9af..e71af59
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@@ -133,12 -139,12 +139,12 @@@ static int qsv_decode_init(AVCodecConte
  return ret;
  
  param.mfx.CodecId  = ret;
 -param.mfx.CodecProfile = avctx->profile;
 -param.mfx.CodecLevel   = avct

[FFmpeg-cvslog] Merge commit 'ce320cf1c4daab3e2e3726ed7d2e879d10f7b991'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:19:51 2016 +0100| [220e77391552a61d515a1d8c2b17afd876958613] | committer: 
Hendrik Leppkes

Merge commit 'ce320cf1c4daab3e2e3726ed7d2e879d10f7b991'

* commit 'ce320cf1c4daab3e2e3726ed7d2e879d10f7b991':
  qsvdec: use the same mfxFrameInfo for allocating frames that was passed to 
DECODE_Init

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=220e77391552a61d515a1d8c2b17afd876958613
---

 libavcodec/qsvdec.c | 15 ++-
 libavcodec/qsvdec.h |  1 +
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index 9d3a6da..e166336 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -176,10 +176,12 @@ static int qsv_decode_init(AVCodecContext *avctx, 
QSVContext *q)
 return ff_qsv_error(ret);
 }
 
+q->frame_info = param.mfx.FrameInfo;
+
 return 0;
 }
 
-static int alloc_frame(AVCodecContext *avctx, QSVFrame *frame)
+static int alloc_frame(AVCodecContext *avctx, QSVContext *q, QSVFrame *frame)
 {
 int ret;
 
@@ -190,12 +192,7 @@ static int alloc_frame(AVCodecContext *avctx, QSVFrame 
*frame)
 if (frame->frame->format == AV_PIX_FMT_QSV) {
 frame->surface = (mfxFrameSurface1*)frame->frame->data[3];
 } else {
-frame->surface_internal.Info.BitDepthLuma   = 8;
-frame->surface_internal.Info.BitDepthChroma = 8;
-frame->surface_internal.Info.FourCC = MFX_FOURCC_NV12;
-frame->surface_internal.Info.Width  = avctx->coded_width;
-frame->surface_internal.Info.Height = avctx->coded_height;
-frame->surface_internal.Info.ChromaFormat   = MFX_CHROMAFORMAT_YUV420;
+frame->surface_internal.Info = q->frame_info;
 
 frame->surface_internal.Data.PitchLow = frame->frame->linesize[0];
 frame->surface_internal.Data.Y= frame->frame->data[0];
@@ -230,7 +227,7 @@ static int get_surface(AVCodecContext *avctx, QSVContext 
*q, mfxFrameSurface1 **
 last  = >work_frames;
 while (frame) {
 if (!frame->surface) {
-ret = alloc_frame(avctx, frame);
+ret = alloc_frame(avctx, q, frame);
 if (ret < 0)
 return ret;
 *surf = frame->surface;
@@ -251,7 +248,7 @@ static int get_surface(AVCodecContext *avctx, QSVContext 
*q, mfxFrameSurface1 **
 }
 *last = frame;
 
-ret = alloc_frame(avctx, frame);
+ret = alloc_frame(avctx, q, frame);
 if (ret < 0)
 return ret;
 
diff --git a/libavcodec/qsvdec.h b/libavcodec/qsvdec.h
index 01f4cf9..41fb716 100644
--- a/libavcodec/qsvdec.h
+++ b/libavcodec/qsvdec.h
@@ -57,6 +57,7 @@ typedef struct QSVContext {
 AVCodecContext *avctx_internal;
 enum AVPixelFormat orig_pix_fmt;
 uint32_t fourcc;
+mfxFrameInfo frame_info;
 
 // options set by the caller
 int async_depth;


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:19:43 2016 +0100| [1bc6cdf2fcbd3caea7b78d0a617c6e338606d756] | committer: 
Hendrik Leppkes

Merge commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa'

* commit '536bb17e9659c5ed7576a218d4085cdd6d5742fa':
  qsvdec: make ff_qsv_map_pixfmt() return a MFX fourcc as well

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1bc6cdf2fcbd3caea7b78d0a617c6e338606d756
---

 libavcodec/qsv.c  | 12 
 libavcodec/qsv_internal.h |  2 ++
 libavcodec/qsvdec.c   | 15 ++-
 libavcodec/qsvdec.h   |  3 +--
 4 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index efd7cea..041daa5 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -105,6 +105,18 @@ int ff_qsv_error(int mfx_err)
 }
 }
 
+int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc)
+{
+switch (format) {
+case AV_PIX_FMT_YUV420P:
+case AV_PIX_FMT_YUVJ420P:
+*fourcc = MFX_FOURCC_NV12;
+return AV_PIX_FMT_NV12;
+default:
+return AVERROR(ENOSYS);
+}
+}
+
 static int qsv_load_plugins(mfxSession session, const char *load_plugins,
 void *logctx)
 {
diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h
index 82e1029..5d2a216 100644
--- a/libavcodec/qsv_internal.h
+++ b/libavcodec/qsv_internal.h
@@ -65,6 +65,8 @@ int ff_qsv_error(int mfx_err);
 int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id);
 int ff_qsv_profile_to_mfx(enum AVCodecID codec_id, int profile);
 
+int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc);
+
 int ff_qsv_init_internal_session(AVCodecContext *avctx, mfxSession *session,
  const char *load_plugins);
 
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index 51da8f8..9d3a6da 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -40,17 +40,6 @@
 #include "qsv_internal.h"
 #include "qsvdec.h"
 
-int ff_qsv_map_pixfmt(enum AVPixelFormat format)
-{
-switch (format) {
-case AV_PIX_FMT_YUV420P:
-case AV_PIX_FMT_YUVJ420P:
-return AV_PIX_FMT_NV12;
-default:
-return AVERROR(ENOSYS);
-}
-}
-
 static int qsv_init_session(AVCodecContext *avctx, QSVContext *q, mfxSession 
session,
 AVBufferRef *hw_frames_ref)
 {
@@ -150,7 +139,7 @@ static int qsv_decode_init(AVCodecContext *avctx, 
QSVContext *q)
 param.mfx.FrameInfo.BitDepthLuma   = 8;
 param.mfx.FrameInfo.BitDepthChroma = 8;
 param.mfx.FrameInfo.Shift  = 0;
-param.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
+param.mfx.FrameInfo.FourCC = q->fourcc;
 param.mfx.FrameInfo.Width  = avctx->coded_width;
 param.mfx.FrameInfo.Height = avctx->coded_height;
 param.mfx.FrameInfo.ChromaFormat   = MFX_CHROMAFORMAT_YUV420;
@@ -474,7 +463,7 @@ int ff_qsv_process_data(AVCodecContext *avctx, QSVContext 
*q,
AV_PIX_FMT_NONE };
 enum AVPixelFormat qsv_format;
 
-qsv_format = ff_qsv_map_pixfmt(q->parser->format);
+qsv_format = ff_qsv_map_pixfmt(q->parser->format, >fourcc);
 if (qsv_format < 0) {
 av_log(avctx, AV_LOG_ERROR,
"Only 8-bit YUV420 streams are supported.\n");
diff --git a/libavcodec/qsvdec.h b/libavcodec/qsvdec.h
index 0bf1e55..01f4cf9 100644
--- a/libavcodec/qsvdec.h
+++ b/libavcodec/qsvdec.h
@@ -56,6 +56,7 @@ typedef struct QSVContext {
 AVCodecParserContext *parser;
 AVCodecContext *avctx_internal;
 enum AVPixelFormat orig_pix_fmt;
+uint32_t fourcc;
 
 // options set by the caller
 int async_depth;
@@ -67,8 +68,6 @@ typedef struct QSVContext {
 int nb_ext_buffers;
 } QSVContext;
 
-int ff_qsv_map_pixfmt(enum AVPixelFormat format);
-
 int ff_qsv_process_data(AVCodecContext *avctx, QSVContext *q,
 AVFrame *frame, int *got_frame, AVPacket *pkt);
 


==

diff --cc libavcodec/qsv_internal.h
index 82e1029,e865741..5d2a216
--- a/libavcodec/qsv_internal.h
+++ b/libavcodec/qsv_internal.h
@@@ -63,8 -60,9 +63,10 @@@ typedef struct QSVFramesContext 
  int ff_qsv_error(int mfx_err);
  
  int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id);
 +int ff_qsv_profile_to_mfx(enum AVCodecID codec_id, int profile);
  
+ int ff_qsv_map_pixfmt(enum AVPixelFormat format, uint32_t *fourcc);
+ 
  int ff_qsv_init_internal_session(AVCodecContext *avctx, mfxSession *session,
   const char *load_plugins);
  

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '924e2ecd2b7d51cca60c79351ef16b04dd4245c3'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:20:09 2016 +0100| [68b0d7e0be66bfa8141f8bd3eaa004b8104b8c34] | committer: 
Hendrik Leppkes

Merge commit '924e2ecd2b7d51cca60c79351ef16b04dd4245c3'

* commit '924e2ecd2b7d51cca60c79351ef16b04dd4245c3':
  qsvdec: when a frames ctx is supplied, use its frame dimensions

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68b0d7e0be66bfa8141f8bd3eaa004b8104b8c34
---

 libavcodec/qsvdec.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index e71af59..ea4abfa 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -91,6 +91,8 @@ static int qsv_decode_init(AVCodecContext *avctx, QSVContext 
*q)
 mfxSession session = NULL;
 int iopattern = 0;
 mfxVideoParam param = { { 0 } };
+int frame_width  = avctx->coded_width;
+int frame_height = avctx->coded_height;
 int ret;
 
 desc = av_pix_fmt_desc_get(avctx->sw_pix_fmt);
@@ -122,6 +124,9 @@ static int qsv_decode_init(AVCodecContext *avctx, 
QSVContext *q)
 else if (frames_hwctx->frame_type & 
MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET)
 iopattern = MFX_IOPATTERN_OUT_VIDEO_MEMORY;
 }
+
+frame_width  = frames_hwctx->surfaces[0].Info.Width;
+frame_height = frames_hwctx->surfaces[0].Info.Height;
 }
 
 if (!iopattern)
@@ -146,8 +151,8 @@ static int qsv_decode_init(AVCodecContext *avctx, 
QSVContext *q)
 param.mfx.FrameInfo.BitDepthChroma = desc->comp[0].depth;
 param.mfx.FrameInfo.Shift  = desc->comp[0].depth > 8;
 param.mfx.FrameInfo.FourCC = q->fourcc;
-param.mfx.FrameInfo.Width  = avctx->coded_width;
-param.mfx.FrameInfo.Height = avctx->coded_height;
+param.mfx.FrameInfo.Width  = frame_width;
+param.mfx.FrameInfo.Height = frame_height;
 param.mfx.FrameInfo.ChromaFormat   = MFX_CHROMAFORMAT_YUV420;
 
 switch (avctx->field_order) {


==

diff --cc libavcodec/qsvdec.c
index e71af59,5b36489..ea4abfa
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@@ -146,25 -151,10 +151,25 @@@ static int qsv_decode_init(AVCodecConte
  param.mfx.FrameInfo.BitDepthChroma = desc->comp[0].depth;
  param.mfx.FrameInfo.Shift  = desc->comp[0].depth > 8;
  param.mfx.FrameInfo.FourCC = q->fourcc;
- param.mfx.FrameInfo.Width  = avctx->coded_width;
- param.mfx.FrameInfo.Height = avctx->coded_height;
+ param.mfx.FrameInfo.Width  = frame_width;
+ param.mfx.FrameInfo.Height = frame_height;
  param.mfx.FrameInfo.ChromaFormat   = MFX_CHROMAFORMAT_YUV420;
  
 +switch (avctx->field_order) {
 +case AV_FIELD_PROGRESSIVE:
 +param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE;
 +break;
 +case AV_FIELD_TT:
 +param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF;
 +break;
 +case AV_FIELD_BB:
 +param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_BFF;
 +break;
 +default:
 +param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_UNKNOWN;
 +break;
 +}
 +
  param.IOPattern   = q->iopattern;
  param.AsyncDepth  = q->async_depth;
  param.ExtParam= q->ext_buffers;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'd20c118975220a0256027d1c2410bade94b8534d'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:18:49 2016 +0100| [e122a725fbe9bc5c1bb6047d6be8e0f504d660b9] | committer: 
Hendrik Leppkes

Merge commit 'd20c118975220a0256027d1c2410bade94b8534d'

* commit 'd20c118975220a0256027d1c2410bade94b8534d':
  hwcontext_qsv: add support for p010

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e122a725fbe9bc5c1bb6047d6be8e0f504d660b9
---

 libavutil/hwcontext_qsv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 13be5b0..03244a6 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcontext_qsv.c
@@ -90,6 +90,7 @@ static const struct {
 uint32_t   fourcc;
 } supported_pixel_formats[] = {
 { AV_PIX_FMT_NV12, MFX_FOURCC_NV12 },
+{ AV_PIX_FMT_P010, MFX_FOURCC_P010 },
 };
 
 static int qsv_device_init(AVHWDeviceContext *ctx)


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '40f74dc87acb3f5bbb51f273790a4a7a64201b16'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:18:23 2016 +0100| [15352568132ce93846466379891d613f9c6d0eaa] | committer: 
Hendrik Leppkes

Merge commit '40f74dc87acb3f5bbb51f273790a4a7a64201b16'

* commit '40f74dc87acb3f5bbb51f273790a4a7a64201b16':
  matroskadec: export CodecDelay

Noop, we already export CodecDelay

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=15352568132ce93846466379891d613f9c6d0eaa
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '582d4211e00015b68626f77ce4af53161e2b1713'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:16:56 2016 +0100| [745a44ee6130358ae185b28e3583ccf573bbb1a2] | committer: 
Hendrik Leppkes

Merge commit '582d4211e00015b68626f77ce4af53161e2b1713'

* commit '582d4211e00015b68626f77ce4af53161e2b1713':
  vf_scale_vaapi: Respect driver quirks around buffer destruction

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=745a44ee6130358ae185b28e3583ccf573bbb1a2
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '221ffca6314ed3ba9d38464ea50cd85251c04e74'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:16:39 2016 +0100| [190254f8810f8c9c40ce129add652a5120097b3b] | committer: 
Hendrik Leppkes

Merge commit '221ffca6314ed3ba9d38464ea50cd85251c04e74'

* commit '221ffca6314ed3ba9d38464ea50cd85251c04e74':
  vaapi_encode: Respect driver quirks around buffer destruction

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=190254f8810f8c9c40ce129add652a5120097b3b
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '4926fa9a4aa03f3b751f52e900b9efb87fea0591'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:16:31 2016 +0100| [6ace05beec179d9c370fc404b678db3873af7531] | committer: 
Hendrik Leppkes

Merge commit '4926fa9a4aa03f3b751f52e900b9efb87fea0591'

* commit '4926fa9a4aa03f3b751f52e900b9efb87fea0591':
  hwcontext_vaapi: Add driver quirks to the hwdevice

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6ace05beec179d9c370fc404b678db3873af7531
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '2ef87815fec059504370ae3050cc243a53553915'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:15:19 2016 +0100| [3dfe97a841fe6985357357ef0b93601bfe531bf8] | committer: 
Hendrik Leppkes

Merge commit '2ef87815fec059504370ae3050cc243a53553915'

* commit '2ef87815fec059504370ae3050cc243a53553915':
  hwcontext_dxva2: add support for p010

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3dfe97a841fe6985357357ef0b93601bfe531bf8
---

 libavutil/hwcontext_dxva2.c | 38 ++
 1 file changed, 14 insertions(+), 24 deletions(-)

diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c
index 40a4a27..02632b7 100644
--- a/libavutil/hwcontext_dxva2.c
+++ b/libavutil/hwcontext_dxva2.c
@@ -251,19 +251,11 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, 
AVFrame *dst,
 D3DLOCKED_RECT LockedRect;
 HRESULThr;
 
-int download = !!src->hw_frames_ctx;
-int bytes_per_component;
+uint8_t *surf_data[4] = { NULL };
+int  surf_linesize[4] = { 0 };
+int i;
 
-switch (ctx->sw_format) {
-case AV_PIX_FMT_NV12:
-bytes_per_component = 1;
-break;
-case AV_PIX_FMT_P010:
-bytes_per_component = 2;
-break;
-default:
-av_assert0(0);
-}
+int download = !!src->hw_frames_ctx;
 
 surface = (IDirect3DSurface9*)(download ? src->data[3] : dst->data[3]);
 
@@ -280,20 +272,18 @@ static int dxva2_transfer_data(AVHWFramesContext *ctx, 
AVFrame *dst,
 return AVERROR_UNKNOWN;
 }
 
+for (i = 0; download ? dst->data[i] : src->data[i]; i++)
+surf_linesize[i] = LockedRect.Pitch;
+
+av_image_fill_pointers(surf_data, ctx->sw_format, surfaceDesc.Height,
+   (uint8_t*)LockedRect.pBits, surf_linesize);
+
 if (download) {
-av_image_copy_plane(dst->data[0], dst->linesize[0],
-(uint8_t*)LockedRect.pBits, LockedRect.Pitch,
-src->width * bytes_per_component, src->height);
-av_image_copy_plane(dst->data[1], dst->linesize[1],
-(uint8_t*)LockedRect.pBits + LockedRect.Pitch * 
surfaceDesc.Height,
-LockedRect.Pitch, src->width * 
bytes_per_component, src->height / 2);
+av_image_copy(dst->data, dst->linesize, surf_data, surf_linesize,
+  ctx->sw_format, src->width, src->height);
 } else {
-av_image_copy_plane((uint8_t*)LockedRect.pBits, LockedRect.Pitch,
-dst->data[0], dst->linesize[0],
-src->width * bytes_per_component, src->height);
-av_image_copy_plane((uint8_t*)LockedRect.pBits + LockedRect.Pitch * 
surfaceDesc.Height,
-LockedRect.Pitch, dst->data[1], dst->linesize[1],
-src->width * bytes_per_component, src->height / 2);
+av_image_copy(surf_data, surf_linesize, src->data, src->linesize,
+  ctx->sw_format, src->width, src->height);
 }
 
 IDirect3DSurface9_UnlockRect(surface);


==


___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] swscale: add P010 input support

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Dec  8 
11:53:54 2015 +0100| [e78e5b735fd559bc7aa3f5a01e9c8d37dc2ec6d8] | committer: 
Anton Khirnov

swscale: add P010 input support

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e78e5b735fd559bc7aa3f5a01e9c8d37dc2ec6d8
---

 libswscale/input.c| 50 +++
 libswscale/swscale_unscaled.c |  4 +++-
 libswscale/utils.c|  2 ++
 3 files changed, 55 insertions(+), 1 deletion(-)

diff --git a/libswscale/input.c b/libswscale/input.c
index e806bce..9a4fd77 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -496,6 +496,44 @@ static void nv21ToUV_c(uint8_t *dstU, uint8_t *dstV,
 nvXXtoUV_c(dstV, dstU, src1, width);
 }
 
+static void p010LEToY_c(uint8_t *dst, const uint8_t *src, int width, uint32_t 
*unused)
+{
+int i;
+for (i = 0; i < width; i++) {
+AV_WN16(dst + i * 2, AV_RL16(src + i * 2) >> 6);
+}
+}
+
+static void p010BEToY_c(uint8_t *dst, const uint8_t *src, int width, uint32_t 
*unused)
+{
+int i;
+for (i = 0; i < width; i++) {
+AV_WN16(dst + i * 2, AV_RB16(src + i * 2) >> 6);
+}
+}
+
+static void p010LEToUV_c(uint8_t *dstU, uint8_t *dstV,
+ const uint8_t *src1, const uint8_t *src2,
+ int width, uint32_t *unused)
+{
+int i;
+for (i = 0; i < width; i++) {
+AV_WN16(dstU + i * 2, AV_RL16(src1 + i * 4 + 0) >> 6);
+AV_WN16(dstV + i * 2, AV_RL16(src1 + i * 4 + 2) >> 6);
+}
+}
+
+static void p010BEToUV_c(uint8_t *dstU, uint8_t *dstV,
+ const uint8_t *src1, const uint8_t *src2,
+ int width, uint32_t *unused)
+{
+int i;
+for (i = 0; i < width; i++) {
+AV_WN16(dstU + i * 2, AV_RB16(src1 + i * 4 + 0) >> 6);
+AV_WN16(dstV + i * 2, AV_RB16(src1 + i * 4 + 2) >> 6);
+}
+}
+
 #define input_pixel(pos) (isBE(origin) ? AV_RB16(pos) : AV_RL16(pos))
 
 static void bgr24ToY_c(uint8_t *dst, const uint8_t *src,
@@ -813,6 +851,12 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
 c->chrToYV12 = bswap16UV_c;
 break;
 #endif
+case AV_PIX_FMT_P010LE:
+c->chrToYV12 = p010LEToUV_c;
+break;
+case AV_PIX_FMT_P010BE:
+c->chrToYV12 = p010BEToUV_c;
+break;
 }
 if (c->chrSrcHSubSample) {
 switch (srcFormat) {
@@ -1128,6 +1172,12 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
 case AV_PIX_FMT_BGR48LE:
 c->lumToYV12 = bgr48LEToY_c;
 break;
+case AV_PIX_FMT_P010LE:
+c->lumToYV12 = p010LEToY_c;
+break;
+case AV_PIX_FMT_P010BE:
+c->lumToYV12 = p010BEToY_c;
+break;
 }
 if (c->alpPixBuf) {
 switch (srcFormat) {
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index ba0b2ba..0e6be51 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -1156,7 +1156,9 @@ void ff_get_unscaled_swscale(SwsContext *c)
  c->chrDstHSubSample == c->chrSrcHSubSample &&
  c->chrDstVSubSample == c->chrSrcVSubSample &&
  dstFormat != AV_PIX_FMT_NV12 && dstFormat != AV_PIX_FMT_NV21 &&
- srcFormat != AV_PIX_FMT_NV12 && srcFormat != AV_PIX_FMT_NV21))
+ dstFormat != AV_PIX_FMT_P010LE && dstFormat != AV_PIX_FMT_P010BE &&
+ srcFormat != AV_PIX_FMT_NV12 && srcFormat != AV_PIX_FMT_NV21 &&
+ srcFormat != AV_PIX_FMT_P010LE && srcFormat != AV_PIX_FMT_P010BE))
 {
 if (isPacked(c->srcFormat))
 c->swscale = packedCopyWrapper;
diff --git a/libswscale/utils.c b/libswscale/utils.c
index ee309bc..129643a 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -185,6 +185,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
 [AV_PIX_FMT_GBRAP16BE]   = { 1, 0 },
 [AV_PIX_FMT_XYZ12BE] = { 0, 0, 1 },
 [AV_PIX_FMT_XYZ12LE] = { 0, 0, 1 },
+[AV_PIX_FMT_P010LE]  = { 1, 0 },
+[AV_PIX_FMT_P010BE]  = { 1, 0 },
 };
 
 int sws_isSupportedInput(enum AVPixelFormat pix_fmt)

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'e78e5b735fd559bc7aa3f5a01e9c8d37dc2ec6d8'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:09:31 2016 +0100| [d4509495bfa21e34941e9ee94236c4e71007bf43] | committer: 
Hendrik Leppkes

Merge commit 'e78e5b735fd559bc7aa3f5a01e9c8d37dc2ec6d8'

* commit 'e78e5b735fd559bc7aa3f5a01e9c8d37dc2ec6d8':
  swscale: add P010 input support

This commit is a noop, see 2e31434d84bba17610ecc491afb5b372678fd517

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d4509495bfa21e34941e9ee94236c4e71007bf43
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] pixfmt: add P010 pixel format

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Tue Dec  8 
11:17:01 2015 +0100| [b7c5f885233a7b8692140c920d9f43220dc830d9] | committer: 
Anton Khirnov

pixfmt: add P010 pixel format

P010 is the 10-bit variant of NV12 (planar luma, packed chroma), using two
bytes per component to store 10-bit data plus 6-bit zeroes in the LSBs.

Signed-off-by: Anton Khirnov <an...@khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b7c5f885233a7b8692140c920d9f43220dc830d9
---

 doc/APIchanges  |  3 +++
 libavutil/pixdesc.c | 24 
 libavutil/pixfmt.h  |  4 
 libavutil/version.h |  2 +-
 4 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 1caa1b7..8b5a335 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil: 2015-08-28
 
 API changes, most recent first:
 
+2016-xx-xx - xxx - lavu 55.18.0 - pixdesc.h
+  Add AV_PIX_FMT_P010(LE/BE).
+
 2016-xx-xx - xxx - lavc 57.24.0 - avcodec.h
   Decoders now export the frame timestamp as AVFrame.pts. It was
   previously exported as AVFrame.pkt_pts, which is now deprecated.
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index 6d9e38d..cf2ea9c 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -1590,6 +1590,30 @@ static const AVPixFmtDescriptor 
av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
 .name = "cuda",
 .flags = AV_PIX_FMT_FLAG_HWACCEL,
 },
+[AV_PIX_FMT_P010LE] = {
+.name = "p010le",
+.nb_components = 3,
+.log2_chroma_w = 1,
+.log2_chroma_h = 1,
+.comp = {
+{ 0, 2, 0, 6, 10, 1, 9, 1 },/* Y */
+{ 1, 4, 0, 6, 10, 3, 9, 1 },/* U */
+{ 1, 4, 2, 6, 10, 3, 9, 3 },/* V */
+},
+.flags = AV_PIX_FMT_FLAG_PLANAR,
+},
+[AV_PIX_FMT_P010BE] = {
+.name = "p010be",
+.nb_components = 3,
+.log2_chroma_w = 1,
+.log2_chroma_h = 1,
+.comp = {
+{ 0, 2, 0, 6, 10, 1, 9, 1 },/* Y */
+{ 1, 4, 0, 6, 10, 3, 9, 1 },/* U */
+{ 1, 4, 2, 6, 10, 3, 9, 3 },/* V */
+},
+.flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
+},
 };
 #if FF_API_PLUS1_MINUS1
 FF_ENABLE_DEPRECATION_WARNINGS
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 9a5903b..8a8d624 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -227,6 +227,9 @@ enum AVPixelFormat {
  */
 AV_PIX_FMT_CUDA,
 
+AV_PIX_FMT_P010LE, ///< like NV12, with 10bpp per component, data in the 
high bits, zeros in the low bits, little-endian
+AV_PIX_FMT_P010BE, ///< like NV12, with 10bpp per component, data in the 
high bits, zeros in the low bits, big-endian
+
 AV_PIX_FMT_NB,///< number of pixel formats, DO NOT USE THIS if you 
want to link with shared libav* because the number of formats might differ 
between versions
 };
 
@@ -282,6 +285,7 @@ enum AVPixelFormat {
 
 #define AV_PIX_FMT_XYZ12  AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
 #define AV_PIX_FMT_NV20   AV_PIX_FMT_NE(NV20BE,  NV20LE)
+#define AV_PIX_FMT_P010   AV_PIX_FMT_NE(P010BE,  P010LE)
 
 /**
   * Chromaticity coordinates of the source primaries.
diff --git a/libavutil/version.h b/libavutil/version.h
index e24b30d..6cd42a6 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -54,7 +54,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR 55
-#define LIBAVUTIL_VERSION_MINOR 17
+#define LIBAVUTIL_VERSION_MINOR 18
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'b7c5f885233a7b8692140c920d9f43220dc830d9'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
15:08:19 2016 +0100| [8fee823fe8fbd7894dc38912b799066d2c210d4d] | committer: 
Hendrik Leppkes

Merge commit 'b7c5f885233a7b8692140c920d9f43220dc830d9'

* commit 'b7c5f885233a7b8692140c920d9f43220dc830d9':
  pixfmt: add P010 pixel format

This commit is a noop, see c2869b4640f0af56e2dd828406d074ef6290fde4

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8fee823fe8fbd7894dc38912b799066d2c210d4d
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'be3e807c8fad1f82766c083073e44396799f155b'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
14:03:47 2016 +0100| [06136275e59c38806b04a1fc9cc92beb82db79b6] | committer: 
Hendrik Leppkes

Merge commit 'be3e807c8fad1f82766c083073e44396799f155b'

* commit 'be3e807c8fad1f82766c083073e44396799f155b':
  oggparseopus: export pre-skip

Noop, we already export this information

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=06136275e59c38806b04a1fc9cc92beb82db79b6
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '029cf99c5166b36f33381cd8ebfa5f1f1f463d1f'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
12:41:32 2016 +0100| [d8ffdefbdce16948c9b3c84df62171a7d58c8253] | committer: 
Hendrik Leppkes

Merge commit '029cf99c5166b36f33381cd8ebfa5f1f1f463d1f'

* commit '029cf99c5166b36f33381cd8ebfa5f1f1f463d1f':
  mov: Save number of stsd elements after stream extradata allocation

Mostly noop, see 8b43ee4054af799e388d380b379a13a60849c1b5

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d8ffdefbdce16948c9b3c84df62171a7d58c8253
---

 libavformat/mov.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 17d63d6..8d6cc12 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2332,8 +2332,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 {
 AVStream *st;
 MOVStreamContext *sc;
-int ret;
-int entries;
+int ret, entries;
 
 if (c->fc->nb_streams < 1)
 return 0;
@@ -2342,7 +2341,7 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 
 avio_r8(pb); /* version */
 avio_rb24(pb); /* flags */
-entries = avio_rb32(pb); /* entries */
+entries = avio_rb32(pb);
 
 if (entries <= 0) {
 av_log(c->fc, AV_LOG_ERROR, "invalid STSD entries %d\n", entries);


==

diff --cc libavformat/mov.c
index 17d63d6,0cb3271..8d6cc12
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@@ -2342,26 -1892,19 +2341,26 @@@ static int mov_read_stsd(MOVContext *c
  
  avio_r8(pb); /* version */
  avio_rb24(pb); /* flags */
- entries = avio_rb32(pb); /* entries */
+ entries = avio_rb32(pb);
  
 +if (entries <= 0) {
 +av_log(c->fc, AV_LOG_ERROR, "invalid STSD entries %d\n", entries);
 +return AVERROR_INVALIDDATA;
 +}
 +
 +if (sc->extradata) {
 +av_log(c->fc, AV_LOG_ERROR, "Duplicate STSD\n");
 +return AVERROR_INVALIDDATA;
 +}
  /* Prepare space for hosting multiple extradata. */
  sc->extradata = av_mallocz_array(entries, sizeof(*sc->extradata));
 -if (!sc->extradata)
 -return AVERROR(ENOMEM);
 -
 -sc->stsd_count = entries;
 -sc->extradata_size = av_mallocz_array(sc->stsd_count, 
sizeof(sc->extradata_size));
 -if (!sc->extradata_size)
 -return AVERROR(ENOMEM);
 +sc->extradata_size = av_mallocz_array(entries, 
sizeof(*sc->extradata_size));
 +if (!sc->extradata_size || !sc->extradata) {
 +ret = AVERROR(ENOMEM);
 +goto fail;
 +}
  
 -ret = ff_mov_read_stsd_entries(c, pb, sc->stsd_count);
 +ret = ff_mov_read_stsd_entries(c, pb, entries);
  if (ret < 0)
  return ret;
  

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '9f732e4c996243c1e57c2bbbec6c8b94c37a7a22'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
12:30:35 2016 +0100| [bebab21176c1f052f748cfb2384cc01e0bdb13f4] | committer: 
Hendrik Leppkes

Merge commit '9f732e4c996243c1e57c2bbbec6c8b94c37a7a22'

* commit '9f732e4c996243c1e57c2bbbec6c8b94c37a7a22':
  tiffenc: Check av_pix_fmt_desc_get() return value

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bebab21176c1f052f748cfb2384cc01e0bdb13f4
---

 libavcodec/tiffenc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index 3d37d2e..e575c4c 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -265,6 +265,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket 
*pkt,
 s->subsampling[0] = 1;
 s->subsampling[1] = 1;
 
+if (!desc)
+return AVERROR(EINVAL);
+
 avctx->bits_per_coded_sample =
 s->bpp  = av_get_bits_per_pixel(desc);
 s->bpp_tab_size = desc->nb_components;


==

diff --cc libavcodec/tiffenc.c
index 3d37d2e,24312f0..e575c4c
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@@ -265,32 -246,37 +265,35 @@@ static int encode_frame(AVCodecContext 
  s->subsampling[0] = 1;
  s->subsampling[1] = 1;
  
++if (!desc)
++return AVERROR(EINVAL);
++
 +avctx->bits_per_coded_sample =
 +s->bpp  = av_get_bits_per_pixel(desc);
 +s->bpp_tab_size = desc->nb_components;
 +
  switch (avctx->pix_fmt) {
  case AV_PIX_FMT_RGBA64LE:
 -case AV_PIX_FMT_RGB48LE:
 -case AV_PIX_FMT_GRAY16LE:
  case AV_PIX_FMT_RGBA:
 +alpha = 1;
 +case AV_PIX_FMT_RGB48LE:
  case AV_PIX_FMT_RGB24:
 -case AV_PIX_FMT_GRAY8:
 -case AV_PIX_FMT_PAL8:
 -pfd = av_pix_fmt_desc_get(avctx->pix_fmt);
 -if (!pfd)
 -return AVERROR_BUG;
 -s->bpp = av_get_bits_per_pixel(pfd);
 -if (pfd->flags & AV_PIX_FMT_FLAG_PAL)
 -s->photometric_interpretation = TIFF_PHOTOMETRIC_PALETTE;
 -else if (pfd->flags & AV_PIX_FMT_FLAG_RGB)
 -s->photometric_interpretation = TIFF_PHOTOMETRIC_RGB;
 -else
 -s->photometric_interpretation = TIFF_PHOTOMETRIC_BLACK_IS_ZERO;
 -s->bpp_tab_size = pfd->nb_components;
 -for (i = 0; i < s->bpp_tab_size; i++)
 -bpp_tab[i] = s->bpp / s->bpp_tab_size;
 +s->photometric_interpretation = TIFF_PHOTOMETRIC_RGB;
  break;
 +case AV_PIX_FMT_GRAY8:
 +avctx->bits_per_coded_sample = 0x28;
 +case AV_PIX_FMT_GRAY8A:
 +case AV_PIX_FMT_YA16LE:
 +alpha = avctx->pix_fmt == AV_PIX_FMT_GRAY8A || avctx->pix_fmt == 
AV_PIX_FMT_YA16LE;
 +case AV_PIX_FMT_GRAY16LE:
  case AV_PIX_FMT_MONOBLACK:
 -s->bpp= 1;
  s->photometric_interpretation = TIFF_PHOTOMETRIC_BLACK_IS_ZERO;
 -s->bpp_tab_size   = 0;
 +break;
 +case AV_PIX_FMT_PAL8:
 +s->photometric_interpretation = TIFF_PHOTOMETRIC_PALETTE;
  break;
  case AV_PIX_FMT_MONOWHITE:
 -s->bpp= 1;
  s->photometric_interpretation = TIFF_PHOTOMETRIC_WHITE_IS_ZERO;
 -s->bpp_tab_size   = 0;
  break;
  case AV_PIX_FMT_YUV420P:
  case AV_PIX_FMT_YUV422P:

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '6c445990e64124ad64c79423dfd3764520648c89'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
12:32:08 2016 +0100| [985bc8b49683761e5014a22146d4346c951680ad] | committer: 
Hendrik Leppkes

Merge commit '6c445990e64124ad64c79423dfd3764520648c89'

* commit '6c445990e64124ad64c79423dfd3764520648c89':
  tiffenc: Check zlib support for deflate option during initialization

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=985bc8b49683761e5014a22146d4346c951680ad
---

 libavcodec/tiffenc.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index e575c4c..f59816e 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -524,6 +524,15 @@ fail:
 static av_cold int encode_init(AVCodecContext *avctx)
 {
 TiffEncoderContext *s = avctx->priv_data;
+
+#if !CONFIG_ZLIB
+if (s->compr == TIFF_DEFLATE) {
+av_log(avctx, AV_LOG_ERROR,
+   "Deflate compression needs zlib compiled in\n");
+return AVERROR(ENOSYS);
+}
+#endif
+
 #if FF_API_CODED_FRAME
 FF_DISABLE_DEPRECATION_WARNINGS
 avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
@@ -554,9 +563,7 @@ static const AVOption options[] = {
 { "packbits", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 
TIFF_PACKBITS }, 0,0,VE, "compression_algo" },
 { "raw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 
TIFF_RAW  }, 0,0,VE, "compression_algo" },
 { "lzw",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 
TIFF_LZW  }, 0,0,VE, "compression_algo" },
-#if CONFIG_ZLIB
 { "deflate",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 
TIFF_DEFLATE  }, 0,0,VE, "compression_algo" },
-#endif
 { NULL },
 };
 


==

diff --cc libavcodec/tiffenc.c
index e575c4c,8791c54..f59816e
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@@ -523,7 -492,16 +523,16 @@@ fail
  
  static av_cold int encode_init(AVCodecContext *avctx)
  {
 -#if !CONFIG_ZLIB
  TiffEncoderContext *s = avctx->priv_data;
+ 
++#if !CONFIG_ZLIB
+ if (s->compr == TIFF_DEFLATE) {
+ av_log(avctx, AV_LOG_ERROR,
+"Deflate compression needs zlib compiled in\n");
+ return AVERROR(ENOSYS);
+ }
+ #endif
+ 
  #if FF_API_CODED_FRAME
  FF_DISABLE_DEPRECATION_WARNINGS
  avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'd8f3b0fb584677d4882e3a2d7c28f8b15c7319f5'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
12:16:32 2016 +0100| [bbd0ebfd835761d1abbe030a8a7866d88b2a8777] | committer: 
Hendrik Leppkes

Merge commit 'd8f3b0fb584677d4882e3a2d7c28f8b15c7319f5'

* commit 'd8f3b0fb584677d4882e3a2d7c28f8b15c7319f5':
  targaenc: Move size check to initialization function

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bbd0ebfd835761d1abbe030a8a7866d88b2a8777
---

 libavcodec/targaenc.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c
index 66bc55c..79030a0 100644
--- a/libavcodec/targaenc.c
+++ b/libavcodec/targaenc.c
@@ -89,10 +89,6 @@ static int targa_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
 int bpp, picsize, datasize = -1, ret, i;
 uint8_t *out;
 
-if(avctx->width > 0x || avctx->height > 0x) {
-av_log(avctx, AV_LOG_ERROR, "image dimensions too large\n");
-return AVERROR(EINVAL);
-}
 picsize = av_image_get_buffer_size(avctx->pix_fmt,
avctx->width, avctx->height, 1);
 if ((ret = ff_alloc_packet2(avctx, pkt, picsize + 45, 0)) < 0)
@@ -190,6 +186,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
 
 static av_cold int targa_encode_init(AVCodecContext *avctx)
 {
+if (avctx->width > 0x || avctx->height > 0x) {
+av_log(avctx, AV_LOG_ERROR, "image dimensions too large\n");
+return AVERROR(EINVAL);
+}
+
 #if FF_API_CODED_FRAME
 FF_DISABLE_DEPRECATION_WARNINGS
 avctx->coded_frame->key_frame = 1;


==

diff --cc libavcodec/targaenc.c
index 66bc55c,f0cee38..79030a0
--- a/libavcodec/targaenc.c
+++ b/libavcodec/targaenc.c
@@@ -86,17 -86,15 +86,13 @@@ static int targa_encode_frame(AVCodecCo
const AVFrame *p, int *got_packet)
  {
  TargaContext *s = avctx->priv_data;
 -int bpp, picsize, datasize = -1, ret;
 +int bpp, picsize, datasize = -1, ret, i;
  uint8_t *out;
  
- if(avctx->width > 0x || avctx->height > 0x) {
- av_log(avctx, AV_LOG_ERROR, "image dimensions too large\n");
- return AVERROR(EINVAL);
- }
  picsize = av_image_get_buffer_size(avctx->pix_fmt,
 avctx->width, avctx->height, 1);
 -if ((ret = ff_alloc_packet(pkt, picsize + 45)) < 0) {
 -av_log(avctx, AV_LOG_ERROR, "encoded frame too large\n");
 +if ((ret = ff_alloc_packet2(avctx, pkt, picsize + 45, 0)) < 0)
  return ret;
 -}
  
  /* zero out the header and only set applicable fields */
  memset(pkt->data, 0, 12);

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'eeb6849cedac099d41feb482da581f4059c63ca7'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
12:03:00 2016 +0100| [25004c7e6eaa91c749763c1dabb41c4fc9c692e2] | committer: 
Hendrik Leppkes

Merge commit 'eeb6849cedac099d41feb482da581f4059c63ca7'

* commit 'eeb6849cedac099d41feb482da581f4059c63ca7':
  rle: K formatting cosmetics

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=25004c7e6eaa91c749763c1dabb41c4fc9c692e2
---

 libavcodec/rle.c | 34 --
 libavcodec/rle.h |  9 +
 2 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/libavcodec/rle.c b/libavcodec/rle.c
index 7924ea7..792bc05 100644
--- a/libavcodec/rle.c
+++ b/libavcodec/rle.c
@@ -18,26 +18,29 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+#include "libavutil/common.h"
+
 #include "avcodec.h"
 #include "rle.h"
-#include "libavutil/common.h"
 
 int ff_rle_count_pixels(const uint8_t *start, int len, int bpp, int same)
 {
 const uint8_t *pos;
 int count = 1;
 
-for(pos = start + bpp; count < FFMIN(127, len); pos += bpp, count ++) {
-if(same != !memcmp(pos-bpp, pos, bpp)) {
-if(!same) {
-/* if bpp == 1, then 0 1 1 0 is more efficiently encoded as a 
single
- * raw block of pixels.  for larger bpp, RLE is as good or 
better */
-if(bpp == 1 && count + 1 < FFMIN(127, len) && *pos != *(pos+1))
+for (pos = start + bpp; count < FFMIN(127, len); pos += bpp, count++) {
+if (same != !memcmp(pos - bpp, pos, bpp)) {
+if (!same) {
+/* if bpp == 1, then 0 1 1 0 is more efficiently encoded as a
+ * single raw block of pixels. For larger bpp, RLE is as good
+ * or better */
+if (bpp == 1 && count + 1 < FFMIN(127, len) && *pos != *(pos + 
1))
 continue;
 
 /* if RLE can encode the next block better than as a raw block,
  * back up and leave _all_ the identical pixels for RLE */
-count --;
+count--;
 }
 break;
 }
@@ -46,25 +49,28 @@ int ff_rle_count_pixels(const uint8_t *start, int len, int 
bpp, int same)
 return count;
 }
 
-int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *ptr , int bpp, 
int w,
-  int add_rep, int xor_rep, int add_raw, int xor_raw)
+int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *ptr, int bpp,
+  int w, int add_rep, int xor_rep, int add_raw, int xor_raw)
 {
 int count, x;
 uint8_t *out = outbuf;
 
-for(x = 0; x < w; x += count) {
+for (x = 0; x < w; x += count) {
 /* see if we can encode the next set of pixels with RLE */
 if ((count = ff_rle_count_pixels(ptr, w - x, bpp, 1)) > 1) {
-if(out + bpp + 1 > outbuf + out_size) return -1;
+if (out + bpp + 1 > outbuf + out_size)
+return -1;
+
 *out++ = (count ^ xor_rep) + add_rep;
 memcpy(out, ptr, bpp);
 out += bpp;
 } else {
 /* fall back on uncompressed */
 count = ff_rle_count_pixels(ptr, w - x, bpp, 0);
-if(out + bpp*count >= outbuf + out_size) return -1;
-*out++ = (count ^ xor_raw) + add_raw;
+if (out + bpp * count >= outbuf + out_size)
+return -1;
 
+*out++ = (count ^ xor_raw) + add_raw;
 memcpy(out, ptr, bpp * count);
 out += bpp * count;
 }
diff --git a/libavcodec/rle.h b/libavcodec/rle.h
index cb51624..a92edf7 100644
--- a/libavcodec/rle.h
+++ b/libavcodec/rle.h
@@ -35,8 +35,9 @@
 int ff_rle_count_pixels(const uint8_t *start, int len, int bpp, int same);
 
 /**
- * RLE compress the row, with maximum size of out_size. Value before repeated 
bytes is (count ^ xor_rep) + add_rep.
- *  Value before raw bytes 
is  (count ^ xor_raw) + add_raw.
+ * RLE compress the row, with maximum size of out_size.
+ * Value before repeated bytes is (count ^ xor_rep) + add_rep.
+ * Value before raw bytes is (count ^ xor_raw) + add_raw.
  * @param outbuf Output buffer
  * @param out_size Maximum output size
  * @param inbuf Input buffer
@@ -44,7 +45,7 @@ int ff_rle_count_pixels(const uint8_t *start, int len, int 
bpp, int same);
  * @param w Image width
  * @return Size of output in bytes, or -1 if larger than out_size
  */
-int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *inbuf, int 
bpp, int w,
-  int add_rep, int xor_rep, int add_raw, int xor_raw);
+int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *i

[FFmpeg-cvslog] Merge commit '326d9116936ab61d13ac4142b49c7337daf7c4c0'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
11:50:03 2016 +0100| [444e65299ba5cbf390439e27ce2cb91dff0e5aa7] | committer: 
Hendrik Leppkes

Merge commit '326d9116936ab61d13ac4142b49c7337daf7c4c0'

* commit '326d9116936ab61d13ac4142b49c7337daf7c4c0':
  build: Drop unnecessary libavcodec <-> libavformat object dependencies

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=444e65299ba5cbf390439e27ce2cb91dff0e5aa7
---

 libavcodec/Makefile | 19 +++
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 8c18906..82f7fa2 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -810,33 +810,20 @@ OBJS-$(CONFIG_ISO_MEDIA)   += mpeg4audio.o 
mpegaudiodata.o
 OBJS-$(CONFIG_ADTS_MUXER)  += mpeg4audio.o
 OBJS-$(CONFIG_CAF_DEMUXER) += ac3tab.o
 OBJS-$(CONFIG_DNXHD_DEMUXER)   += dnxhddata.o
-OBJS-$(CONFIG_FLAC_DEMUXER)+= flac.o flacdata.o vorbis_data.o
-OBJS-$(CONFIG_FLAC_MUXER)  += flac.o flacdata.o vorbis_data.o
 OBJS-$(CONFIG_FLV_DEMUXER) += mpeg4audio.o
-OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
-OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
 OBJS-$(CONFIG_LATM_MUXER)  += mpeg4audio.o
-OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o vorbis_data.o\
-  flac.o flacdata.o
-OBJS-$(CONFIG_MATROSKA_MUXER)  += flac.o flacdata.o vorbis_data.o
+OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o
+OBJS-$(CONFIG_MATROSKA_MUXER)  += mpeg4audio.o
 OBJS-$(CONFIG_MOV_DEMUXER) += ac3tab.o
 OBJS-$(CONFIG_MP3_MUXER)   += mpegaudiodata.o mpegaudiodecheader.o
-OBJS-$(CONFIG_MPEGTS_MUXER)+= mpeg4audio.o
 OBJS-$(CONFIG_MXF_MUXER)   += dnxhddata.o
 OBJS-$(CONFIG_NUT_MUXER)   += mpegaudiodata.o
 OBJS-$(CONFIG_NUT_DEMUXER) += mpegaudiodata.o mpeg4audio.o
-OBJS-$(CONFIG_OGA_MUXER)   += flac.o flacdata.o
-OBJS-$(CONFIG_OGG_DEMUXER) += mpeg12data.o \
-  dirac.o vorbis_data.o
-OBJS-$(CONFIG_OGG_MUXER)   += flac.o flacdata.o \
-  vorbis_data.o
 OBJS-$(CONFIG_RTP_MUXER)   += mpeg4audio.o
 OBJS-$(CONFIG_SPDIF_DEMUXER)   += aacadtsdec.o mpeg4audio.o
 OBJS-$(CONFIG_SPDIF_MUXER) += dca.o
 OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
-OBJS-$(CONFIG_WEBM_MUXER)  += mpeg4audio.o mpegaudiodata.o  \
-  flac.o flacdata.o \
-  vorbis_data.o
+OBJS-$(CONFIG_WEBM_MUXER)  += mpeg4audio.o
 
 # libavfilter dependencies
 OBJS-$(CONFIG_ELBG_FILTER) += elbg.o


==

diff --cc libavcodec/Makefile
index 8c18906,8eb7d36..82f7fa2
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@@ -809,60 -640,21 +809,47 @@@ OBJS-$(CONFIG_ISO_MEDIA)   
  
  OBJS-$(CONFIG_ADTS_MUXER)  += mpeg4audio.o
  OBJS-$(CONFIG_CAF_DEMUXER) += ac3tab.o
 +OBJS-$(CONFIG_DNXHD_DEMUXER)   += dnxhddata.o
- OBJS-$(CONFIG_FLAC_DEMUXER)+= flac.o flacdata.o vorbis_data.o
- OBJS-$(CONFIG_FLAC_MUXER)  += flac.o flacdata.o vorbis_data.o
  OBJS-$(CONFIG_FLV_DEMUXER) += mpeg4audio.o
- OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
- OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
  OBJS-$(CONFIG_LATM_MUXER)  += mpeg4audio.o
- OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o vorbis_data.o\
-   flac.o flacdata.o
- OBJS-$(CONFIG_MATROSKA_MUXER)  += flac.o flacdata.o vorbis_data.o
+ OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o
+ OBJS-$(CONFIG_MATROSKA_MUXER)  += mpeg4audio.o
  OBJS-$(CONFIG_MOV_DEMUXER) += ac3tab.o
  OBJS-$(CONFIG_MP3_MUXER)   += mpegaudiodata.o mpegaudiodecheader.o
- OBJS-$(CONFIG_MPEGTS_MUXER)+= mpeg4audio.o
 +OBJS-$(CONFIG_MXF_MUXER)   += dnxhddata.o
  OBJS-$(CONFIG_NUT_MUXER)   += mpegaudiodata.o
 +OBJS-$(CONFIG_NUT_DEMUXER) += mpegaudiodata.o mpeg4audio.o
- OBJS-$(CONFIG_OGA_MUXER)   += flac.o flacdata.o
- OBJS-$(CONFIG_OGG_DEMUXER) += mpeg12data.o \
-   dirac.o vorbis_data.o
- OBJS-$(CONFIG_OGG_MUXER)   += flac.o flacdata.o \
-   vorbis_data.o
 +OBJS-$(CONFIG_RTP_MUXER)   += mpeg4audio.o
  OBJS-$(CONFIG_SPDIF_DEMUXER)   += aacadtsdec.o mpeg4audio.o
  OBJS-$(CONFIG_SPDIF_MUXER) += dca.o
  OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
- OBJ

[FFmpeg-cvslog] Merge commit 'e72d6fa08a3c1876109149401753a8d2c736d418'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
11:19:25 2016 +0100| [a0bc6b51d4f6d01eb4bcaec5489ca67037687a77] | committer: 
Hendrik Leppkes

Merge commit 'e72d6fa08a3c1876109149401753a8d2c736d418'

* commit 'e72d6fa08a3c1876109149401753a8d2c736d418':
  build: Move MP2 muxer declaration away from MP3 muxer code

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a0bc6b51d4f6d01eb4bcaec5489ca67037687a77
---

 libavcodec/Makefile  |  1 -
 libavformat/Makefile |  2 +-
 libavformat/mp3enc.c | 16 
 libavformat/rawenc.c | 13 +
 4 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 66ef2ac..8c18906 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -820,7 +820,6 @@ OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o 
vorbis_data.o\
   flac.o flacdata.o
 OBJS-$(CONFIG_MATROSKA_MUXER)  += flac.o flacdata.o vorbis_data.o
 OBJS-$(CONFIG_MOV_DEMUXER) += ac3tab.o
-OBJS-$(CONFIG_MP2_MUXER)   += mpegaudiodata.o mpegaudiodecheader.o
 OBJS-$(CONFIG_MP3_MUXER)   += mpegaudiodata.o mpegaudiodecheader.o
 OBJS-$(CONFIG_MPEGTS_MUXER)+= mpeg4audio.o
 OBJS-$(CONFIG_MXF_MUXER)   += dnxhddata.o
diff --git a/libavformat/Makefile b/libavformat/Makefile
index e6bfc42..5ee0deb 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -285,7 +285,7 @@ OBJS-$(CONFIG_MOV_DEMUXER)   += mov.o 
mov_chan.o replaygain.o
 OBJS-$(CONFIG_MOV_MUXER) += movenc.o avc.o hevc.o vpcc.o \
 movenchint.o mov_chan.o rtp.o \
 movenccenc.o rawutils.o
-OBJS-$(CONFIG_MP2_MUXER) += mp3enc.o rawenc.o id3v2enc.o
+OBJS-$(CONFIG_MP2_MUXER) += rawenc.o
 OBJS-$(CONFIG_MP3_DEMUXER)   += mp3dec.o replaygain.o
 OBJS-$(CONFIG_MP3_MUXER) += mp3enc.o rawenc.o id3v2enc.o
 OBJS-$(CONFIG_MPC_DEMUXER)   += mpc.o apetag.o img2.o
diff --git a/libavformat/mp3enc.c b/libavformat/mp3enc.c
index 4c97fa1..49f3742 100644
--- a/libavformat/mp3enc.c
+++ b/libavformat/mp3enc.c
@@ -490,21 +490,6 @@ static int query_codec(enum AVCodecID id, int 
std_compliance)
 return -1;
 }
 
-#if CONFIG_MP2_MUXER
-AVOutputFormat ff_mp2_muxer = {
-.name  = "mp2",
-.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
-.mime_type = "audio/mpeg",
-.extensions= "mp2,m2a,mpa",
-.audio_codec   = AV_CODEC_ID_MP2,
-.video_codec   = AV_CODEC_ID_NONE,
-.write_packet  = ff_raw_write_packet,
-.flags = AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_MP3_MUXER
-
 static const AVOption options[] = {
 { "id3v2_version", "Select ID3v2 version to write. Currently 3 and 4 are 
supported.",
   offsetof(MP3Context, id3v2_version), AV_OPT_TYPE_INT, {.i64 = 4}, 0, 4, 
AV_OPT_FLAG_ENCODING_PARAM},
@@ -652,4 +637,3 @@ AVOutputFormat ff_mp3_muxer = {
 .flags = AVFMT_NOTIMESTAMPS,
 .priv_class= _muxer_class,
 };
-#endif
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
index 730e99a..0edcd1c 100644
--- a/libavformat/rawenc.c
+++ b/libavformat/rawenc.c
@@ -337,6 +337,19 @@ AVOutputFormat ff_mlp_muxer = {
 };
 #endif
 
+#if CONFIG_MP2_MUXER
+AVOutputFormat ff_mp2_muxer = {
+.name  = "mp2",
+.long_name = NULL_IF_CONFIG_SMALL("MP2 (MPEG audio layer 2)"),
+.mime_type = "audio/mpeg",
+.extensions= "mp2,m2a,mpa",
+.audio_codec   = AV_CODEC_ID_MP2,
+.video_codec   = AV_CODEC_ID_NONE,
+.write_packet  = ff_raw_write_packet,
+.flags = AVFMT_NOTIMESTAMPS,
+};
+#endif
+
 #if CONFIG_MPEG1VIDEO_MUXER
 AVOutputFormat ff_mpeg1video_muxer = {
 .name  = "mpeg1video",


==

diff --cc libavcodec/Makefile
index 66ef2ac,09b16e7..8c18906
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@@ -816,21 -645,16 +816,20 @@@ OBJS-$(CONFIG_FLV_DEMUXER) 
  OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
  OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
  OBJS-$(CONFIG_LATM_MUXER)  += mpeg4audio.o
 -OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o  \
 +OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER)+= mpeg4audio.o vorbis_data.o\
flac.o flacdata.o
 -OBJS-$(CONFIG_MATROSKA_MUXER)  += flac.o flacdata.o
 +OBJS-$(CONFIG_MATROSKA_MUXER)  += flac.o flacdata.o vorbis_data.o
  OBJS-$(CONFIG_MOV_DEMUXER)  

[FFmpeg-cvslog] Merge commit '67cb2c0f73ec08bdcecd675c1ffe25c3a5b26ef2'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:50:50 2016 +0100| [cd70ffaac8b74d88ed1460e10c7e9c02d067e3ca] | committer: 
Hendrik Leppkes

Merge commit '67cb2c0f73ec08bdcecd675c1ffe25c3a5b26ef2'

* commit '67cb2c0f73ec08bdcecd675c1ffe25c3a5b26ef2':
  checkasm: hevc: Iterate over features first, then over bitdepths

Noop, we don't have these checkasm tests.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cd70ffaac8b74d88ed1460e10c7e9c02d067e3ca
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'fe27792fd779ac4cdd5e57be5f6f488483c307b2'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:42:36 2016 +0100| [9b4cc0f35c8123ce9ff505eebb5f3f261dff0bf8] | committer: 
Hendrik Leppkes

Merge commit 'fe27792fd779ac4cdd5e57be5f6f488483c307b2'

* commit 'fe27792fd779ac4cdd5e57be5f6f488483c307b2':
  build: Move ff_mpeg12_frame_rate_tab to a separate file

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9b4cc0f35c8123ce9ff505eebb5f3f261dff0bf8
---

 libavcodec/Makefile  |  6 +++---
 libavcodec/mpeg12data.c  | 20 
 libavcodec/mpeg12framerate.c | 39 +++
 3 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 4aa0787..66ef2ac 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -37,6 +37,7 @@ OBJS = allcodecs.o
  \
jni.o\
mathtables.o \
mediacodec.o \
+   mpeg12framerate.o\
options.o\
parser.o \
profiles.o   \
@@ -217,7 +218,7 @@ OBJS-$(CONFIG_BMV_VIDEO_DECODER)   += bmvvideo.o
 OBJS-$(CONFIG_BRENDER_PIX_DECODER) += brenderpix.o
 OBJS-$(CONFIG_C93_DECODER) += c93.o
 OBJS-$(CONFIG_CAVS_DECODER)+= cavs.o cavsdec.o cavsdsp.o \
-  cavsdata.o mpeg12data.o
+  cavsdata.o
 OBJS-$(CONFIG_CCAPTION_DECODER)+= ccaption_dec.o
 OBJS-$(CONFIG_CDGRAPHICS_DECODER)  += cdgraphics.o
 OBJS-$(CONFIG_CDXL_DECODER)+= cdxl.o
@@ -239,8 +240,7 @@ OBJS-$(CONFIG_DCA_DECODER) += dcadec.o dca.o 
dcadata.o dcahuff.o \
 OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o dcadata.o
 OBJS-$(CONFIG_DDS_DECODER) += dds.o
 OBJS-$(CONFIG_DIRAC_DECODER)   += diracdec.o dirac.o diracdsp.o 
diractab.o \
-  dirac_arith.o mpeg12data.o 
dirac_dwt.o \
-  dirac_vlc.o
+  dirac_arith.o dirac_dwt.o dirac_vlc.o
 OBJS-$(CONFIG_DFA_DECODER) += dfa.o
 OBJS-$(CONFIG_DNXHD_DECODER)   += dnxhddec.o dnxhddata.o
 OBJS-$(CONFIG_DNXHD_ENCODER)   += dnxhdenc.o dnxhddata.o
diff --git a/libavcodec/mpeg12data.c b/libavcodec/mpeg12data.c
index 416bbb8..4da96d7 100644
--- a/libavcodec/mpeg12data.c
+++ b/libavcodec/mpeg12data.c
@@ -305,26 +305,6 @@ const uint8_t ff_mpeg12_mbMotionVectorTable[17][2] = {
 { 0xc, 10 },
 };
 
-const AVRational ff_mpeg12_frame_rate_tab[16] = {
-{0,0},
-{24000, 1001},
-{   24,1},
-{   25,1},
-{3, 1001},
-{   30,1},
-{   50,1},
-{6, 1001},
-{   60,1},
-  // Xing's 15fps: (9)
-{   15,1},
-  // libmpeg3's "Unofficial economy rates": (10-13)
-{5,1},
-{   10,1},
-{   12,1},
-{   15,1},
-{0,0},
-};
-
 const AVRational ff_mpeg2_frame_rate_tab[] = {
 {  1, 1},
 {  2, 1},
diff --git a/libavcodec/mpeg12framerate.c b/libavcodec/mpeg12framerate.c
new file mode 100644
index 000..094cd18
--- /dev/null
+++ b/libavcodec/mpeg12framerate.c
@@ -0,0 +1,39 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "libavutil/rational.h"
+
+const AVRational ff_mpeg12_frame_rate_tab[16] = {
+{0,0},
+{24000, 1001},
+{   24,1},
+{   25,1},
+{3, 1001},
+{   30,1},
+{   50,1},
+{6, 1001},
+{   60,1},
+  // Xing's 15fps: (9)
+{   15,1},
+  // libmpeg3's "Unofficial economy rates": (10-13)
+{5,1},
+{   10,1},
+{   12,

[FFmpeg-cvslog] Merge commit '8c929037ec75fbe9f367e0a31ee34839e92de481'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:09:44 2016 +0100| [575e8d11f1ebba9f3d9076862b099b7f94e4eb4a] | committer: 
Hendrik Leppkes

Merge commit '8c929037ec75fbe9f367e0a31ee34839e92de481'

* commit '8c929037ec75fbe9f367e0a31ee34839e92de481':
  build: Add a new component for H.264 parsing code

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=575e8d11f1ebba9f3d9076862b099b7f94e4eb4a
---

 configure   |  7 ---
 libavcodec/Makefile | 12 +---
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index c00c591..ceaf115 100755
--- a/configure
+++ b/configure
@@ -2056,6 +2056,7 @@ CONFIG_EXTRA="
 h263dsp
 h264chroma
 h264dsp
+h264parse
 h264pred
 h264qpel
 hpeldsp
@@ -2381,7 +2382,7 @@ h263_encoder_select="aandcttables h263dsp mpegvideoenc"
 h263i_decoder_select="h263_decoder"
 h263p_decoder_select="h263_decoder"
 h263p_encoder_select="h263_encoder"
-h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel 
videodsp"
+h264_decoder_select="cabac golomb h264chroma h264dsp h264parse h264pred 
h264qpel videodsp"
 h264_decoder_suggest="error_resilience"
 hap_decoder_select="snappy texturedsp"
 hap_encoder_deps="libsnappy"
@@ -2477,7 +2478,7 @@ sonic_ls_encoder_select="golomb rangecoder"
 sp5x_decoder_select="mjpeg_decoder"
 svq1_decoder_select="hpeldsp"
 svq1_encoder_select="aandcttables hpeldsp me_cmp mpegvideoenc"
-svq3_decoder_select="golomb h264dsp h264pred hpeldsp tpeldsp videodsp"
+svq3_decoder_select="golomb h264dsp h264parse h264pred hpeldsp tpeldsp 
videodsp"
 svq3_decoder_suggest="zlib"
 tak_decoder_select="audiodsp"
 tdsc_decoder_select="zlib mjpeg_decoder"
@@ -2734,7 +2735,7 @@ vp9_cuvid_decoder_deps="cuda cuvid"
 vp9_cuvid_decoder_select="vp9_cuvid_hwaccel"
 
 # parsers
-h264_parser_select="golomb h264dsp"
+h264_parser_select="golomb h264dsp h264parse"
 hevc_parser_select="golomb"
 mpegvideo_parser_select="mpegvideo"
 mpeg4video_parser_select="h263dsp mpegvideo qpeldsp"
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 5fdc97f..4aa0787 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -73,6 +73,7 @@ OBJS-$(CONFIG_GOLOMB)  += golomb.o
 OBJS-$(CONFIG_H263DSP) += h263dsp.o
 OBJS-$(CONFIG_H264CHROMA)  += h264chroma.o
 OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o
+OBJS-$(CONFIG_H264PARSE)   += h264_parse.o h2645_parse.o h264_ps.o
 OBJS-$(CONFIG_H264PRED)+= h264pred.o
 OBJS-$(CONFIG_H264QPEL)+= h264qpel.o
 OBJS-$(CONFIG_HPELDSP) += hpeldsp.o
@@ -311,10 +312,9 @@ OBJS-$(CONFIG_H263_ENCODER)+= mpeg4videoenc.o 
mpeg4video.o  \
   h263.o ituh263enc.o flvenc.o 
h263data.o
 OBJS-$(CONFIG_H264_DECODER)+= h264dec.o h264_cabac.o h264_cavlc.o \
   h264_direct.o h264_loopfilter.o  \
-  h264_mb.o h264_picture.o h264_ps.o \
+  h264_mb.o h264_picture.o \
   h264_refs.o h264_sei.o \
-  h264_slice.o h264data.o h264_parse.o 
\
-  h2645_parse.o
+  h264_slice.o h264data.o
 OBJS-$(CONFIG_H264_CUVID_DECODER)  += cuvid.o
 OBJS-$(CONFIG_H264_MEDIACODEC_DECODER) += mediacodecdec.o
 OBJS-$(CONFIG_H264_MMAL_DECODER)   += mmaldec.o
@@ -534,8 +534,7 @@ OBJS-$(CONFIG_SUNRAST_ENCODER) += sunrastenc.o
 OBJS-$(CONFIG_SVQ1_DECODER)+= svq1dec.o svq1.o svq13.o h263data.o
 OBJS-$(CONFIG_SVQ1_ENCODER)+= svq1enc.o svq1.o  h263data.o  \
   h263.o ituh263enc.o
-OBJS-$(CONFIG_SVQ3_DECODER)+= svq3.o svq13.o mpegutils.o \
-  h264_parse.o h264data.o h264_ps.o 
h2645_parse.o
+OBJS-$(CONFIG_SVQ3_DECODER)+= svq3.o svq13.o mpegutils.o h264data.o
 OBJS-$(CONFIG_TEXT_DECODER)+= textdec.o ass.o
 OBJS-$(CONFIG_TEXT_ENCODER)+= srtenc.o ass_split.o
 OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o takdsp.o
@@ -937,8 +936,7 @@ OBJS-$(CONFIG_G729_PARSER) += g729_parser.o
 OBJS-$(CONFIG_GSM_PARSER)  += gsm_parser.o
 OBJS-$(CONFIG_H261_PARSER) += h261_parser.o
 OBJS-$(CONFIG_H263_PARSER) += h263_parser.o
-OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264_parse.o 
h2645_parse.o \
-

[FFmpeg-cvslog] Merge commit '7c55fac7dfa8bad9644dea5d03309da30be69563'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:02:33 2016 +0100| [8ef6ba69c7f2010383eac12d5a7f2e24238ac10e] | committer: 
Hendrik Leppkes

Merge commit '7c55fac7dfa8bad9644dea5d03309da30be69563'

* commit '7c55fac7dfa8bad9644dea5d03309da30be69563':
  fate: Add test for webp

Noop, we already have a variety of webp tests, including a fate-webp target,
which would collide with this test.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8ef6ba69c7f2010383eac12d5a7f2e24238ac10e
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit '3c08b7bc761b6411f55db68189721638dde2c46a'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:05:43 2016 +0100| [a81b9c60125f24ae1101be7429b15e74031453e7] | committer: 
Hendrik Leppkes

Merge commit '3c08b7bc761b6411f55db68189721638dde2c46a'

* commit '3c08b7bc761b6411f55db68189721638dde2c46a':
  ffv1: Report additional bitstream information in verbose mode

Noop, we already have bitstream information printing.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a81b9c60125f24ae1101be7429b15e74031453e7
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'fe6e5cbea7dbd5d2c67d79b5570e26debb70e95b'

2016-11-14 Thread Hendrik Leppkes
ffmpeg | branch: master | Hendrik Leppkes <h.lepp...@gmail.com> | Mon Nov 14 
10:03:30 2016 +0100| [5a45f4d2b74b93997c28a3238b8f55fa628158b5] | committer: 
Hendrik Leppkes

Merge commit 'fe6e5cbea7dbd5d2c67d79b5570e26debb70e95b'

* commit 'fe6e5cbea7dbd5d2c67d79b5570e26debb70e95b':
  ffv1: Remove version 2 and mark version 3 as non-experimental

Noop, our ffv1 decoder is far more advanced and version 3 has been stable for a 
while.

Merged-by: Hendrik Leppkes <h.lepp...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5a45f4d2b74b93997c28a3238b8f55fa628158b5
---



___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


  1   2   3   4   5   6   7   8   9   >