[FFmpeg-cvslog] Merge commit 'd154bdd3d053128c908a994bb26e14bbc17f0e53'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Wed Oct  4 01:05:56 
2017 -0300| [84b3f53acadced2dd31f6be95b491b25183b8c22] | committer: James Almer

Merge commit 'd154bdd3d053128c908a994bb26e14bbc17f0e53'

* commit 'd154bdd3d053128c908a994bb26e14bbc17f0e53':
  configure: Simplify dlopen check

Merged-by: James Almer 

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

 configure | 44 ++--
 1 file changed, 14 insertions(+), 30 deletions(-)

diff --git a/configure b/configure
index ae0eddac6c..0d86c4cb2a 100755
--- a/configure
+++ b/configure
@@ -2004,7 +2004,6 @@ SYSTEM_FUNCS="
 CommandLineToArgvW
 CoTaskMemFree
 CryptGenRandom
-dlopen
 fcntl
 flt_lim
 fork
@@ -2645,7 +2644,7 @@ zmbv_encoder_select="zlib"
 
 # hardware accelerators
 crystalhd_deps="libcrystalhd_libcrystalhd_if_h"
-cuda_deps_any="dlopen LoadLibrary"
+cuda_deps_any="libdl LoadLibrary"
 cuvid_deps="cuda"
 d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder ID3D11VideoContext"
 dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode ole32"
@@ -2778,8 +2777,7 @@ wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
 wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
 
 # hardware-accelerated codecs
-omx_deps="dlopen pthreads"
-omx_extralibs='$ldl'
+omx_deps="libdl pthreads"
 omx_rpi_select="omx"
 qsvdec_select="qsv"
 qsvenc_select="qsv"
@@ -2792,7 +2790,7 @@ scale_cuda_filter_deps="cuda_sdk"
 thumbnail_cuda_filter_deps="cuda_sdk"
 
 nvenc_deps="cuda"
-nvenc_deps_any="dlopen LoadLibrary"
+nvenc_deps_any="libdl LoadLibrary"
 nvenc_encoder_deps="nvenc"
 
 h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
@@ -2908,7 +2906,7 @@ ac3_at_decoder_select="ac3_parser"
 adpcm_ima_qt_at_decoder_deps="audiotoolbox"
 alac_at_decoder_deps="audiotoolbox"
 amr_nb_at_decoder_deps="audiotoolbox"
-avisynth_deps_any="dlopen LoadLibrary"
+avisynth_deps_any="libdl LoadLibrary"
 avisynth_demuxer_deps="avisynth"
 avisynth_demuxer_select="riffdec"
 eac3_at_decoder_deps="audiotoolbox"
@@ -3083,13 +3081,13 @@ avfoundation_indev_deps="avfoundation pthreads"
 avfoundation_indev_extralibs="-framework Foundation -framework CoreVideo 
-framework CoreMedia"
 bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h 
dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h"
 caca_outdev_deps="libcaca"
-decklink_indev_deps="decklink threads"
+decklink_indev_deps="decklink threads libdl"
 decklink_indev_extralibs="-lstdc++"
-decklink_outdev_deps="decklink threads"
+decklink_outdev_deps="decklink threads libdl"
 decklink_outdev_extralibs="-lstdc++"
-libndi_newtek_indev_deps="libndi_newtek"
+libndi_newtek_indev_deps="libndi_newtek libdl"
 libndi_newtek_indev_extralibs="-lndi"
-libndi_newtek_outdev_deps="libndi_newtek"
+libndi_newtek_outdev_deps="libndi_newtek libdl"
 libndi_newtek_outdev_extralibs="-lndi"
 dshow_indev_deps="IBaseFilter"
 dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid -loleaut32 -lshlwapi"
@@ -3209,15 +3207,15 @@ firequalizer_filter_deps="avcodec"
 firequalizer_filter_select="rdft"
 flite_filter_deps="libflite"
 framerate_filter_select="pixelutils"
-frei0r_filter_deps="frei0r dlopen"
-frei0r_src_filter_deps="frei0r dlopen"
+frei0r_filter_deps="frei0r libdl"
+frei0r_src_filter_deps="frei0r libdl"
 fspp_filter_deps="gpl"
 geq_filter_deps="gpl"
 histeq_filter_deps="gpl"
 hqdn3d_filter_deps="gpl"
 interlace_filter_deps="gpl"
 kerndeint_filter_deps="gpl"
-ladspa_filter_deps="ladspa dlopen"
+ladspa_filter_deps="ladspa libdl"
 mcdeint_filter_deps="avcodec gpl"
 movie_filter_deps="avcodec avformat"
 mpdecimate_filter_deps="gpl"
@@ -5640,23 +5638,6 @@ check_code cc arm_neon.h "int16x8_t test = 
vdupq_n_s16(0)" && enable intrinsics_
 check_ldflags -Wl,--as-needed
 check_ldflags -Wl,-z,noexecstack
 
-if check_func dlopen && check_func dlsym; then
-ldl=
-elif check_func dlopen -ldl && check_func dlsym -ldl; then
-ldl=-ldl
-fi
-
-avisynth_demuxer_extralibs='$ldl'
-cuda_extralibs='$ldl'
-decklink_outdev_extralibs="$decklink_outdev_extralibs $ldl"
-decklink_indev_extralibs="$decklink_indev_extralibs $ldl"
-libndi_newtek_outdev_extralibs="$libndi_newtek_outdev_extralibs $ldl"
-libndi_newtek_indev_extralibs="$libndi_newtek_indev_extralibs $ldl"
-frei0r_filter_extralibs='$ldl'
-frei0r_src_filter_extralibs='$ldl'
-ladspa_filter_extralibs='$ldl'
-nvenc_extralibs='$ldl'
-
 if ! disabled network; then
 check_func getaddrinfo $network_extralibs
 check_func inet_aton $network_extralibs
@@ -5889,6 +5870,9 @@ enabled  zlib && check_lib zlib   zlib.h  zlibVersion 
   -lz
 enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion-lbz2
 enabled  lzma && check_lib lzma   lzma.h lzma_version_number -llzma
 
+# On some systems dynamic loading requires no extra linker flags
+check_lib libdl dlfcn.h dlopen || { check_func dlsym -ldl && check_lib libdl 
dlfcn.h dlopen -ldl; }
+
 check_lib libm math.h sin -lm && LIBM="-lm"
 
 atan2f_args=2


==

[FFmpeg-cvslog] configure: Simplify dlopen check

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Tue Jan 24 
13:57:52 2017 +0100| [d154bdd3d053128c908a994bb26e14bbc17f0e53] | committer: 
Diego Biurrun

configure: Simplify dlopen check

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

 configure | 26 +-
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/configure b/configure
index eb7b6c75f8..85ce5f581f 100755
--- a/configure
+++ b/configure
@@ -1612,7 +1612,6 @@ SYSTEM_FUNCS="
 CommandLineToArgvW
 CoTaskMemFree
 CryptGenRandom
-dlopen
 fcntl
 flt_lim
 fork
@@ -,10 +2221,8 @@ wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
 wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
 
 # hardware-accelerated codecs
-nvenc_deps_any="dlopen LoadLibrary"
-nvenc_extralibs='$ldl'
-omx_deps="dlopen pthreads"
-omx_extralibs='$ldl'
+nvenc_deps_any="libdl LoadLibrary"
+omx_deps="libdl pthreads"
 omx_rpi_select="omx"
 qsvdec_select="qsv"
 qsvenc_select="qsv"
@@ -2284,7 +2281,7 @@ mjpeg2jpeg_bsf_select="jpegtables"
 
 # external libraries
 avisynth_deps="LoadLibrary"
-avxsynth_deps="dlopen"
+avxsynth_deps="libdl"
 avisynth_demuxer_deps_any="avisynth avxsynth"
 avisynth_demuxer_select="riffdec"
 libdcadec_decoder_deps="libdcadec"
@@ -2477,10 +2474,8 @@ deinterlace_vaapi_filter_deps="vaapi"
 delogo_filter_deps="gpl"
 drawtext_filter_deps="libfreetype"
 drawtext_filter_suggest="libfontconfig"
-frei0r_filter_deps="frei0r dlopen"
-frei0r_filter_extralibs='$ldl'
-frei0r_src_filter_deps="frei0r dlopen"
-frei0r_src_filter_extralibs='$ldl'
+frei0r_filter_deps="frei0r libdl"
+frei0r_src_filter_deps="frei0r libdl"
 hdcd_filter_deps="libhdcd"
 hqdn3d_filter_deps="gpl"
 interlace_filter_deps="gpl"
@@ -4469,12 +4464,6 @@ check_code cc arm_neon.h "int16x8_t test = 
vdupq_n_s16(0)" && enable intrinsics_
 
 check_ldflags -Wl,--as-needed
 
-if check_func dlopen; then
-ldl=
-elif check_func dlopen -ldl; then
-ldl=-ldl
-fi
-
 if ! disabled network; then
 check_func getaddrinfo $network_extralibs
 check_func inet_aton $network_extralibs
@@ -4646,6 +4635,9 @@ enabled pthreads &&
 disabled  zlib || check_lib  zlib  zlib.h  zlibVersion -lz
 disabled bzlib || check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2
 
+# On some systems dynamic loading requires no extra linker flags
+check_lib libdl dlfcn.h dlopen || check_lib libdl dlfcn.h dlopen -ldl
+
 check_lib libm math.h sin -lm && LIBM="-lm"
 
 atan2f_args=2
@@ -4658,7 +4650,7 @@ done
 
 # these are off by default, so fail if requested and not available
 enabled avisynth  && require_header avisynth/avisynth_c.h
-enabled avxsynth  && require avxsynth "avxsynth/avxsynth_c.h dlfcn.h" 
dlopen -ldl
+enabled avxsynth  && require_header avxsynth/avxsynth_c.h
 enabled cuda  && require cuda cuda.h cuInit -lcuda
 enabled frei0r&& require_header frei0r.h
 enabled gnutls&& require_pkg_config gnutls gnutls gnutls/gnutls.h 
gnutls_global_init

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


[FFmpeg-cvslog] Merge commit 'd7b2bb5391bf55e8f9421bff7feb4c1fddfac4bf'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Wed Oct  4 01:03:29 
2017 -0300| [ade77f9c13951ccf15709a91a377b9d970607bf5] | committer: James Almer

Merge commit 'd7b2bb5391bf55e8f9421bff7feb4c1fddfac4bf'

* commit 'd7b2bb5391bf55e8f9421bff7feb4c1fddfac4bf':
  h264_sei: Check actual presence of picture timing SEI message

This commit is a noop, see 6a37abc59af4d87d4c55f7d812ac62d4d6a7464b

Merged-by: James Almer 

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



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


[FFmpeg-cvslog] Merge commit '21cca00dfeaec08ca93cf94ed33f4311cf1d8c84'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 23:49:37 
2017 -0300| [63b9fd75db40e576f9a4d6747b3ba54d1877c90d] | committer: James Almer

Merge commit '21cca00dfeaec08ca93cf94ed33f4311cf1d8c84'

* commit '21cca00dfeaec08ca93cf94ed33f4311cf1d8c84':
  build: Explicitly disable external libraries when not explicitly enabled

This commit is a noop.

Merged-by: James Almer 

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



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


[FFmpeg-cvslog] build: Explicitly disable external libraries when not explicitly enabled

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Fri Feb 24 
14:00:24 2017 +0100| [21cca00dfeaec08ca93cf94ed33f4311cf1d8c84] | committer: 
Diego Biurrun

build: Explicitly disable external libraries when not explicitly enabled

Leaving those variables in an undefined state allows them getting implicitly
enabled when they are declared as weak dependencies of other components.
In that case, the library check is not run and required linker flags are not
added, resulting in a failing build.

Fixes linking when enabling libfreetype without libfontconfig.

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

 configure | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 24e9fc337f..eb7b6c75f8 100755
--- a/configure
+++ b/configure
@@ -1296,7 +1296,6 @@ EXTERNAL_LIBRARY_LIST="
 $EXTERNAL_LIBRARY_VERSION3_LIST
 avisynth
 avxsynth
-bzlib
 frei0r
 gnutls
 libbs2b
@@ -1327,6 +1326,10 @@ EXTERNAL_LIBRARY_LIST="
 libxcb
 libxcb_shm
 libxcb_xfixes
+"
+
+SYSTEM_LIBRARY_LIST="
+bzlib
 zlib
 "
 
@@ -1388,6 +1391,7 @@ CONFIG_LIST="
 $LIBRARY_LIST
 $PROGRAM_LIST
 $SUBSYSTEM_LIST
+$SYSTEM_LIBRARY_LIST
 neon_clobber_test
 pic
 pod2man
@@ -2574,6 +2578,9 @@ enable valgrind_backtrace
 # By default, enable only those hwaccels that have no external dependencies.
 enable d3d11va dxva2 vda vdpau
 
+# Avoid external, non-system, libraries getting enabled by dependency 
resolution
+disable $EXTERNAL_LIBRARY_LIST
+
 # build settings
 SHFLAGS='-shared -Wl,-soname,$$(@F)'
 LIBPREF="lib"

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


[FFmpeg-cvslog] h264_sei: Check actual presence of picture timing SEI message

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Wed 
Feb 15 11:34:52 2017 -0500| [d7b2bb5391bf55e8f9421bff7feb4c1fddfac4bf] | 
committer: Vittorio Giovara

h264_sei: Check actual presence of picture timing SEI message

Signed-off-by: Michael Niedermayer 
Signed-off-by: Vittorio Giovara 

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

 libavcodec/h264_parser.c | 4 ++--
 libavcodec/h264_sei.c| 3 +++
 libavcodec/h264_sei.h| 1 +
 libavcodec/h264_slice.c  | 5 +++--
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index 6de37c0b55..22153bd4e0 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -402,7 +402,7 @@ static inline int parse_nal_units(AVCodecParserContext *s,
 }
 }
 
-if (sps->pic_struct_present_flag) {
+if (sps->pic_struct_present_flag && p->sei.picture_timing.present) 
{
 switch (p->sei.picture_timing.pic_struct) {
 case SEI_PIC_STRUCT_TOP_FIELD:
 case SEI_PIC_STRUCT_BOTTOM_FIELD:
@@ -433,7 +433,7 @@ static inline int parse_nal_units(AVCodecParserContext *s,
 
 if (p->picture_structure == PICT_FRAME) {
 s->picture_structure = AV_PICTURE_STRUCTURE_FRAME;
-if (sps->pic_struct_present_flag) {
+if (sps->pic_struct_present_flag && 
p->sei.picture_timing.present) {
 switch (p->sei.picture_timing.pic_struct) {
 case SEI_PIC_STRUCT_TOP_BOTTOM:
 case SEI_PIC_STRUCT_TOP_BOTTOM_TOP:
diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
index 4bf001ae07..17f89cec61 100644
--- a/libavcodec/h264_sei.c
+++ b/libavcodec/h264_sei.c
@@ -44,6 +44,7 @@ void ff_h264_sei_uninit(H264SEIContext *h)
 h->picture_timing.dpb_output_delay  = 0;
 h->picture_timing.cpb_removal_delay = -1;
 
+h->picture_timing.present  = 0;
 h->buffering_period.present= 0;
 h->frame_packing.present   = 0;
 h->display_orientation.present = 0;
@@ -109,6 +110,8 @@ static int decode_picture_timing(H264SEIPictureTiming *h, 
GetBitContext *gb,
 av_log(logctx, AV_LOG_DEBUG, "ct_type:%X pic_struct:%d\n",
h->ct_type, h->pic_struct);
 }
+
+h->present = 1;
 return 0;
 }
 
diff --git a/libavcodec/h264_sei.h b/libavcodec/h264_sei.h
index 58f5ecc5a9..8815aa3899 100644
--- a/libavcodec/h264_sei.h
+++ b/libavcodec/h264_sei.h
@@ -50,6 +50,7 @@ typedef enum {
 } SEI_PicStructType;
 
 typedef struct H264SEIPictureTiming {
+int present;
 SEI_PicStructType pic_struct;
 
 /**
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index f1f5fc05f9..427cbe618c 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1004,7 +1004,7 @@ static int h264_export_frame_props(H264Context *h)
 /* Prioritize picture timing SEI information over used
  * decoding process if it exists. */
 
-if (sps->pic_struct_present_flag) {
+if (sps->pic_struct_present_flag && h->sei.picture_timing.present) {
 H264SEIPictureTiming *pt = &h->sei.picture_timing;
 switch (pt->pic_struct) {
 case SEI_PIC_STRUCT_FRAME:
@@ -1049,7 +1049,8 @@ static int h264_export_frame_props(H264Context *h)
 /* Derive top_field_first from field pocs. */
 cur->f->top_field_first = cur->field_poc[0] < cur->field_poc[1];
 } else {
-if (cur->f->interlaced_frame || sps->pic_struct_present_flag) {
+if (cur->f->interlaced_frame ||
+(sps->pic_struct_present_flag && h->sei.picture_timing.present)) {
 /* Use picture timing SEI information. Even if it is a
  * information of a past frame, better than nothing. */
 if (h->sei.picture_timing.pic_struct == SEI_PIC_STRUCT_TOP_BOTTOM 
||

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


[FFmpeg-cvslog] fate: Rename WMV8_DRM decoder tests to WMV3_DRM

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Thu Oct 18 
12:34:23 2012 +0200| [e1a6d63c7eeff2f0ec8173546357bfaa9deecea4] | committer: 
Diego Biurrun

fate: Rename WMV8_DRM decoder tests to WMV3_DRM

The codec used in those files is WMV3/WMV9, not WMV2/WMV8.

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

 tests/fate/microsoft.mak  | 12 ++--
 tests/ref/fate/{wmv8-drm => wmv3-drm-dec} |  0
 tests/ref/fate/{wmv8-drm-nodec => wmv3-drm-nodec} |  0
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak
index 5b32c7fd74..5c0133d8fd 100644
--- a/tests/fate/microsoft.mak
+++ b/tests/fate/microsoft.mak
@@ -34,15 +34,15 @@ fate-msvideo1: $(FATE_MSVIDEO1)
 FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, MTS2) += fate-mts2
 fate-mts2: CMD = framecrc -i $(TARGET_SAMPLES)/mts2/ScreenCapture.xesc
 
-FATE_WMV8_DRM += fate-wmv8-drm
+FATE_WMV3_DRM += fate-wmv3-drm-dec
 # discard last packet to avoid fails due to overread of VC-1 decoder
-fate-wmv8-drm: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-an -frames:v 129
+fate-wmv3-drm-dec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv3/wmv_drm.wmv 
-an -frames:v 129
 
-FATE_WMV8_DRM += fate-wmv8-drm-nodec
-fate-wmv8-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-c copy
+FATE_WMV3_DRM += fate-wmv3-drm-nodec
+fate-wmv3-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv3/wmv_drm.wmv 
-c copy
 
-FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV8_DRM)
-fate-wmv8_drm: $(FATE_WMV8_DRM)
+FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV3_DRM)
+fate-wmv3-drm: $(FATE_WMV3_DRM)
 
 FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV2) += fate-wmv8-intrax8
 fate-wmv8-intrax8: CMD = framecrc -flags +bitexact -i 
$(TARGET_SAMPLES)/wmv8/wmv8_x8intra.wmv -an
diff --git a/tests/ref/fate/wmv8-drm b/tests/ref/fate/wmv3-drm-dec
similarity index 100%
rename from tests/ref/fate/wmv8-drm
rename to tests/ref/fate/wmv3-drm-dec
diff --git a/tests/ref/fate/wmv8-drm-nodec b/tests/ref/fate/wmv3-drm-nodec
similarity index 100%
rename from tests/ref/fate/wmv8-drm-nodec
rename to tests/ref/fate/wmv3-drm-nodec

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


[FFmpeg-cvslog] Merge commit 'e1a6d63c7eeff2f0ec8173546357bfaa9deecea4'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 23:36:25 
2017 -0300| [9e009ee312ad25e91521d4c2043df879be56c989] | committer: James Almer

Merge commit 'e1a6d63c7eeff2f0ec8173546357bfaa9deecea4'

* commit 'e1a6d63c7eeff2f0ec8173546357bfaa9deecea4':
  fate: Rename WMV8_DRM decoder tests to WMV3_DRM

Merged-by: James Almer 

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

 tests/fate/microsoft.mak  | 12 ++--
 tests/ref/fate/{wmv8-drm => wmv3-drm-dec} |  0
 tests/ref/fate/{wmv8-drm-nodec => wmv3-drm-nodec} |  0
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak
index e24d2c5b44..c450c0d8ea 100644
--- a/tests/fate/microsoft.mak
+++ b/tests/fate/microsoft.mak
@@ -40,15 +40,15 @@ fate-msvideo1: $(FATE_MSVIDEO1)
 FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, MTS2) += fate-mts2
 fate-mts2: CMD = framecrc -i $(TARGET_SAMPLES)/mts2/ScreenCapture.xesc
 
-FATE_WMV8_DRM += fate-wmv8-drm
+FATE_WMV3_DRM += fate-wmv3-drm-dec
 # discard last packet to avoid fails due to overread of VC-1 decoder
-fate-wmv8-drm: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-an -frames:v 129
+fate-wmv3-drm-dec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-an -frames:v 129
 
-FATE_WMV8_DRM += fate-wmv8-drm-nodec
-fate-wmv8-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-c:a copy -c:v copy
+FATE_WMV3_DRM += fate-wmv3-drm-nodec
+fate-wmv3-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-c:a copy -c:v copy
 
-FATE_MICROSOFT-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV8_DRM)
-fate-wmv8_drm: $(FATE_WMV8_DRM)
+FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV3_DRM)
+fate-wmv3-drm: $(FATE_WMV3_DRM)
 
 FATE_MICROSOFT-$(call DEMDEC, ASF, WMV2) += fate-wmv8-x8intra
 fate-wmv8-x8intra: CMD = framecrc -flags +bitexact -i 
$(TARGET_SAMPLES)/wmv8/wmv8_x8intra.wmv -an
diff --git a/tests/ref/fate/wmv8-drm b/tests/ref/fate/wmv3-drm-dec
similarity index 100%
rename from tests/ref/fate/wmv8-drm
rename to tests/ref/fate/wmv3-drm-dec
diff --git a/tests/ref/fate/wmv8-drm-nodec b/tests/ref/fate/wmv3-drm-nodec
similarity index 100%
rename from tests/ref/fate/wmv8-drm-nodec
rename to tests/ref/fate/wmv3-drm-nodec


==

diff --cc tests/fate/microsoft.mak
index e24d2c5b44,5c0133d8fd..c450c0d8ea
--- a/tests/fate/microsoft.mak
+++ b/tests/fate/microsoft.mak
@@@ -40,18 -34,18 +40,18 @@@ fate-msvideo1: $(FATE_MSVIDEO1
  FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, MTS2) += fate-mts2
  fate-mts2: CMD = framecrc -i $(TARGET_SAMPLES)/mts2/ScreenCapture.xesc
  
- FATE_WMV8_DRM += fate-wmv8-drm
+ FATE_WMV3_DRM += fate-wmv3-drm-dec
  # discard last packet to avoid fails due to overread of VC-1 decoder
- fate-wmv8-drm: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-an -frames:v 129
 -fate-wmv3-drm-dec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv3/wmv_drm.wmv 
-an -frames:v 129
++fate-wmv3-drm-dec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-an -frames:v 129
  
- FATE_WMV8_DRM += fate-wmv8-drm-nodec
- fate-wmv8-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-c:a copy -c:v copy
+ FATE_WMV3_DRM += fate-wmv3-drm-nodec
 -fate-wmv3-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv3/wmv_drm.wmv 
-c copy
++fate-wmv3-drm-nodec: CMD = framecrc -cryptokey 
137381538c84c068111902a59c5cf6c340247c39 -i $(TARGET_SAMPLES)/wmv8/wmv_drm.wmv 
-c:a copy -c:v copy
  
- FATE_MICROSOFT-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV8_DRM)
- fate-wmv8_drm: $(FATE_WMV8_DRM)
+ FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV3) += $(FATE_WMV3_DRM)
+ fate-wmv3-drm: $(FATE_WMV3_DRM)
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, WMV2) += fate-wmv8-intrax8
 -fate-wmv8-intrax8: CMD = framecrc -flags +bitexact -i 
$(TARGET_SAMPLES)/wmv8/wmv8_x8intra.wmv -an
 +FATE_MICROSOFT-$(call DEMDEC, ASF, WMV2) += fate-wmv8-x8intra
 +fate-wmv8-x8intra: CMD = framecrc -flags +bitexact -i 
$(TARGET_SAMPLES)/wmv8/wmv8_x8intra.wmv -an
  
  FATE_VC1-$(CONFIG_VC1_DEMUXER) += fate-vc1_sa00040
  fate-vc1_sa00040: CMD = framecrc -i $(TARGET_SAMPLES)/vc1/SA00040.vc1

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


[FFmpeg-cvslog] rtsp: Lazily set up the pollfd array once

2017-10-03 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Mon Feb 20 
02:16:28 2017 +0100| [79331df362fb05a0d04ca9489c87e5b80077a3f4] | committer: 
Luca Barbato

rtsp: Lazily set up the pollfd array once

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

 libavformat/rtsp.c | 53 ++---
 libavformat/rtsp.h |  1 +
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 4ff12c63dd..141477bbbf 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1913,7 +1913,6 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream 
**prtsp_st,
 RTSPState *rt = s->priv_data;
 RTSPStream *rtsp_st;
 int n, i, ret, tcp_fd, timeout_cnt = 0;
-int max_p = 0;
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
@@ -1921,33 +1920,33 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 p = rt->p = av_malloc_array(2 * (rt->nb_rtsp_streams + 1), 
sizeof(struct pollfd));
 if (!p)
 return AVERROR(ENOMEM);
-}
 
-if (rt->rtsp_hd) {
-tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
-p[max_p].fd = tcp_fd;
-p[max_p++].events = POLLIN;
-} else {
-tcp_fd = -1;
-}
-for (i = 0; i < rt->nb_rtsp_streams; i++) {
-rtsp_st = rt->rtsp_streams[i];
-if (rtsp_st->rtp_handle) {
-if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
-  &fds, &fdsnum)) {
-av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
-return ret;
-}
-if (fdsnum != 2) {
-av_log(s, AV_LOG_ERROR,
-   "Number of fds %d not supported\n", fdsnum);
-return AVERROR_INVALIDDATA;
-}
-for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
-p[max_p].fd   = fds[fdsidx];
-p[max_p++].events = POLLIN;
+if (rt->rtsp_hd) {
+tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
+p[rt->max_p].fd = tcp_fd;
+p[rt->max_p++].events = POLLIN;
+} else {
+tcp_fd = -1;
+}
+for (i = 0; i < rt->nb_rtsp_streams; i++) {
+rtsp_st = rt->rtsp_streams[i];
+if (rtsp_st->rtp_handle) {
+if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
+  &fds, &fdsnum)) {
+av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
+return ret;
+}
+if (fdsnum != 2) {
+av_log(s, AV_LOG_ERROR,
+   "Number of fds %d not supported\n", fdsnum);
+return AVERROR_INVALIDDATA;
+}
+for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
+p[rt->max_p].fd   = fds[fdsidx];
+p[rt->max_p++].events = POLLIN;
+}
+av_free(fds);
 }
-av_free(fds);
 }
 }
 
@@ -1956,7 +1955,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream 
**prtsp_st,
 return AVERROR_EXIT;
 if (wait_end && wait_end - av_gettime_relative() < 0)
 return AVERROR(EAGAIN);
-n = poll(p, max_p, POLL_TIMEOUT_MS);
+n = poll(p, rt->max_p, POLL_TIMEOUT_MS);
 if (n > 0) {
 int j = 1 - (tcp_fd == -1);
 timeout_cnt = 0;
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index ff5b53207e..9dfbc5367f 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -352,6 +352,7 @@ typedef struct RTSPState {
  * Polling array for udp
  */
 struct pollfd *p;
+int max_p;
 
 /**
  * Whether the server supports the GET_PARAMETER method.

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


[FFmpeg-cvslog] Merge commit '79331df362fb05a0d04ca9489c87e5b80077a3f4'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 23:08:06 
2017 -0300| [1e7b6e47d2752a91bcd6d0c91ed2aaf118eaeee9] | committer: James Almer

Merge commit '79331df362fb05a0d04ca9489c87e5b80077a3f4'

* commit '79331df362fb05a0d04ca9489c87e5b80077a3f4':
  rtsp: Lazily set up the pollfd array once

Merged-by: James Almer 

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

 libavformat/rtsp.c | 53 ++---
 libavformat/rtsp.h |  1 +
 2 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 2d1df80ed0..375d0d9e14 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1924,7 +1924,6 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream 
**prtsp_st,
 RTSPState *rt = s->priv_data;
 RTSPStream *rtsp_st;
 int n, i, ret, tcp_fd, timeout_cnt = 0;
-int max_p = 0;
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
@@ -1932,33 +1931,33 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 p = rt->p = av_malloc_array(2 * (rt->nb_rtsp_streams + 1), 
sizeof(struct pollfd));
 if (!p)
 return AVERROR(ENOMEM);
-}
 
-if (rt->rtsp_hd) {
-tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
-p[max_p].fd = tcp_fd;
-p[max_p++].events = POLLIN;
-} else {
-tcp_fd = -1;
-}
-for (i = 0; i < rt->nb_rtsp_streams; i++) {
-rtsp_st = rt->rtsp_streams[i];
-if (rtsp_st->rtp_handle) {
-if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
-  &fds, &fdsnum)) {
-av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
-return ret;
-}
-if (fdsnum != 2) {
-av_log(s, AV_LOG_ERROR,
-   "Number of fds %d not supported\n", fdsnum);
-return AVERROR_INVALIDDATA;
-}
-for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
-p[max_p].fd   = fds[fdsidx];
-p[max_p++].events = POLLIN;
+if (rt->rtsp_hd) {
+tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
+p[rt->max_p].fd = tcp_fd;
+p[rt->max_p++].events = POLLIN;
+} else {
+tcp_fd = -1;
+}
+for (i = 0; i < rt->nb_rtsp_streams; i++) {
+rtsp_st = rt->rtsp_streams[i];
+if (rtsp_st->rtp_handle) {
+if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
+  &fds, &fdsnum)) {
+av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
+return ret;
+}
+if (fdsnum != 2) {
+av_log(s, AV_LOG_ERROR,
+   "Number of fds %d not supported\n", fdsnum);
+return AVERROR_INVALIDDATA;
+}
+for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
+p[rt->max_p].fd   = fds[fdsidx];
+p[rt->max_p++].events = POLLIN;
+}
+av_freep(&fds);
 }
-av_freep(&fds);
 }
 }
 
@@ -1967,7 +1966,7 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream 
**prtsp_st,
 return AVERROR_EXIT;
 if (wait_end && wait_end - av_gettime_relative() < 0)
 return AVERROR(EAGAIN);
-n = poll(p, max_p, POLL_TIMEOUT_MS);
+n = poll(p, rt->max_p, POLL_TIMEOUT_MS);
 if (n > 0) {
 int j = 1 - (tcp_fd == -1);
 timeout_cnt = 0;
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index 852fd6704e..36fdae492b 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -352,6 +352,7 @@ typedef struct RTSPState {
  * Polling array for udp
  */
 struct pollfd *p;
+int max_p;
 
 /**
  * Whether the server supports the GET_PARAMETER method.


==

diff --cc libavformat/rtsp.c
index 2d1df80ed0,141477bbbf..375d0d9e14
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@@ -1932,33 -1920,33 +1931,33 @@@ static int udp_read_packet(AVFormatCont
  p = rt->p = av_malloc_array(2 * (rt->nb_rtsp_streams + 1), 
sizeof(struct pollfd));
  if (!p)
  return AVERROR(ENOMEM);
- }
  
- if (rt->rtsp_hd) {
- tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
- p[max_p].fd = tcp_fd;
- p[max_p++].events = POLLIN;
- } else {
- tcp_fd = -1;
- }
- for (i = 0; i < rt->nb_rtsp_streams; i++) {
- rtsp_st = rt->rtsp_streams[i];
- if (rtsp_st->rtp_handle) {
- if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
-   &fds, &fdsnum)) 

[FFmpeg-cvslog] Merge commit 'd8f36a6aa33e9f904fa47caa0329ddaac391cd7d'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 23:03:10 
2017 -0300| [85fb45586804c2d69c845d145adfc22e35520257] | committer: James Almer

Merge commit 'd8f36a6aa33e9f904fa47caa0329ddaac391cd7d'

* commit 'd8f36a6aa33e9f904fa47caa0329ddaac391cd7d':
  nvenc: Fix the preset mapping list

This commit is a noop.

Merged-by: James Almer 

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



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


[FFmpeg-cvslog] nvenc: Fix the preset mapping list

2017-10-03 Thread Ben Chang
ffmpeg | branch: master | Ben Chang  | Fri Feb 24 14:39:21 
2017 -0800| [d8f36a6aa33e9f904fa47caa0329ddaac391cd7d] | committer: Luca Barbato

nvenc: Fix the preset mapping list

The map is a sparse array and does not need a empty element to terminate
it.

The empty element is stored after the last one inserted in the list,
overwriting whichever element was next with zeros.

Bug-Id: 1029

Signed-off-by: Luca Barbato 

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

 libavcodec/nvenc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index ffa8a0a2d8..fcd496b93f 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -495,8 +495,7 @@ static int nvenc_map_preset(NVENCContext *ctx)
 PRESET(LOSSLESS_HP, NVENC_LOSSLESS),
 PRESET_ALIAS(SLOW, HQ,  NVENC_TWO_PASSES),
 PRESET_ALIAS(MEDIUM, HQ,NVENC_ONE_PASS),
-PRESET_ALIAS(FAST, HP,  NVENC_ONE_PASS),
-{ { 0 } }
+PRESET_ALIAS(FAST, HP,  NVENC_ONE_PASS)
 };
 
 GUIDTuple *t = &presets[ctx->preset];

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


[FFmpeg-cvslog] fate: Make null comparison method more useful

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Mon Oct 15 
15:38:29 2012 +0200| [698ac8f9cabd053f2c19346a77b92f8eae4218fc] | committer: 
Diego Biurrun

fate: Make null comparison method more useful

This allows dropping /dev/null as reference value when no output is generated.

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

 tests/fate-run.sh |  2 +-
 tests/fate/libavcodec.mak |  4 +---
 tests/fate/libavutil.mak  | 13 ++---
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 43fcee02ab..2403a6 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -203,7 +203,7 @@ if [ $err -gt 128 ]; then
 test "${sig}" = "${sig%[!A-Za-z]*}" || unset sig
 fi
 
-if test -e "$ref" || test $cmp = "oneline" ; then
+if test -e "$ref" || test $cmp = "oneline" || test $cmp = "null" ; then
 case $cmp in
 diff)   diff -u -b "$ref" "$outfile">$cmpfile ;;
 oneoff) oneoff "$ref" "$outfile">$cmpfile ;;
diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak
index d656acefb7..0bbe57223f 100644
--- a/tests/fate/libavcodec.mak
+++ b/tests/fate/libavcodec.mak
@@ -1,13 +1,12 @@
 FATE_LIBAVCODEC-$(CONFIG_GOLOMB) += fate-golomb
 fate-golomb: libavcodec/tests/golomb$(EXESUF)
 fate-golomb: CMD = run libavcodec/tests/golomb
-fate-golomb: REF = /dev/null
+fate-golomb: CMP = null
 
 FATE_LIBAVCODEC-$(CONFIG_IDCTDSP) += fate-idct8x8
 fate-idct8x8: libavcodec/tests/dct$(EXESUF)
 fate-idct8x8: CMD = run libavcodec/tests/dct -i
 fate-idct8x8: CMP = null
-fate-idct8x8: REF = /dev/null
 
 FATE_LIBAVCODEC-$(CONFIG_IIRFILTER) += fate-iirfilter
 fate-iirfilter: libavcodec/tests/iirfilter$(EXESUF)
@@ -17,7 +16,6 @@ FATE_LIBAVCODEC-$(CONFIG_RANGECODER) += fate-rangecoder
 fate-rangecoder: libavcodec/tests/rangecoder$(EXESUF)
 fate-rangecoder: CMD = run libavcodec/tests/rangecoder
 fate-rangecoder: CMP = null
-fate-rangecoder: REF = /dev/null
 
 FATE-$(CONFIG_AVCODEC) += $(FATE_LIBAVCODEC-yes)
 fate-libavcodec: $(FATE_LIBAVCODEC-yes)
diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak
index 8b17411370..e0a669310b 100644
--- a/tests/fate/libavutil.mak
+++ b/tests/fate/libavutil.mak
@@ -1,12 +1,12 @@
 FATE_LIBAVUTIL += fate-adler32
 fate-adler32: libavutil/tests/adler32$(EXESUF)
 fate-adler32: CMD = run libavutil/tests/adler32
-fate-adler32: REF = /dev/null
+fate-adler32: CMP = null
 
 FATE_LIBAVUTIL += fate-aes
 fate-aes: libavutil/tests/aes$(EXESUF)
 fate-aes: CMD = run libavutil/tests/aes
-fate-aes: REF = /dev/null
+fate-aes: CMP = null
 
 FATE_LIBAVUTIL += fate-avstring
 fate-avstring: libavutil/tests/avstring$(EXESUF)
@@ -23,12 +23,12 @@ fate-blowfish: CMD = run libavutil/tests/blowfish
 FATE_LIBAVUTIL += fate-cpu
 fate-cpu: libavutil/tests/cpu$(EXESUF)
 fate-cpu: CMD = run libavutil/tests/cpu $(CPUFLAGS:%=-c%) $(THREADS:%=-t%)
-fate-cpu: REF = /dev/null
+fate-cpu: CMP = null
 
 FATE_LIBAVUTIL-$(HAVE_THREADS) += fate-cpu_init
 fate-cpu_init: libavutil/tests/cpu_init$(EXESUF)
 fate-cpu_init: CMD = run libavutil/tests/cpu_init
-fate-cpu_init: REF = /dev/null
+fate-cpu_init: CMP = null
 
 FATE_LIBAVUTIL += fate-crc
 fate-crc: libavutil/tests/crc$(EXESUF)
@@ -37,7 +37,7 @@ fate-crc: CMD = run libavutil/tests/crc
 FATE_LIBAVUTIL += fate-des
 fate-des: libavutil/tests/des$(EXESUF)
 fate-des: CMD = run libavutil/tests/des
-fate-des: REF = /dev/null
+fate-des: CMP = null
 
 FATE_LIBAVUTIL += fate-eval
 fate-eval: libavutil/tests/eval$(EXESUF)
@@ -51,7 +51,6 @@ FATE_LIBAVUTIL += fate-float-dsp
 fate-float-dsp: libavutil/tests/float_dsp$(EXESUF)
 fate-float-dsp: CMD = run libavutil/tests/float_dsp
 fate-float-dsp: CMP = null
-fate-float-dsp: REF = /dev/null
 
 FATE_LIBAVUTIL += fate-hmac
 fate-hmac: libavutil/tests/hmac$(EXESUF)
@@ -72,7 +71,7 @@ fate-sha: CMD = run libavutil/tests/sha
 FATE_LIBAVUTIL += fate-tree
 fate-tree: libavutil/tests/tree$(EXESUF)
 fate-tree: CMD = run libavutil/tests/tree
-fate-tree: REF = /dev/null
+fate-tree: CMP = null
 
 FATE_LIBAVUTIL += fate-xtea
 fate-xtea: libavutil/tests/xtea$(EXESUF)

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


[FFmpeg-cvslog] Merge commit '698ac8f9cabd053f2c19346a77b92f8eae4218fc'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 22:59:08 
2017 -0300| [e1f01ce8d20bbc53f5d5841fdff125cc04516da9] | committer: James Almer

Merge commit '698ac8f9cabd053f2c19346a77b92f8eae4218fc'

* commit '698ac8f9cabd053f2c19346a77b92f8eae4218fc':
  fate: Make null comparison method more useful

Merged-by: James Almer 

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

 tests/fate-run.sh |  2 +-
 tests/fate/api.mak|  4 
 tests/fate/checkasm.mak   |  2 +-
 tests/fate/fft.mak|  6 +++---
 tests/fate/libavcodec.mak | 17 -
 tests/fate/libavutil.mak  | 22 +++---
 6 files changed, 20 insertions(+), 33 deletions(-)

diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index c5480c7ede..4641640d42 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -367,7 +367,7 @@ if [ $err -gt 128 ]; then
 test "${sig}" = "${sig%[!A-Za-z]*}" || unset sig
 fi
 
-if test -e "$ref" || test $cmp = "oneline" || test $cmp = "grep" ; then
+if test -e "$ref" || test $cmp = "oneline" || test $cmp = "null" || test $cmp 
= "grep" ; then
 case $cmp in
 diff)   diff -u -b "$ref" "$outfile">$cmpfile ;;
 rawdiff)diff -u"$ref" "$outfile">$cmpfile ;;
diff --git a/tests/fate/api.mak b/tests/fate/api.mak
index ccf080857c..eb656e68a3 100644
--- a/tests/fate/api.mak
+++ b/tests/fate/api.mak
@@ -2,13 +2,11 @@ FATE_API_LIBAVCODEC-$(call ENCDEC, FLAC, FLAC) += 
fate-api-flac
 fate-api-flac: $(APITESTSDIR)/api-flac-test$(EXESUF)
 fate-api-flac: CMD = run $(APITESTSDIR)/api-flac-test
 fate-api-flac: CMP = null
-fate-api-flac: REF = /dev/null
 
 FATE_API_SAMPLES_LIBAVFORMAT-$(call DEMDEC, FLV, FLV) += fate-api-band
 fate-api-band: $(APITESTSDIR)/api-band-test$(EXESUF)
 fate-api-band: CMD = run $(APITESTSDIR)/api-band-test 
$(TARGET_SAMPLES)/mpeg4/resize_down-up.h263
 fate-api-band: CMP = null
-fate-api-band: REF = /dev/null
 
 FATE_API_SAMPLES_LIBAVFORMAT-$(call DEMDEC, H264, H264) += fate-api-h264
 fate-api-h264: $(APITESTSDIR)/api-h264-test$(EXESUF)
@@ -18,7 +16,6 @@ FATE_API_LIBAVFORMAT-$(call DEMDEC, FLV, FLV) += fate-api-seek
 fate-api-seek: $(APITESTSDIR)/api-seek-test$(EXESUF) fate-lavf-flv_fmt
 fate-api-seek: CMD = run $(APITESTSDIR)/api-seek-test 
$(TARGET_PATH)/tests/data/lavf/lavf.flv 0 720
 fate-api-seek: CMP = null
-fate-api-seek: REF = /dev/null
 
 FATE_API_SAMPLES_LIBAVFORMAT-$(call DEMDEC, IMAGE2, PNG) += 
fate-api-png-codec-param
 fate-api-png-codec-param: $(APITESTSDIR)/api-codec-param-test$(EXESUF)
@@ -32,7 +29,6 @@ FATE_API-$(HAVE_THREADS) += fate-api-threadmessage
 fate-api-threadmessage: $(APITESTSDIR)/api-threadmessage-test$(EXESUF)
 fate-api-threadmessage: CMD = run $(APITESTSDIR)/api-threadmessage-test 3 10 
30 50 2 20 40
 fate-api-threadmessage: CMP = null
-fate-api-threadmessage: REF = /dev/null
 
 FATE_API_SAMPLES-$(CONFIG_AVFORMAT) += $(FATE_API_SAMPLES_LIBAVFORMAT-yes)
 
diff --git a/tests/fate/checkasm.mak b/tests/fate/checkasm.mak
index 7e8623985c..fbf60e9848 100644
--- a/tests/fate/checkasm.mak
+++ b/tests/fate/checkasm.mak
@@ -28,7 +28,7 @@ FATE_CHECKASM = fate-checkasm-aacpsdsp
  \
 
 $(FATE_CHECKASM): tests/checkasm/checkasm$(EXESUF)
 $(FATE_CHECKASM): CMD = run tests/checkasm/checkasm 
--test=$(@:fate-checkasm-%=%)
-$(FATE_CHECKASM): REF = /dev/null
+$(FATE_CHECKASM): CMP = null
 
 FATE-$(CONFIG_STATIC) += $(FATE_CHECKASM)
 fate-checkasm: $(FATE_CHECKASM)
diff --git a/tests/fate/fft.mak b/tests/fate/fft.mak
index 6ca430d020..c7c26cd634 100644
--- a/tests/fate/fft.mak
+++ b/tests/fate/fft.mak
@@ -46,7 +46,7 @@ FATE_FFT_FIXED_ALL = $(FATE_FFT_FIXED-yes) 
$(FATE_MDCT_FIXED-yes)
 $(FATE_FFT_FIXED_ALL): libavcodec/tests/fft-fixed$(EXESUF)
 $(FATE_FFT_FIXED_ALL): CMD = run libavcodec/tests/fft-fixed $(CPUFLAGS:%=-c%) 
$(ARGS)
 
-$(FATE_FFT_ALL) $(FATE_FFT_FIXED_ALL): REF = /dev/null
+$(FATE_FFT_ALL) $(FATE_FFT_FIXED_ALL): CMP = null
 
 define DEF_FFT_FIXED32
 FATE_FFT_FIXED32 += fate-fft-fixed32-$(1)   fate-ifft-fixed32-$(1)  \
@@ -63,7 +63,7 @@ $(foreach N, 4 5 6 7 8 9 10 11 12, $(eval $(call 
DEF_FFT_FIXED32,$(N
 fate-fft-fixed32: $(FATE_FFT_FIXED32)
 $(FATE_FFT_FIXED32): libavcodec/tests/fft-fixed32$(EXESUF)
 $(FATE_FFT_FIXED32): CMD = run libavcodec/tests/fft-fixed32 $(CPUFLAGS:%=-c%) 
$(ARGS)
-$(FATE_FFT_FIXED32): REF = /dev/null
+$(FATE_FFT_FIXED32): CMP = null
 
 define DEF_AV_FFT
 FATE_AV_DCT-$(CONFIG_DCT)   += fate-av-dct1d-$(1) fate-av-idct1d-$(1)
@@ -92,7 +92,7 @@ FATE_AV_FFT_ALL = $(FATE_AV_DCT-yes) $(FATE_AV_FFT-yes) 
$(FATE_AV_MDCT-yes) $(FA
 
 $(FATE_AV_FFT_ALL): libavcodec/tests/avfft$(EXESUF)
 $(FATE_AV_FFT_ALL): CMD = run libavcodec/tests/avfft $(CPUFLAGS:%=-c%) $(ARGS)
-$(FATE_AV_FFT_ALL): REF = /dev/null
+$(FATE_AV_FFT_ALL): CMP = null
 
 fate-dct: fate-dct-float
 fate-fft: fate-fft-float fate-fft-fixed fate-fft-fixed32
diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak
index fc807

[FFmpeg-cvslog] build: Drop DOC_ prefix from EXAMPLES-related variables

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Wed Feb 22 
14:18:47 2017 +0100| [c483398bb7ef66f61ed2dcb09f3d6160683da0eb] | committer: 
Diego Biurrun

build: Drop DOC_ prefix from EXAMPLES-related variables

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

 doc/examples/Makefile | 46 +++---
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/doc/examples/Makefile b/doc/examples/Makefile
index c42c68fd54..40c9557fbc 100644
--- a/doc/examples/Makefile
+++ b/doc/examples/Makefile
@@ -1,31 +1,31 @@
-DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio
-DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video
-DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio
-DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video
-DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio
-DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata
-DOC_EXAMPLES-$(CONFIG_OUTPUT_EXAMPLE)   += output
-DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)   += qsvdec
-DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE)+= transcode_aac
-
-DOC_EXAMPLES := $(DOC_EXAMPLES-yes:%=doc/examples/%$(EXESUF))
-ALL_DOC_EXAMPLES := $(DOC_EXAMPLES) $(DOC_EXAMPLES-:%=doc/examples/%$(EXESUF))
-PROGS+= $(DOC_EXAMPLES)
-
-$(foreach P,$(DOC_EXAMPLES),$(eval OBJS-$(P:%$(EXESUF)=%) = 
$(P:%$(EXESUF)=%).o))
-$(DOC_EXAMPLES): %$(EXESUF): %.o
-
-examples: $(DOC_EXAMPLES)
-
-$(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples
+EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE) += decode_audio
+EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE) += decode_video
+EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE) += encode_audio
+EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE) += encode_video
+EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE) += filter_audio
+EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata
+EXAMPLES-$(CONFIG_OUTPUT_EXAMPLE)   += output
+EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)   += qsvdec
+EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE)+= transcode_aac
+
+EXAMPLES := $(EXAMPLES-yes:%=doc/examples/%$(EXESUF))
+ALL_EXAMPLES := $(EXAMPLES) $(EXAMPLES-:%=doc/examples/%$(EXESUF))
+PROGS+= $(EXAMPLES)
+
+$(foreach P,$(EXAMPLES),$(eval OBJS-$(P:%$(EXESUF)=%) = $(P:%$(EXESUF)=%).o))
+$(EXAMPLES): %$(EXESUF): %.o
+
+examples: $(EXAMPLES)
+
+$(EXAMPLES:%$(EXESUF)=%.o): | doc/examples
 OBJDIRS += doc/examples
 
-DOXY_INPUT += $(addprefix $(SRC_PATH)/, $(DOC_EXAMPLES:%$(EXESUF)=%.c))
+DOXY_INPUT += $(addprefix $(SRC_PATH)/, $(EXAMPLES:%$(EXESUF)=%.c))
 
 clean::
-   $(RM) $(ALL_DOC_EXAMPLES)
+   $(RM) $(ALL_EXAMPLES)
$(RM) $(CLEANSUFFIXES:%=doc/examples/%)
 
--include $(wildcard $(DOC_EXAMPLES:%$(EXESUF)=%.d))
+-include $(wildcard $(EXAMPLES:%$(EXESUF)=%.d))
 
 .PHONY: examples

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


[FFmpeg-cvslog] Merge commit 'c483398bb7ef66f61ed2dcb09f3d6160683da0eb'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 22:11:58 
2017 -0300| [749b35799cc5fad2b8e430ffde1265675be558c0] | committer: James Almer

Merge commit 'c483398bb7ef66f61ed2dcb09f3d6160683da0eb'

* commit 'c483398bb7ef66f61ed2dcb09f3d6160683da0eb':
  build: Drop DOC_ prefix from EXAMPLES-related variables

Merged-by: James Almer 

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

 doc/examples/Makefile | 68 +--
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/doc/examples/Makefile b/doc/examples/Makefile
index ff958d33c6..af000d9ddb 100644
--- a/doc/examples/Makefile
+++ b/doc/examples/Makefile
@@ -1,50 +1,50 @@
-DOC_EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE)  += avio_dir_cmd
-DOC_EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE)  += avio_reading
-DOC_EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE)  += decode_audio
-DOC_EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE)  += decode_video
-DOC_EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding
-DOC_EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE)  += encode_audio
-DOC_EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE)  += encode_video
-DOC_EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE)   += extract_mvs
-DOC_EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE)  += filter_audio
-DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE)   += filtering_audio
-DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE)   += filtering_video
-DOC_EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE)  += http_multiclient
-DOC_EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode
-DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE)  += metadata
-DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE)+= muxing
-DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)+= qsvdec
-DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE)  += remuxing
-DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE)  += resampling_audio
-DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video
-DOC_EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac
-DOC_EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE)   += transcoding
-
-DOC_EXAMPLES   := $(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF))
-DOC_EXAMPLES_G := 
$(DOC_EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
-ALL_DOC_EXAMPLES   := $(DOC_EXAMPLES) 
$(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF))
-ALL_DOC_EXAMPLES_G := $(DOC_EXAMPLES_G) 
$(DOC_EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
-PROGS  += $(DOC_EXAMPLES)
+EXAMPLES-$(CONFIG_AVIO_DIR_CMD_EXAMPLE)  += avio_dir_cmd
+EXAMPLES-$(CONFIG_AVIO_READING_EXAMPLE)  += avio_reading
+EXAMPLES-$(CONFIG_DECODE_AUDIO_EXAMPLE)  += decode_audio
+EXAMPLES-$(CONFIG_DECODE_VIDEO_EXAMPLE)  += decode_video
+EXAMPLES-$(CONFIG_DEMUXING_DECODING_EXAMPLE) += demuxing_decoding
+EXAMPLES-$(CONFIG_ENCODE_AUDIO_EXAMPLE)  += encode_audio
+EXAMPLES-$(CONFIG_ENCODE_VIDEO_EXAMPLE)  += encode_video
+EXAMPLES-$(CONFIG_EXTRACT_MVS_EXAMPLE)   += extract_mvs
+EXAMPLES-$(CONFIG_FILTER_AUDIO_EXAMPLE)  += filter_audio
+EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE)   += filtering_audio
+EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE)   += filtering_video
+EXAMPLES-$(CONFIG_HTTP_MULTICLIENT_EXAMPLE)  += http_multiclient
+EXAMPLES-$(CONFIG_HW_DECODE_EXAMPLE) += hw_decode
+EXAMPLES-$(CONFIG_METADATA_EXAMPLE)  += metadata
+EXAMPLES-$(CONFIG_MUXING_EXAMPLE)+= muxing
+EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE)+= qsvdec
+EXAMPLES-$(CONFIG_REMUXING_EXAMPLE)  += remuxing
+EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE)  += resampling_audio
+EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video
+EXAMPLES-$(CONFIG_TRANSCODE_AAC_EXAMPLE) += transcode_aac
+EXAMPLES-$(CONFIG_TRANSCODING_EXAMPLE)   += transcoding
+
+EXAMPLES   := $(EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)$(EXESUF))
+EXAMPLES_G := $(EXAMPLES-yes:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
+ALL_EXAMPLES   := $(EXAMPLES) $(EXAMPLES-:%=doc/examples/%$(PROGSSUF)$(EXESUF))
+ALL_EXAMPLES_G := $(EXAMPLES_G) 
$(EXAMPLES-:%=doc/examples/%$(PROGSSUF)_g$(EXESUF))
+PROGS  += $(EXAMPLES)
 
 EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) 
$(SRC_PATH)/doc/examples/README
 EXAMPLE_MAKEFILE := $(SRC_PATH)/doc/examples/Makefile
 
-$(foreach P,$(DOC_EXAMPLES),$(eval OBJS-$(P:%$(PROGSSUF)$(EXESUF)=%) = 
$(P:%$(PROGSSUF)$(EXESUF)=%).o))
-$(DOC_EXAMPLES_G): %$(PROGSSUF)_g$(EXESUF): %.o
+$(foreach P,$(EXAMPLES),$(eval OBJS-$(P:%$(PROGSSUF)$(EXESUF)=%) = 
$(P:%$(PROGSSUF)$(EXESUF)=%).o))
+$(EXAMPLES_G): %$(PROGSSUF)_g$(EXESUF): %.o
 
-examples: $(DOC_EXAMPLES)
+examples: $(EXAMPLES)
 
-$(DOC_EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.o): | doc/examples
+$(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.o): | doc/examples
 OBJDIRS += doc/examples
 
-DOXY_INPUT += $(DOC_EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.c)
+DOXY_INPUT += $(EXAMPLES:%$(PROGSSUF)$(EXESUF)=%.c)
 
 examplesclean:
-   $(RM) $(ALL_DOC_EXAMPLES) $(ALL_DOC_EXAMPLES_G)

[FFmpeg-cvslog] Merge commit 'b9b82151a1aaa8bbf389853a6142c4e101d80b86'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 21:37:37 
2017 -0300| [7c74efeaf89111d686f928cbf1fe20d9a768d31f] | committer: James Almer

Merge commit 'b9b82151a1aaa8bbf389853a6142c4e101d80b86'

* commit 'b9b82151a1aaa8bbf389853a6142c4e101d80b86':
  rtsp: Move the pollfd setup out of the for loop

Merged-by: James Almer 

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

 libavformat/rtsp.c | 56 +++---
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 736559eab3..7407014f5e 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1931,39 +1931,39 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
+if (rt->rtsp_hd) {
+tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
+p[max_p].fd = tcp_fd;
+p[max_p++].events = POLLIN;
+} else {
+tcp_fd = -1;
+}
+for (i = 0; i < rt->nb_rtsp_streams; i++) {
+rtsp_st = rt->rtsp_streams[i];
+if (rtsp_st->rtp_handle) {
+if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
+  &fds, &fdsnum)) {
+av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
+return ret;
+}
+if (fdsnum != 2) {
+av_log(s, AV_LOG_ERROR,
+   "Number of fds %d not supported\n", fdsnum);
+return AVERROR_INVALIDDATA;
+}
+for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
+p[max_p].fd   = fds[fdsidx];
+p[max_p++].events = POLLIN;
+}
+av_freep(&fds);
+}
+}
+
 for (;;) {
 if (ff_check_interrupt(&s->interrupt_callback))
 return AVERROR_EXIT;
 if (wait_end && wait_end - av_gettime_relative() < 0)
 return AVERROR(EAGAIN);
-max_p = 0;
-if (rt->rtsp_hd) {
-tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
-p[max_p].fd = tcp_fd;
-p[max_p++].events = POLLIN;
-} else {
-tcp_fd = -1;
-}
-for (i = 0; i < rt->nb_rtsp_streams; i++) {
-rtsp_st = rt->rtsp_streams[i];
-if (rtsp_st->rtp_handle) {
-if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
-  &fds, &fdsnum)) {
-av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
-return ret;
-}
-if (fdsnum != 2) {
-av_log(s, AV_LOG_ERROR,
-   "Number of fds %d not supported\n", fdsnum);
-return AVERROR_INVALIDDATA;
-}
-for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
-p[max_p].fd   = fds[fdsidx];
-p[max_p++].events = POLLIN;
-}
-av_freep(&fds);
-}
-}
 n = poll(p, max_p, POLL_TIMEOUT_MS);
 if (n > 0) {
 int j = 1 - (tcp_fd == -1);


==

diff --cc libavformat/rtsp.c
index 736559eab3,e4cbae43a2..7407014f5e
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@@ -1931,6 -1920,34 +1931,34 @@@ static int udp_read_packet(AVFormatCont
  struct pollfd *p = rt->p;
  int *fds = NULL, fdsnum, fdsidx;
  
+ if (rt->rtsp_hd) {
+ tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
+ p[max_p].fd = tcp_fd;
+ p[max_p++].events = POLLIN;
+ } else {
+ tcp_fd = -1;
+ }
+ for (i = 0; i < rt->nb_rtsp_streams; i++) {
+ rtsp_st = rt->rtsp_streams[i];
+ if (rtsp_st->rtp_handle) {
+ if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
+   &fds, &fdsnum)) {
+ av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
+ return ret;
+ }
+ if (fdsnum != 2) {
+ av_log(s, AV_LOG_ERROR,
+"Number of fds %d not supported\n", fdsnum);
+ return AVERROR_INVALIDDATA;
+ }
+ for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
+ p[max_p].fd   = fds[fdsidx];
+ p[max_p++].events = POLLIN;
+ }
 -av_free(fds);
++av_freep(&fds);
+ }
+ }
+ 
  for (;;) {
  if (ff_check_interrupt(&s->interrupt_callback))
  return AVERROR_EXIT;

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


[FFmpeg-cvslog] Merge commit '5263f464db5f2df74ddf712f6d1221b24475fa8e'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 21:40:22 
2017 -0300| [c2916564d8e469e74074b3c8af325af8ac334a63] | committer: James Almer

Merge commit '5263f464db5f2df74ddf712f6d1221b24475fa8e'

* commit '5263f464db5f2df74ddf712f6d1221b24475fa8e':
  rtsp: Lazily allocate the pollfd array

Merged-by: James Almer 

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

 libavformat/rtsp.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 7407014f5e..2d1df80ed0 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -670,7 +670,6 @@ static void sdp_parse_line(AVFormatContext *s, 
SDPParseState *s1,
 
 int ff_sdp_parse(AVFormatContext *s, const char *content)
 {
-RTSPState *rt = s->priv_data;
 const char *p;
 int letter, i;
 /* Some SDP lines, particularly for Realmedia or ASF RTSP streams,
@@ -717,8 +716,6 @@ int ff_sdp_parse(AVFormatContext *s, const char *content)
 av_freep(&s1->default_exclude_source_addrs[i]);
 av_freep(&s1->default_exclude_source_addrs);
 
-rt->p = av_malloc_array(rt->nb_rtsp_streams + 1, sizeof(struct pollfd) * 
2);
-if (!rt->p) return AVERROR(ENOMEM);
 return 0;
 }
 #endif /* CONFIG_RTPDEC */
@@ -1931,6 +1928,12 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
+if (!p) {
+p = rt->p = av_malloc_array(2 * (rt->nb_rtsp_streams + 1), 
sizeof(struct pollfd));
+if (!p)
+return AVERROR(ENOMEM);
+}
+
 if (rt->rtsp_hd) {
 tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
 p[max_p].fd = tcp_fd;


==

diff --cc libavformat/rtsp.c
index 7407014f5e,4ff12c63dd..2d1df80ed0
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@@ -711,14 -702,12 +710,12 @@@ int ff_sdp_parse(AVFormatContext *s, co
  }
  
  for (i = 0; i < s1->nb_default_include_source_addrs; i++)
 -av_free(s1->default_include_source_addrs[i]);
 +av_freep(&s1->default_include_source_addrs[i]);
  av_freep(&s1->default_include_source_addrs);
  for (i = 0; i < s1->nb_default_exclude_source_addrs; i++)
 -av_free(s1->default_exclude_source_addrs[i]);
 +av_freep(&s1->default_exclude_source_addrs[i]);
  av_freep(&s1->default_exclude_source_addrs);
  
- rt->p = av_malloc_array(rt->nb_rtsp_streams + 1, sizeof(struct pollfd) * 
2);
- if (!rt->p) return AVERROR(ENOMEM);
  return 0;
  }
  #endif /* CONFIG_RTPDEC */

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


[FFmpeg-cvslog] rtsp: Move the pollfd setup out of the for loop

2017-10-03 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Mon Feb 20 
00:50:34 2017 +0100| [b9b82151a1aaa8bbf389853a6142c4e101d80b86] | committer: 
Luca Barbato

rtsp: Move the pollfd setup out of the for loop

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

 libavformat/rtsp.c | 56 +++---
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index e75670867a..e4cbae43a2 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1920,39 +1920,39 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
+if (rt->rtsp_hd) {
+tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
+p[max_p].fd = tcp_fd;
+p[max_p++].events = POLLIN;
+} else {
+tcp_fd = -1;
+}
+for (i = 0; i < rt->nb_rtsp_streams; i++) {
+rtsp_st = rt->rtsp_streams[i];
+if (rtsp_st->rtp_handle) {
+if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
+  &fds, &fdsnum)) {
+av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
+return ret;
+}
+if (fdsnum != 2) {
+av_log(s, AV_LOG_ERROR,
+   "Number of fds %d not supported\n", fdsnum);
+return AVERROR_INVALIDDATA;
+}
+for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
+p[max_p].fd   = fds[fdsidx];
+p[max_p++].events = POLLIN;
+}
+av_free(fds);
+}
+}
+
 for (;;) {
 if (ff_check_interrupt(&s->interrupt_callback))
 return AVERROR_EXIT;
 if (wait_end && wait_end - av_gettime_relative() < 0)
 return AVERROR(EAGAIN);
-max_p = 0;
-if (rt->rtsp_hd) {
-tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
-p[max_p].fd = tcp_fd;
-p[max_p++].events = POLLIN;
-} else {
-tcp_fd = -1;
-}
-for (i = 0; i < rt->nb_rtsp_streams; i++) {
-rtsp_st = rt->rtsp_streams[i];
-if (rtsp_st->rtp_handle) {
-if (ret = ffurl_get_multi_file_handle(rtsp_st->rtp_handle,
-  &fds, &fdsnum)) {
-av_log(s, AV_LOG_ERROR, "Unable to recover rtp ports\n");
-return ret;
-}
-if (fdsnum != 2) {
-av_log(s, AV_LOG_ERROR,
-   "Number of fds %d not supported\n", fdsnum);
-return AVERROR_INVALIDDATA;
-}
-for (fdsidx = 0; fdsidx < fdsnum; fdsidx++) {
-p[max_p].fd   = fds[fdsidx];
-p[max_p++].events = POLLIN;
-}
-av_free(fds);
-}
-}
 n = poll(p, max_p, POLL_TIMEOUT_MS);
 if (n > 0) {
 int j = 1 - (tcp_fd == -1);

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


[FFmpeg-cvslog] Merge commit '150e99d694f33ab9ad678834964909aa315d14a1'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 21:34:08 
2017 -0300| [c244d4af43a160cfff84e368b5591f2a411eb001] | committer: James Almer

Merge commit '150e99d694f33ab9ad678834964909aa315d14a1'

* commit '150e99d694f33ab9ad678834964909aa315d14a1':
  rtsp: Factor out packet reading

Merged-by: James Almer 

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

 libavformat/rtsp.c | 66 +-
 1 file changed, 40 insertions(+), 26 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 0bd72dc5ce..736559eab3 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -2054,6 +2054,44 @@ static int pick_stream(AVFormatContext *s, RTSPStream 
**rtsp_st,
 return AVERROR(EAGAIN);
 }
 
+static int read_packet(AVFormatContext *s,
+   RTSPStream **rtsp_st, RTSPStream *first_queue_st,
+   int64_t wait_end)
+{
+RTSPState *rt = s->priv_data;
+int len;
+
+switch(rt->lower_transport) {
+default:
+#if CONFIG_RTSP_DEMUXER
+case RTSP_LOWER_TRANSPORT_TCP:
+len = ff_rtsp_tcp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE);
+break;
+#endif
+case RTSP_LOWER_TRANSPORT_UDP:
+case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
+len = udp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE, wait_end);
+if (len > 0 && (*rtsp_st)->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
+ff_rtp_check_and_send_back_rr((*rtsp_st)->transport_priv, 
(*rtsp_st)->rtp_handle, NULL, len);
+break;
+case RTSP_LOWER_TRANSPORT_CUSTOM:
+if (first_queue_st && rt->transport == RTSP_TRANSPORT_RTP &&
+wait_end && wait_end < av_gettime_relative())
+len = AVERROR(EAGAIN);
+else
+len = avio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
+len = pick_stream(s, rtsp_st, rt->recvbuf, len);
+if (len > 0 && (*rtsp_st)->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
+ff_rtp_check_and_send_back_rr((*rtsp_st)->transport_priv, NULL, 
s->pb, len);
+break;
+}
+
+if (len == 0)
+return AVERROR_EOF;
+
+return len;
+}
+
 int ff_rtsp_fetch_packet(AVFormatContext *s, AVPacket *pkt)
 {
 RTSPState *rt = s->priv_data;
@@ -2118,30 +2156,7 @@ redo:
 return AVERROR(ENOMEM);
 }
 
-switch(rt->lower_transport) {
-default:
-#if CONFIG_RTSP_DEMUXER
-case RTSP_LOWER_TRANSPORT_TCP:
-len = ff_rtsp_tcp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE);
-break;
-#endif
-case RTSP_LOWER_TRANSPORT_UDP:
-case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
-len = udp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE, 
wait_end);
-if (len > 0 && rtsp_st->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
-ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, 
rtsp_st->rtp_handle, NULL, len);
-break;
-case RTSP_LOWER_TRANSPORT_CUSTOM:
-if (first_queue_st && rt->transport == RTSP_TRANSPORT_RTP &&
-wait_end && wait_end < av_gettime_relative())
-len = AVERROR(EAGAIN);
-else
-len = avio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
-len = pick_stream(s, &rtsp_st, rt->recvbuf, len);
-if (len > 0 && rtsp_st->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
-ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, NULL, 
s->pb, len);
-break;
-}
+len = read_packet(s, &rtsp_st, first_queue_st, wait_end);
 if (len == AVERROR(EAGAIN) && first_queue_st &&
 rt->transport == RTSP_TRANSPORT_RTP) {
 av_log(s, AV_LOG_WARNING,
@@ -2152,8 +2167,7 @@ redo:
 }
 if (len < 0)
 return len;
-if (len == 0)
-return AVERROR_EOF;
+
 if (rt->transport == RTSP_TRANSPORT_RDT) {
 ret = ff_rdt_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, 
len);
 } else if (rt->transport == RTSP_TRANSPORT_RTP) {


==

diff --cc libavformat/rtsp.c
index 0bd72dc5ce,e75670867a..736559eab3
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@@ -2054,6 -2043,44 +2054,44 @@@ static int pick_stream(AVFormatContext 
  return AVERROR(EAGAIN);
  }
  
+ static int read_packet(AVFormatContext *s,
+RTSPStream **rtsp_st, RTSPStream *first_queue_st,
+int64_t wait_end)
+ {
+ RTSPState *rt = s->priv_data;
+ int len;
+ 
+ switch(rt->lower_transport) {
+ default:
+ #if CONFIG_RTSP_DEMUXER
+ case RTSP_LOWER_TRANSPORT_TCP:
+ len = ff_rtsp_tcp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE);
+ break;
+ #endif
+ case RTSP_LOWER_TRANSPORT_UDP:
+ case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
+ len = udp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE, 
wait_end);
+ if (len >

[FFmpeg-cvslog] rtsp: Factor out packet reading

2017-10-03 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Mon Feb 20 
00:04:59 2017 +0100| [150e99d694f33ab9ad678834964909aa315d14a1] | committer: 
Luca Barbato

rtsp: Factor out packet reading

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

 libavformat/rtsp.c | 66 +-
 1 file changed, 40 insertions(+), 26 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 7e5985719e..e75670867a 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -2043,6 +2043,44 @@ static int pick_stream(AVFormatContext *s, RTSPStream 
**rtsp_st,
 return AVERROR(EAGAIN);
 }
 
+static int read_packet(AVFormatContext *s,
+   RTSPStream **rtsp_st, RTSPStream *first_queue_st,
+   int64_t wait_end)
+{
+RTSPState *rt = s->priv_data;
+int len;
+
+switch(rt->lower_transport) {
+default:
+#if CONFIG_RTSP_DEMUXER
+case RTSP_LOWER_TRANSPORT_TCP:
+len = ff_rtsp_tcp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE);
+break;
+#endif
+case RTSP_LOWER_TRANSPORT_UDP:
+case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
+len = udp_read_packet(s, rtsp_st, rt->recvbuf, RECVBUF_SIZE, wait_end);
+if (len > 0 && (*rtsp_st)->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
+ff_rtp_check_and_send_back_rr((*rtsp_st)->transport_priv, 
(*rtsp_st)->rtp_handle, NULL, len);
+break;
+case RTSP_LOWER_TRANSPORT_CUSTOM:
+if (first_queue_st && rt->transport == RTSP_TRANSPORT_RTP &&
+wait_end && wait_end < av_gettime_relative())
+len = AVERROR(EAGAIN);
+else
+len = ffio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
+len = pick_stream(s, rtsp_st, rt->recvbuf, len);
+if (len > 0 && (*rtsp_st)->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
+ff_rtp_check_and_send_back_rr((*rtsp_st)->transport_priv, NULL, 
s->pb, len);
+break;
+}
+
+if (len == 0)
+return AVERROR_EOF;
+
+return len;
+}
+
 int ff_rtsp_fetch_packet(AVFormatContext *s, AVPacket *pkt)
 {
 RTSPState *rt = s->priv_data;
@@ -2107,30 +2145,7 @@ redo:
 return AVERROR(ENOMEM);
 }
 
-switch(rt->lower_transport) {
-default:
-#if CONFIG_RTSP_DEMUXER
-case RTSP_LOWER_TRANSPORT_TCP:
-len = ff_rtsp_tcp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE);
-break;
-#endif
-case RTSP_LOWER_TRANSPORT_UDP:
-case RTSP_LOWER_TRANSPORT_UDP_MULTICAST:
-len = udp_read_packet(s, &rtsp_st, rt->recvbuf, RECVBUF_SIZE, 
wait_end);
-if (len > 0 && rtsp_st->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
-ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, 
rtsp_st->rtp_handle, NULL, len);
-break;
-case RTSP_LOWER_TRANSPORT_CUSTOM:
-if (first_queue_st && rt->transport == RTSP_TRANSPORT_RTP &&
-wait_end && wait_end < av_gettime_relative())
-len = AVERROR(EAGAIN);
-else
-len = ffio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
-len = pick_stream(s, &rtsp_st, rt->recvbuf, len);
-if (len > 0 && rtsp_st->transport_priv && rt->transport == 
RTSP_TRANSPORT_RTP)
-ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, NULL, 
s->pb, len);
-break;
-}
+len = read_packet(s, &rtsp_st, first_queue_st, wait_end);
 if (len == AVERROR(EAGAIN) && first_queue_st &&
 rt->transport == RTSP_TRANSPORT_RTP) {
 av_log(s, AV_LOG_WARNING,
@@ -2141,8 +2156,7 @@ redo:
 }
 if (len < 0)
 return len;
-if (len == 0)
-return AVERROR_EOF;
+
 if (rt->transport == RTSP_TRANSPORT_RDT) {
 ret = ff_rdt_parse_packet(rtsp_st->transport_priv, pkt, &rt->recvbuf, 
len);
 } else if (rt->transport == RTSP_TRANSPORT_RTP) {

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


[FFmpeg-cvslog] rtsp: Lazily allocate the pollfd array

2017-10-03 Thread Luca Barbato
ffmpeg | branch: master | Luca Barbato  | Mon Feb 20 
02:11:58 2017 +0100| [5263f464db5f2df74ddf712f6d1221b24475fa8e] | committer: 
Luca Barbato

rtsp: Lazily allocate the pollfd array

And use av_malloc_array.

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

 libavformat/rtsp.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index e4cbae43a2..4ff12c63dd 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -662,7 +662,6 @@ static void sdp_parse_line(AVFormatContext *s, 
SDPParseState *s1,
 
 int ff_sdp_parse(AVFormatContext *s, const char *content)
 {
-RTSPState *rt = s->priv_data;
 const char *p;
 int letter, i;
 /* Some SDP lines, particularly for Realmedia or ASF RTSP streams,
@@ -709,8 +708,6 @@ int ff_sdp_parse(AVFormatContext *s, const char *content)
 av_free(s1->default_exclude_source_addrs[i]);
 av_freep(&s1->default_exclude_source_addrs);
 
-rt->p = av_malloc(sizeof(struct pollfd)*2*(rt->nb_rtsp_streams+1));
-if (!rt->p) return AVERROR(ENOMEM);
 return 0;
 }
 #endif /* CONFIG_RTPDEC */
@@ -1920,6 +1917,12 @@ static int udp_read_packet(AVFormatContext *s, 
RTSPStream **prtsp_st,
 struct pollfd *p = rt->p;
 int *fds = NULL, fdsnum, fdsidx;
 
+if (!p) {
+p = rt->p = av_malloc_array(2 * (rt->nb_rtsp_streams + 1), 
sizeof(struct pollfd));
+if (!p)
+return AVERROR(ENOMEM);
+}
+
 if (rt->rtsp_hd) {
 tcp_fd = ffurl_get_file_handle(rt->rtsp_hd);
 p[max_p].fd = tcp_fd;

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


[FFmpeg-cvslog] Merge commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 21:28:07 
2017 -0300| [a2b0602cdad8da62c137f7db07b608d6bbbcefaa] | committer: James Almer

Merge commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7'

* commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7':
  Use modern avconv syntax for codec selection in documentation and tests

Merged-by: James Almer 

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

 doc/encoders.texi|  2 +-
 doc/faq.texi |  8 +++
 doc/filters.texi |  2 +-
 doc/indevs.texi  |  6 ++---
 doc/outdevs.texi |  6 ++---
 tests/fate/demux.mak | 54 ++--
 tests/fate/ffmpeg.mak|  2 +-
 tests/fate/filter-audio.mak  |  2 +-
 tests/fate/h264.mak  |  2 +-
 tests/fate/hevc.mak  |  2 +-
 tests/fate/libswresample.mak | 18 +++
 tests/fate/microsoft.mak |  2 +-
 tests/fate/mp3.mak   | 14 ++--
 tests/fate/mpc.mak   |  4 ++--
 tests/fate/mxf.mak   |  6 ++---
 tests/fate/prores.mak|  2 +-
 tests/fate/utvideo.mak   |  2 +-
 tests/fate/vcodec.mak| 26 ++---
 tests/fate/video.mak |  6 ++---
 tests/fate/vpx.mak   |  2 +-
 tests/fate/vqf.mak   |  2 +-
 21 files changed, 85 insertions(+), 85 deletions(-)

Diff:   
http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commitdiff;h=a2b0602cdad8da62c137f7db07b608d6bbbcefaa
___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Use modern avconv syntax for codec selection in documentation and tests

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Thu Oct 18 
10:15:07 2012 +0200| [4141a5a240fba44b4b4a1c488c279d7dd8a11ec7] | committer: 
Diego Biurrun

Use modern avconv syntax for codec selection in documentation and tests

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

 doc/encoders.texi|  2 +-
 doc/faq.texi |  8 
 doc/filters.texi |  4 ++--
 tests/fate-run.sh|  4 ++--
 tests/fate/demux.mak | 34 +-
 tests/fate/h264.mak  |  2 +-
 tests/fate/microsoft.mak |  2 +-
 tests/fate/mp3.mak   | 14 +++---
 tests/fate/mpc.mak   |  4 ++--
 tests/fate/utvideo.mak   |  2 +-
 tests/fate/video.mak |  4 ++--
 tests/fate/vqf.mak   |  2 +-
 tests/lavf-regression.sh | 28 ++--
 13 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/doc/encoders.texi b/doc/encoders.texi
index bc5b33660e..41b8398127 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -38,7 +38,7 @@ always faster, just that one or the other may be better 
suited to a
 particular system. The floating-point encoder will generally produce better
 quality audio for a given bitrate. The @var{ac3_fixed} encoder is not the
 default codec for any of the output formats, so it must be specified explicitly
-using the option @code{-acodec ac3_fixed} in order to use it.
+using the option @code{-c:a ac3_fixed} in order to use it.
 
 @subsection AC-3 Metadata
 
diff --git a/doc/faq.texi b/doc/faq.texi
index b400124f69..f3d55bde95 100644
--- a/doc/faq.texi
+++ b/doc/faq.texi
@@ -234,7 +234,7 @@ mkfifo intermediate2.mpg
 avconv -i input1.avi -y intermediate1.mpg < /dev/null &
 avconv -i input2.avi -y intermediate2.mpg < /dev/null &
 cat intermediate1.mpg intermediate2.mpg |\
-avconv -f mpeg -i - -c:v mpeg4 -acodec libmp3lame output.avi
+avconv -f mpeg -i - -c:v mpeg4 -c:a libmp3lame output.avi
 @end example
 
 Similarly, the yuv4mpegpipe format, and the raw video, raw audio codecs also
@@ -253,13 +253,13 @@ mkfifo temp2.a
 mkfifo temp2.v
 mkfifo all.a
 mkfifo all.v
-avconv -i input1.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > 
temp1.a < /dev/null &
-avconv -i input2.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > 
temp2.a < /dev/null &
+avconv -i input1.flv -vn -f u16le -c:a pcm_s16le -ac 2 -ar 44100 - > temp1.a < 
/dev/null &
+avconv -i input2.flv -vn -f u16le -c:a pcm_s16le -ac 2 -ar 44100 - > temp2.a < 
/dev/null &
 avconv -i input1.flv -an -f yuv4mpegpipe - > temp1.v < /dev/null &
 @{ avconv -i input2.flv -an -f yuv4mpegpipe - < /dev/null | tail -n +2 > 
temp2.v ; @} &
 cat temp1.a temp2.a > all.a &
 cat temp1.v temp2.v > all.v &
-avconv -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
+avconv -f u16le -c:a pcm_s16le -ac 2 -ar 44100 -i all.a \
-f yuv4mpegpipe -i all.v \
-y output.flv
 rm temp[12].[av] all.[av]
diff --git a/doc/filters.texi b/doc/filters.texi
index 954765f08e..947fd7915c 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -661,10 +661,10 @@ avconv -i HDCD16.flac -af hdcd OUT24.flac
 
 When using the filter with WAV, note that the default encoding for WAV is 
16-bit,
 so the resulting 20-bit stream will be truncated back to 16-bit. Use something
-like @command{-acodec pcm_s24le} after the filter to get 24-bit PCM output.
+like @command{-c:a pcm_s24le} after the filter to get 24-bit PCM output.
 @example
 avconv -i HDCD16.wav -af hdcd OUT16.wav
-avconv -i HDCD16.wav -af hdcd -acodec pcm_s24le OUT24.wav
+avconv -i HDCD16.wav -af hdcd -c:a pcm_s24le OUT24.wav
 @end example
 
 The filter accepts the following options:
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 623fd635a0..43fcee02ab 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -164,8 +164,8 @@ video_filter(){
 label=${test#filter-}
 raw_src="${target_path}/tests/vsynth1/%02d.pgm"
 printf '%-20s' $label
-avconv $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \
-$FLAGS $ENC_OPTS -vf "$filters" -vcodec rawvideo -frames:v 5 $* -f nut 
md5:
+avconv $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src \
+$FLAGS $ENC_OPTS -vf "$filters" -c:v rawvideo -frames:v 5 $* -f nut 
md5:
 }
 
 pixfmts(){
diff --git a/tests/fate/demux.mak b/tests/fate/demux.mak
index d529341a5d..44c4d6efa4 100644
--- a/tests/fate/demux.mak
+++ b/tests/fate/demux.mak
@@ -1,26 +1,26 @@
 FATE_SAMPLES_AVCONV-$(call DEMDEC, AAC, AAC) += fate-adts-demux
-fate-adts-demux: CMD = crc -i $(TARGET_SAMPLES)/aac/ct_faac-adts.aac -acodec 
copy
+fate-adts-demux: CMD = crc -i $(TARGET_SAMPLES)/aac/ct_faac-adts.aac -c:a copy
 
 FATE_SAMPLES_AVCONV-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
-fate-aea-demux: CMD = crc -i $(TARGET_SAMPLES)/aea/chirp.aea -acodec copy
+fate-aea-demux: CMD = crc -i $(TARGET_SAMPLES)/aea/chirp.aea -c:a copy
 
 FATE_SAMPLES_AVCONV-$(CONFIG_BINK_DEMUXER) += fate-bink-demux
-fate-bink-demux: CMD = crc -i $(TARGET_SAMPLES)/bink/Snd0a7d9b58.dee -vn 
-a

[FFmpeg-cvslog] avformat/mp3dec: Fix definition of MIDDLE_BITS

2017-10-03 Thread Ingo Brückl
ffmpeg | branch: master | Ingo Brückl  | Tue Oct  3 
15:50:37 2017 +0200| [08c751309670854c73b58f234a83f4ba679370be] | committer: 
Michael Niedermayer

avformat/mp3dec: Fix definition of MIDDLE_BITS

The number of bits from bit #m to #n is n - m plus 1.

Signed-off-by: Ingo Brückl 
Signed-off-by: Michael Niedermayer 

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

 libavformat/mp3dec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index 0924a57843..a5c4f2ea12 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -142,7 +142,7 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream 
*st,
MPADecodeHeader *c, uint32_t spf)
 {
 #define LAST_BITS(k, n) ((k) & ((1 << (n)) - 1))
-#define MIDDLE_BITS(k, m, n) LAST_BITS((k) >> (m), ((n) - (m)))
+#define MIDDLE_BITS(k, m, n) LAST_BITS((k) >> (m), ((n) - (m) + 1))
 
 uint16_t crc;
 uint32_t v;

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


[FFmpeg-cvslog] avcodec/dxv: Check for end of input in dxv_decompress_dxt5()

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Sat 
Sep 30 18:54:07 2017 +0200| [d662143f064636f11d92083cd9aa4f907cf97d59] | 
committer: Michael Niedermayer

avcodec/dxv: Check for end of input in dxv_decompress_dxt5()

Fixes: Timeout
Fixes: 3291/clusterfuzz-testcase-4630024655208448

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavcodec/dxv.c b/libavcodec/dxv.c
index 6f3c075d06..529e211258 100644
--- a/libavcodec/dxv.c
+++ b/libavcodec/dxv.c
@@ -197,6 +197,8 @@ static int dxv_decompress_dxt5(AVCodecContext *avctx)
 AV_WL32(ctx->tex_data + 4 * pos, prev);
 pos++;
 } else {
+if (bytestream2_get_bytes_left(gbc) < 1)
+return AVERROR_INVALIDDATA;
 if (state == 0) {
 value = bytestream2_get_le32(gbc);
 state = 16;

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


[FFmpeg-cvslog] mpegdec: fix redundant dummy frames issue of interlaced clips

2017-10-03 Thread Zhong Li
ffmpeg | branch: master | Zhong Li  | Sat Sep 30 11:22:57 
2017 +0800| [fd7cb86468cc63b5bda203d74964584281318cda] | committer: Michael 
Niedermayer

mpegdec: fix redundant dummy frames issue of interlaced clips

It is to fix https://trac.ffmpeg.org/ticket/6677. Actucally it is a
regression of commit 99e07a4453732058df90885f80b3db3b4f37cb3c which
always inserts a dummy frame when decode the first key field picture.

Signed-off-by: Zhong Li 
Signed-off-by: Michael Niedermayer 

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

 libavcodec/mpegvideo.c | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 82b94253ae..c4089972f0 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1283,8 +1283,7 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext 
*avctx)
 s->pict_type, s->droppable);
 
 if ((!s->last_picture_ptr || !s->last_picture_ptr->f->buf[0]) &&
-(s->pict_type != AV_PICTURE_TYPE_I ||
- s->picture_structure != PICT_FRAME)) {
+(s->pict_type != AV_PICTURE_TYPE_I)) {
 int h_chroma_shift, v_chroma_shift;
 av_pix_fmt_get_chroma_sub_sample(s->avctx->pix_fmt,
  &h_chroma_shift, &v_chroma_shift);
@@ -1294,9 +1293,6 @@ int ff_mpv_frame_start(MpegEncContext *s, AVCodecContext 
*avctx)
 else if (s->pict_type != AV_PICTURE_TYPE_I)
 av_log(avctx, AV_LOG_ERROR,
"warning: first frame is no keyframe\n");
-else if (s->picture_structure != PICT_FRAME)
-av_log(avctx, AV_LOG_DEBUG,
-   "allocate dummy last picture for field based first 
keyframe\n");
 
 /* Allocate a dummy frame */
 i = ff_find_unused_picture(s->avctx, s->picture, 0);

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


[FFmpeg-cvslog] avcodec/truemotion2: Fix integer overflows in tm2_high_chroma()

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Sat 
Sep 30 18:54:06 2017 +0200| [44874b4f5ec2c605c70393573b9d85540ebc2d81] | 
committer: Michael Niedermayer

avcodec/truemotion2: Fix integer overflows in tm2_high_chroma()

Fixes: runtime error: signed integer overflow: -1408475220 + -1408475220 cannot 
be represented in type 'int'
Fixes: 3336/clusterfuzz-testcase-minimized-5656839179993088

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index a463a925fd..f077f0e4bd 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -465,7 +465,7 @@ static inline void tm2_apply_deltas(TM2Context *ctx, int* 
Y, int stride, int *de
 }
 }
 
-static inline void tm2_high_chroma(int *data, int stride, int *last, int *CD, 
int *deltas)
+static inline void tm2_high_chroma(int *data, int stride, int *last, unsigned 
*CD, int *deltas)
 {
 int i, j;
 for (j = 0; j < 2; j++) {

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


[FFmpeg-cvslog] avcodec/aacdec_template: Clear tns present flag on error

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Sat 
Sep 30 18:54:05 2017 +0200| [dcf9bae4a93f54cb5767bc97db4a809efd396f8b] | 
committer: Michael Niedermayer

avcodec/aacdec_template: Clear tns present flag on error

Fixes: 3444/clusterfuzz-testcase-minimized-6270352105668608

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

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

 libavcodec/aacdec_template.c | 44 
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
index 3558f1f550..082cc908d2 100644
--- a/libavcodec/aacdec_template.c
+++ b/libavcodec/aacdec_template.c
@@ -1999,16 +1999,17 @@ static int decode_ics(AACContext *ac, 
SingleChannelElement *sce,
 global_gain = get_bits(gb, 8);
 
 if (!common_window && !scale_flag) {
-if (decode_ics_info(ac, ics, gb) < 0)
-return AVERROR_INVALIDDATA;
+ret = decode_ics_info(ac, ics, gb);
+if (ret < 0)
+goto fail;
 }
 
 if ((ret = decode_band_types(ac, sce->band_type,
  sce->band_type_run_end, gb, ics)) < 0)
-return ret;
+goto fail;
 if ((ret = decode_scalefactors(ac, sce->sf, gb, global_gain, ics,
   sce->band_type, sce->band_type_run_end)) < 0)
-return ret;
+goto fail;
 
 pulse_present = 0;
 if (!scale_flag) {
@@ -2016,37 +2017,48 @@ static int decode_ics(AACContext *ac, 
SingleChannelElement *sce,
 if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
 av_log(ac->avctx, AV_LOG_ERROR,
"Pulse tool not allowed in eight short sequence.\n");
-return AVERROR_INVALIDDATA;
+ret = AVERROR_INVALIDDATA;
+goto fail;
 }
 if (decode_pulses(&pulse, gb, ics->swb_offset, ics->num_swb)) {
 av_log(ac->avctx, AV_LOG_ERROR,
"Pulse data corrupt or invalid.\n");
-return AVERROR_INVALIDDATA;
+ret = AVERROR_INVALIDDATA;
+goto fail;
 }
 }
 tns->present = get_bits1(gb);
-if (tns->present && !er_syntax)
-if (decode_tns(ac, tns, gb, ics) < 0)
-return AVERROR_INVALIDDATA;
+if (tns->present && !er_syntax) {
+ret = decode_tns(ac, tns, gb, ics);
+if (ret < 0)
+goto fail;
+}
 if (!eld_syntax && get_bits1(gb)) {
 avpriv_request_sample(ac->avctx, "SSR");
-return AVERROR_PATCHWELCOME;
+ret = AVERROR_PATCHWELCOME;
+goto fail;
 }
 // I see no textual basis in the spec for this occurring after SSR gain
 // control, but this is what both reference and real implmentations do
-if (tns->present && er_syntax)
-if (decode_tns(ac, tns, gb, ics) < 0)
-return AVERROR_INVALIDDATA;
+if (tns->present && er_syntax) {
+ret = decode_tns(ac, tns, gb, ics);
+if (ret < 0)
+goto fail;
+}
 }
 
-if (decode_spectrum_and_dequant(ac, out, gb, sce->sf, pulse_present,
-&pulse, ics, sce->band_type) < 0)
-return AVERROR_INVALIDDATA;
+ret = decode_spectrum_and_dequant(ac, out, gb, sce->sf, pulse_present,
+&pulse, ics, sce->band_type);
+if (ret < 0)
+goto fail;
 
 if (ac->oc[1].m4ac.object_type == AOT_AAC_MAIN && !common_window)
 apply_prediction(ac, sce);
 
 return 0;
+fail:
+tns->present = 0;
+return ret;
 }
 
 /**

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


[FFmpeg-cvslog] fate: Use bitexact optimizations in the svq3-2 test

2017-10-03 Thread Diego Biurrun
ffmpeg | branch: master | Diego Biurrun  | Sat Feb 25 
17:19:48 2017 +0100| [da8093f712d625db7ce4a2526fb52994e01921ec] | committer: 
Diego Biurrun

fate: Use bitexact optimizations in the svq3-2 test

This fixes the test with mmxext disabled because the current reference
frame hashes correspond to the non-bitexact mmxext optimizations.

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

 tests/fate/qt.mak |  2 +-
 tests/ref/fate/svq3-2 | 18 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/tests/fate/qt.mak b/tests/fate/qt.mak
index 761db8d234..b51168fbea 100644
--- a/tests/fate/qt.mak
+++ b/tests/fate/qt.mak
@@ -53,7 +53,7 @@ FATE_SVQ3 += fate-svq3-1
 fate-svq3-1: CMD = framecrc -i 
$(TARGET_SAMPLES)/svq3/Vertical400kbit.sorenson3.mov -t 6 -an
 
 FATE_SVQ3 += fate-svq3-2
-fate-svq3-2: CMD = framecrc -i 
$(TARGET_SAMPLES)/svq3/svq3_decoding_regression.mov -an
+fate-svq3-2: CMD = framecrc -flags +bitexact -i 
$(TARGET_SAMPLES)/svq3/svq3_decoding_regression.mov -an
 
 FATE_SAMPLES_AVCONV-$(call ALLYES, MOV_DEMUXER SVQ3_DECODER ZLIB) += 
$(FATE_SVQ3)
 fate-svq3: $(FATE_SVQ3)
diff --git a/tests/ref/fate/svq3-2 b/tests/ref/fate/svq3-2
index 7e69b31b01..575e472a18 100644
--- a/tests/ref/fate/svq3-2
+++ b/tests/ref/fate/svq3-2
@@ -1,20 +1,20 @@
 #tb 0: 1/19200
 0, -2, -2,0,   185280, 0x061c0d85
 0, -19200, -19200,0,   185280, 0x427ef9a7
-0, -18400, -18400,0,   185280, 0x8f495d37
+0, -18400, -18400,0,   185280, 0x64c74d6a
 0, -17600, -17600,0,   185280, 0x5bfd0e5b
-0, -16800, -16800,0,   185280, 0x60d12d25
+0, -16800, -16800,0,   185280, 0x9da221c6
 0, -16000, -16000,0,   185280, 0x25aaa51b
-0, -15200, -15200,0,   185280, 0x9cf58bf0
+0, -15200, -15200,0,   185280, 0x26848298
 0, -14400, -14400,0,   185280, 0xd9bd03ea
-0, -13600, -13600,0,   185280, 0xd18be732
+0, -13600, -13600,0,   185280, 0xe1a7e39f
 0, -12800, -12800,0,   185280, 0x92763708
-0, -12000, -12000,0,   185280, 0x94b5784a
+0, -12000, -12000,0,   185280, 0x76137106
 0, -11200, -11200,0,   185280, 0x32b184c9
-0, -10400, -10400,0,   185280, 0xe316fec3
+0, -10400, -10400,0,   185280, 0xe5d6ec11
 0,  -9600,  -9600,0,   185280, 0x6344ec88
-0,  -8800,  -8800,0,   185280, 0xe0aa6de4
+0,  -8800,  -8800,0,   185280, 0xa8875cb9
 0,  -8000,  -8000,0,   185280, 0x6cfc8687
-0,  -7200,  -7200,0,   185280, 0x26ddc189
+0,  -7200,  -7200,0,   185280, 0xcbc5bb85
 0,  -6400,  -6400,0,   185280, 0x5a0c1b38
-0,  -5600,  -5600,0,   185280, 0x79a88cb9
+0,  -5600,  -5600,0,   185280, 0x887a7fb2

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


[FFmpeg-cvslog] Merge commit 'da8093f712d625db7ce4a2526fb52994e01921ec'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:57:54 
2017 -0300| [93d27e022fb1c0e74a34f9b2567e4dd5c2002297] | committer: James Almer

Merge commit 'da8093f712d625db7ce4a2526fb52994e01921ec'

* commit 'da8093f712d625db7ce4a2526fb52994e01921ec':
  fate: Use bitexact optimizations in the svq3-2 test

This commit is a noop, see b591329c3afe445c45eaecadd5fe3b80a837ee2f

Merged-by: James Almer 

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



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


[FFmpeg-cvslog] Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:35:17 
2017 -0300| [5678b2a82074e4926ce0b73dc4e1190c8dfcd35d] | committer: James Almer

Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'

* commit '984736dd9e5b50987a5910e22495304e4a6d975c':
  lavc: make sure not to return EAGAIN from codecs

Merged-by: James Almer 

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

 libavcodec/aacdec.c | 6 +++---
 libavcodec/qsv.c| 8 +---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index f3656c056a..fe50871476 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -458,7 +458,7 @@ static int read_audio_mux_element(struct LATMContext 
*latmctx,
 } else if (!latmctx->aac_ctx.avctx->extradata) {
 av_log(latmctx->aac_ctx.avctx, AV_LOG_DEBUG,
"no decoder config found\n");
-return AVERROR(EAGAIN);
+return 1;
 }
 if (latmctx->audio_mux_version_A == 0) {
 int mux_slot_length_bytes = read_payload_length_info(latmctx, gb);
@@ -495,8 +495,8 @@ static int latm_decode_frame(AVCodecContext *avctx, void 
*out,
 if (muxlength > avpkt->size)
 return AVERROR_INVALIDDATA;
 
-if ((err = read_audio_mux_element(latmctx, &gb)) < 0)
-return err;
+if ((err = read_audio_mux_element(latmctx, &gb)))
+return (err < 0) ? err : avpkt->size;
 
 if (!latmctx->initialized) {
 if (!avctx->extradata) {
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index b9e2cd990d..56ca9df262 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -94,15 +94,17 @@ static const struct {
 { MFX_ERR_LOCK_MEMORY,  AVERROR(EIO),"failed to lock the 
memory block"  },
 { MFX_ERR_NOT_INITIALIZED,  AVERROR_BUG, "not initialized" 
 },
 { MFX_ERR_NOT_FOUND,AVERROR(ENOSYS), "specified object was 
not found"   },
-{ MFX_ERR_MORE_DATA,AVERROR(EAGAIN), "expect more data at 
input"},
-{ MFX_ERR_MORE_SURFACE, AVERROR(EAGAIN), "expect more surface 
at output"},
+/* the following 3 errors should always be handled explicitly, so those 
"mappings"
+ * are for completeness only */
+{ MFX_ERR_MORE_DATA,AVERROR_UNKNOWN, "expect more data at 
input"},
+{ MFX_ERR_MORE_SURFACE, AVERROR_UNKNOWN, "expect more surface 
at output"},
+{ MFX_ERR_MORE_BITSTREAM,   AVERROR_UNKNOWN, "expect more 
bitstream at output"  },
 { MFX_ERR_ABORTED,  AVERROR_UNKNOWN, "operation aborted"   
 },
 { MFX_ERR_DEVICE_LOST,  AVERROR(EIO),"device lost" 
 },
 { MFX_ERR_INCOMPATIBLE_VIDEO_PARAM, AVERROR(EINVAL), "incompatible video 
parameters"},
 { MFX_ERR_INVALID_VIDEO_PARAM,  AVERROR(EINVAL), "invalid video 
parameters" },
 { MFX_ERR_UNDEFINED_BEHAVIOR,   AVERROR_BUG, "undefined behavior"  
 },
 { MFX_ERR_DEVICE_FAILED,AVERROR(EIO),"device failed"   
 },
-{ MFX_ERR_MORE_BITSTREAM,   AVERROR(EAGAIN), "expect more 
bitstream at output"  },
 { MFX_ERR_INCOMPATIBLE_AUDIO_PARAM, AVERROR(EINVAL), "incompatible audio 
parameters"},
 { MFX_ERR_INVALID_AUDIO_PARAM,  AVERROR(EINVAL), "invalid audio 
parameters" },
 


==


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


[FFmpeg-cvslog] lavc: make sure not to return EAGAIN from codecs

2017-10-03 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov  | Tue Feb 14 
20:51:06 2017 +0100| [984736dd9e5b50987a5910e22495304e4a6d975c] | committer: 
Anton Khirnov

lavc: make sure not to return EAGAIN from codecs

This error is treated specially by the API.

CC: libav-sta...@libav.org

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

 libavcodec/aacdec.c | 6 +++---
 libavcodec/nvenc.c  | 8 +---
 libavcodec/qsv.c| 8 +---
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 22ebcdc570..4ba346ac48 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -3228,7 +3228,7 @@ static int read_audio_mux_element(struct LATMContext 
*latmctx,
 } else if (!latmctx->aac_ctx.avctx->extradata) {
 av_log(latmctx->aac_ctx.avctx, AV_LOG_DEBUG,
"no decoder config found\n");
-return AVERROR(EAGAIN);
+return 1;
 }
 if (latmctx->audio_mux_version_A == 0) {
 int mux_slot_length_bytes = read_payload_length_info(latmctx, gb);
@@ -3265,8 +3265,8 @@ static int latm_decode_frame(AVCodecContext *avctx, void 
*out,
 if (muxlength > avpkt->size)
 return AVERROR_INVALIDDATA;
 
-if ((err = read_audio_mux_element(latmctx, &gb)) < 0)
-return err;
+if ((err = read_audio_mux_element(latmctx, &gb)))
+return (err < 0) ? err : avpkt->size;
 
 if (!latmctx->initialized) {
 if (!avctx->extradata) {
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 30da83a08c..ffa8a0a2d8 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -123,12 +123,14 @@ static const struct {
 { NV_ENC_ERR_OUT_OF_MEMORY,AVERROR(ENOMEM),  "out of memory"   
 },
 { NV_ENC_ERR_ENCODER_NOT_INITIALIZED,  AVERROR(EINVAL),  "encoder not 
initialized"  },
 { NV_ENC_ERR_UNSUPPORTED_PARAM,AVERROR(ENOSYS),  "unsupported 
param"},
-{ NV_ENC_ERR_LOCK_BUSY,AVERROR(EAGAIN),  "lock busy"   
 },
+{ NV_ENC_ERR_LOCK_BUSY,AVERROR(EBUSY),   "lock busy"   
 },
 { NV_ENC_ERR_NOT_ENOUGH_BUFFER,AVERROR(ENOBUFS), "not enough 
buffer"},
 { NV_ENC_ERR_INVALID_VERSION,  AVERROR(EINVAL),  "invalid version" 
 },
 { NV_ENC_ERR_MAP_FAILED,   AVERROR(EIO), "map failed"  
 },
-{ NV_ENC_ERR_NEED_MORE_INPUT,  AVERROR(EAGAIN),  "need more input" 
 },
-{ NV_ENC_ERR_ENCODER_BUSY, AVERROR(EAGAIN),  "encoder busy"
 },
+/* this is error should always be treated specially, so this "mapping"
+ * is for completeness only */
+{ NV_ENC_ERR_NEED_MORE_INPUT,  AVERROR_UNKNOWN,  "need more input" 
 },
+{ NV_ENC_ERR_ENCODER_BUSY, AVERROR(EBUSY),   "encoder busy"
 },
 { NV_ENC_ERR_EVENT_NOT_REGISTERD,  AVERROR(EBADF),   "event not 
registered" },
 { NV_ENC_ERR_GENERIC,  AVERROR_UNKNOWN,  "generic error"   
 },
 { NV_ENC_ERR_INCOMPATIBLE_CLIENT_KEY,  AVERROR(EINVAL),  "incompatible 
client key"  },
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index ab48bb0dfb..735e1536f8 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -94,15 +94,17 @@ static const struct {
 { MFX_ERR_LOCK_MEMORY,  AVERROR(EIO),"failed to lock the 
memory block"  },
 { MFX_ERR_NOT_INITIALIZED,  AVERROR_BUG, "not initialized" 
 },
 { MFX_ERR_NOT_FOUND,AVERROR(ENOSYS), "specified object was 
not found"   },
-{ MFX_ERR_MORE_DATA,AVERROR(EAGAIN), "expect more data at 
input"},
-{ MFX_ERR_MORE_SURFACE, AVERROR(EAGAIN), "expect more surface 
at output"},
+/* the following 3 errors should always be handled explicitly, so those 
"mappings"
+ * are for completeness only */
+{ MFX_ERR_MORE_DATA,AVERROR_UNKNOWN, "expect more data at 
input"},
+{ MFX_ERR_MORE_SURFACE, AVERROR_UNKNOWN, "expect more surface 
at output"},
+{ MFX_ERR_MORE_BITSTREAM,   AVERROR_UNKNOWN, "expect more 
bitstream at output"  },
 { MFX_ERR_ABORTED,  AVERROR_UNKNOWN, "operation aborted"   
 },
 { MFX_ERR_DEVICE_LOST,  AVERROR(EIO),"device lost" 
 },
 { MFX_ERR_INCOMPATIBLE_VIDEO_PARAM, AVERROR(EINVAL), "incompatible video 
parameters"},
 { MFX_ERR_INVALID_VIDEO_PARAM,  AVERROR(EINVAL), "invalid video 
parameters" },
 { MFX_ERR_UNDEFINED_BEHAVIOR,   AVERROR_BUG, "undefined behavior"  
 },
 { MFX_ERR_DEVICE_FAILED,AVERROR(EIO),"device failed"   
 },
-{ MFX_ERR_MORE_BITSTREAM,   AVERROR(EAGAIN), "expect more 
bitstream at output"

[FFmpeg-cvslog] apetag: fix flag value to signal footer presence

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Fri Feb 10 20:24:26 
2017 -0300| [3f258f5ee05c9da05f61447b802ae3e39629f44b] | committer: Anton 
Khirnov

apetag: fix flag value to signal footer presence

According to the spec[1], a value of 0 means the footer is present and a value
of 1 means it's absent, the exact opposite of header presence flag where 1
means present and 0 absent.
The reason for this is compatibility with APEv1 tags, where there's no header,
footer presence was mandatory for all files, and the flags field was a zeroed
reserved field.

[1] http://wiki.hydrogenaud.io/index.php?title=Ape_Tags_Flags

Signed-off-by: James Almer 

CC: libav-sta...@libav.org

Signed-off-by: Anton Khirnov 

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

 libavformat/apetag.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavformat/apetag.c b/libavformat/apetag.c
index 05430dd9bc..93a4fb3430 100644
--- a/libavformat/apetag.c
+++ b/libavformat/apetag.c
@@ -32,7 +32,7 @@
 #define APE_TAG_VERSION   2000
 #define APE_TAG_FOOTER_BYTES  32
 #define APE_TAG_FLAG_CONTAINS_HEADER  (1 << 31)
-#define APE_TAG_FLAG_CONTAINS_FOOTER  (1 << 30)
+#define APE_TAG_FLAG_LACKS_FOOTER (1 << 30)
 #define APE_TAG_FLAG_IS_HEADER(1 << 29)
 #define APE_TAG_FLAG_IS_BINARY(1 << 1)
 
@@ -194,8 +194,7 @@ int ff_ape_write_tag(AVFormatContext *s)
 avio_wl32(s->pb, 0);// reserve space for tag count
 
 // flags
-avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | 
APE_TAG_FLAG_CONTAINS_FOOTER |
- APE_TAG_FLAG_IS_HEADER);
+avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | APE_TAG_FLAG_IS_HEADER);
 ffio_fill(s->pb, 0, 8); // reserved
 
 while ((e = av_dict_get(s->metadata, "", e, AV_DICT_IGNORE_SUFFIX))) {
@@ -217,7 +216,7 @@ int ff_ape_write_tag(AVFormatContext *s)
 avio_wl32(s->pb, count);// tag count
 
 // flags
-avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER | 
APE_TAG_FLAG_CONTAINS_FOOTER);
+avio_wl32(s->pb, APE_TAG_FLAG_CONTAINS_HEADER);
 ffio_fill(s->pb, 0, 8); // reserved
 
 // update values in the header

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


[FFmpeg-cvslog] Merge commit '4cc0227040adb9efc63be6a5765e3214f5c6f662'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:31:08 
2017 -0300| [9266cc54aa5c882c16d994ce1b0f6043ba9c2a87] | committer: James Almer

Merge commit '4cc0227040adb9efc63be6a5765e3214f5c6f662'

* commit '4cc0227040adb9efc63be6a5765e3214f5c6f662':
  apetag: account for header size if present when returning the start position
  apetag: fix flag value to signal footer presence

This commit is a noop, see
e8d6fef3161f35878f8e0abf9d27d2c45a5d40b6
84d874a680ff647bc84de44967b638f246a8b832

Merged-by: James Almer 

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



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


[FFmpeg-cvslog] apetag: account for header size if present when returning the start position

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Fri Feb 10 20:24:27 
2017 -0300| [4cc0227040adb9efc63be6a5765e3214f5c6f662] | committer: Anton 
Khirnov

apetag: account for header size if present when returning the start position

The size field in the header/footer accounts for the entire APE tag
structure except the 32 bytes from header, for compatibility with
APEv1.

Signed-off-by: James Almer 

CC: libav-sta...@libav.org

Signed-off-by: Anton Khirnov 

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

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

diff --git a/libavformat/apetag.c b/libavformat/apetag.c
index 93a4fb3430..a7cf8530f1 100644
--- a/libavformat/apetag.c
+++ b/libavformat/apetag.c
@@ -31,6 +31,7 @@
 
 #define APE_TAG_VERSION   2000
 #define APE_TAG_FOOTER_BYTES  32
+#define APE_TAG_HEADER_BYTES  32
 #define APE_TAG_FLAG_CONTAINS_HEADER  (1 << 31)
 #define APE_TAG_FLAG_LACKS_FOOTER (1 << 30)
 #define APE_TAG_FLAG_IS_HEADER(1 << 29)
@@ -154,7 +155,6 @@ int64_t ff_ape_parse_tag(AVFormatContext *s)
 av_log(s, AV_LOG_ERROR, "Invalid tag size %"PRIu32".\n", tag_bytes);
 return 0;
 }
-tag_start = file_size - tag_bytes - APE_TAG_FOOTER_BYTES;
 
 fields = avio_rl32(pb);/* number of fields */
 if (fields > 65536) {
@@ -170,6 +170,11 @@ int64_t ff_ape_parse_tag(AVFormatContext *s)
 
 avio_seek(pb, file_size - tag_bytes, SEEK_SET);
 
+if (val & APE_TAG_FLAG_CONTAINS_HEADER)
+tag_bytes += APE_TAG_HEADER_BYTES;
+
+tag_start = file_size - tag_bytes;
+
 for (i=0; ihttp://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog


[FFmpeg-cvslog] Merge commit 'b2788fe9347c02b1355574f3d28d60bfe1250ea7'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:28:51 
2017 -0300| [cb222d73225adae76893f58c8283b32a9943094f] | committer: James Almer

Merge commit 'b2788fe9347c02b1355574f3d28d60bfe1250ea7'

* commit 'b2788fe9347c02b1355574f3d28d60bfe1250ea7':
  svq3: fix the slice size check

Merged-by: James Almer 

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

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

diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 5cb5bd45b7..a937b2f951 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1036,17 +1036,16 @@ static int svq3_decode_slice_header(AVCodecContext 
*avctx)
 slice_bits   = slice_length * 8;
 slice_bytes  = slice_length + length - 1;
 
-if (8LL*slice_bytes > get_bits_left(&s->gb)) {
-av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
-return -1;
-}
-
 skip_bits(&s->gb, 8);
 
 av_fast_malloc(&s->slice_buf, &s->slice_size, slice_bytes + 
AV_INPUT_BUFFER_PADDING_SIZE);
 if (!s->slice_buf)
 return AVERROR(ENOMEM);
 
+if (slice_bytes * 8LL > get_bits_left(&s->gb)) {
+av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
+return AVERROR_INVALIDDATA;
+}
 memcpy(s->slice_buf, s->gb.buffer + s->gb.index / 8, slice_bytes);
 
 init_get_bits(&s->gb_slice, s->slice_buf, slice_bits);


==

diff --cc libavcodec/svq3.c
index 5cb5bd45b7,667d3906a1..a937b2f951
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@@ -1036,32 -1031,30 +1036,31 @@@ static int svq3_decode_slice_header(AVC
  slice_bits   = slice_length * 8;
  slice_bytes  = slice_length + length - 1;
  
- if (8LL*slice_bytes > get_bits_left(&s->gb)) {
- av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
- return -1;
- }
- 
 -bitstream_skip(&s->bc, 8);
 +skip_bits(&s->gb, 8);
  
  av_fast_malloc(&s->slice_buf, &s->slice_size, slice_bytes + 
AV_INPUT_BUFFER_PADDING_SIZE);
  if (!s->slice_buf)
  return AVERROR(ENOMEM);
  
 -if (slice_bytes * 8 > bitstream_bits_left(&s->bc)) {
++if (slice_bytes * 8LL > get_bits_left(&s->gb)) {
+ av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
+ return AVERROR_INVALIDDATA;
+ }
 -memcpy(s->slice_buf, s->bc.buffer + bitstream_tell(&s->bc) / 8, 
slice_bytes);
 +memcpy(s->slice_buf, s->gb.buffer + s->gb.index / 8, slice_bytes);
 +
 +init_get_bits(&s->gb_slice, s->slice_buf, slice_bits);
  
  if (s->watermark_key) {
 -uint32_t header = AV_RL32(&s->bc_slice.buffer[1]);
 -AV_WL32(&s->bc_slice.buffer[1], header ^ s->watermark_key);
 +uint32_t header = AV_RL32(&s->gb_slice.buffer[1]);
 +AV_WL32(&s->gb_slice.buffer[1], header ^ s->watermark_key);
  }
  if (length > 0) {
 -memcpy(s->slice_buf, &s->slice_buf[slice_length], length - 1);
 +memmove(s->slice_buf, &s->slice_buf[slice_length], length - 1);
  }
 -bitstream_skip(&s->bc, slice_bytes * 8);
 -bitstream_init(&s->bc_slice, s->slice_buf, slice_bits);
 +skip_bits_long(&s->gb, slice_bytes * 8);
  }
  
 -if ((slice_id = get_interleaved_ue_golomb(&s->bc_slice)) >= 3) {
 +if ((slice_id = get_interleaved_ue_golomb(&s->gb_slice)) >= 3) {
  av_log(s->avctx, AV_LOG_ERROR, "illegal slice type %u \n", slice_id);
  return -1;
  }

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


[FFmpeg-cvslog] svq3: fix the slice size check

2017-10-03 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov  | Wed Feb  1 
11:50:38 2017 +0100| [b2788fe9347c02b1355574f3d28d60bfe1250ea7] | committer: 
Anton Khirnov

svq3: fix the slice size check

Currently it incorrectly compares bits with bytes.

Also, move the check right before where it's relevant, so that the
correct number of remaining bits is used.

CC: libav-sta...@libav.org

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

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

diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 20c8f89e76..667d3906a1 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1031,17 +1031,16 @@ static int svq3_decode_slice_header(AVCodecContext 
*avctx)
 slice_bits   = slice_length * 8;
 slice_bytes  = slice_length + length - 1;
 
-if (slice_bytes > bitstream_bits_left(&s->bc)) {
-av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
-return -1;
-}
-
 bitstream_skip(&s->bc, 8);
 
 av_fast_malloc(&s->slice_buf, &s->slice_size, slice_bytes + 
AV_INPUT_BUFFER_PADDING_SIZE);
 if (!s->slice_buf)
 return AVERROR(ENOMEM);
 
+if (slice_bytes * 8 > bitstream_bits_left(&s->bc)) {
+av_log(avctx, AV_LOG_ERROR, "slice after bitstream end\n");
+return AVERROR_INVALIDDATA;
+}
 memcpy(s->slice_buf, s->bc.buffer + bitstream_tell(&s->bc) / 8, 
slice_bytes);
 
 if (s->watermark_key) {

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


Re: [FFmpeg-cvslog] Merge commit '248dc5c1646dcdd96fe79761105c4ae889e711fd'

2017-10-03 Thread Carl Eugen Hoyos
2017-10-04 1:13 GMT+02:00 James Almer :
> ffmpeg | branch: master | James Almer  | Tue Oct  3 
> 20:09:46 2017 -0300| [73c85d3af2420baeee9a8f0429b34012096606ea] | committer: 
> James Almer
>
> Merge commit '248dc5c1646dcdd96fe79761105c4ae889e711fd'
>
> * commit '248dc5c1646dcdd96fe79761105c4ae889e711fd':
>   h264dec: fix dropped initial SEI recovery point
>
> Merged-by: James Almer 
>
>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=73c85d3af2420baeee9a8f0429b34012096606ea
> ---
>
>  libavcodec/h264dec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
> index 49ebeca6d8..f29c3f9048 100644
> --- a/libavcodec/h264dec.c
> +++ b/libavcodec/h264dec.c
> @@ -499,7 +499,6 @@ void ff_h264_flush_change(H264Context *h)
>  ff_h264_unref_picture(h, &h->last_pic_for_ec);
>
>  h->first_field = 0;
> -ff_h264_sei_uninit(&h->sei);
>  h->recovery_frame = -1;
>  h->frame_recovered = 0;
>  h->current_slice = 0;
> @@ -515,6 +514,7 @@ static void flush_dpb(AVCodecContext *avctx)
>  memset(h->delayed_pic, 0, sizeof(h->delayed_pic));
>
>  ff_h264_flush_change(h);
> +ff_h264_sei_uninit(&h->sei);

Do you know what this patch is supposed to fix?

I ask because none of the samples on the handbrake
bug tracker showed an issue with FFmpeg afair.

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


[FFmpeg-cvslog] doc: Add mailing list FAQ

2017-10-03 Thread Lou Logan
ffmpeg | branch: master | Lou Logan  | Wed Sep 27 14:35:12 2017 
-0800| [d17a00379e7ab5601ffc7da0a53b0c9f9d48a567] | committer: Lou Logan

doc: Add mailing list FAQ

Signed-off-by: Lou Logan 
Reviewed-by: Kieran O Leary 
Reviewed-by: Carl Eugen Hoyos 

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

 doc/Makefile  |   1 +
 doc/mailing-list-faq.texi | 366 ++
 2 files changed, 367 insertions(+)

diff --git a/doc/Makefile b/doc/Makefile
index bcde309878..fa4996b5a3 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -24,6 +24,7 @@ HTMLPAGES   = $(AVPROGS-yes:%=doc/%.html) 
$(AVPROGS-yes:%=doc/%-all.html) $(COMP
   doc/fate.html \
   doc/general.html  \
   doc/git-howto.html\
+  doc/mailing-list-faq.html \
   doc/nut.html  \
   doc/platform.html \
 
diff --git a/doc/mailing-list-faq.texi b/doc/mailing-list-faq.texi
new file mode 100644
index 00..fe2171e42e
--- /dev/null
+++ b/doc/mailing-list-faq.texi
@@ -0,0 +1,366 @@
+\input texinfo @c -*- texinfo -*-
+@documentencoding UTF-8
+
+@settitle FFmpeg Mailing List FAQ
+@titlepage
+@center @titlefont{FFmpeg Mailing List FAQ}
+@end titlepage
+
+@top
+
+@contents
+
+@chapter General Questions
+
+@section What is a mailing list?
+
+A mailing list is not much different than emailing someone, but the
+main difference is that your message is received by everyone who
+subscribes to the list. It is somewhat like a forum but in email form.
+
+See the @url{https://lists.ffmpeg.org/pipermail/ffmpeg-user/, ffmpeg-user 
archives}
+for examples.
+
+@section What type of questions can I ask?
+
+@itemize
+@item
+@url{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-user/, ffmpeg-user}:
+For questions involving unscripted usage or compilation of the FFmpeg
+command-line tools (@command{ffmpeg}, @command{ffprobe}, @command{ffplay},
+@command{ffserver}).
+
+@item
+@url{https://lists.ffmpeg.org/mailman/listinfo/libav-user/, libav-user}:
+For questions involving the FFmpeg libav* libraries (libavcodec,
+libavformat, libavfilter, etc).
+
+@item
+@url{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-devel/, ffmpeg-devel}:
+For discussions involving the development of FFmpeg and for submitting
+patches. User questions should be asked at ffmpeg-user or libav-user.
+@end itemize
+
+To report a bug see @url{https://ffmpeg.org/bugreports.html}.
+
+We cannot provide help for scripts and/or third-party tools.
+
+@anchor{How do I ask a question or send a message to a mailing list?}
+@section How do I ask a question or send a message to a mailing list?
+
+All you have to do is send an email:
+
+@itemize
+@item
+Email @email{ffmpeg-user@@ffmpeg.org} to send a message to the
+ffmpeg-user mailing list.
+
+@item
+Email @email{libav-user@@ffmpeg.org} to send a message to the
+libav-user mailing list.
+@end itemize
+
+If you are not subscribed to the mailing list then your question must be
+manually approved. Approval may take several days, but the wait is
+usually less. If you want the message to be sent with no delay then you
+must subscribe first. See @ref{How do I subscribe?}
+
+Please do not send a message, subscribe, and re-send the message: this
+results in duplicates, causes more work for the admins, and may lower
+your chance at getting an answer. However, you may do so if you first
+@ref{How do I delete my message in the moderation queue?, delete your original 
message from the moderation queue}.
+
+@chapter Subscribing / Unsubscribing
+
+@section What does subscribing do?
+
+Subscribing allows two things:
+
+@itemize
+@item
+Your messages will show up in the mailing list without waiting in the
+moderation queue and needing to be manually approved by a mailing list
+admin.
+
+@item
+You will receive all messages to the mailing list including replies to
+your messages. Non-subscribed users do not receive any messages.
+@end itemize
+
+@section Do I need to subscribe?
+
+No. You can still send a message to the mailing list without
+subscribing. See @ref{How do I ask a question or send a message to a mailing 
list?}
+
+However, your message will need to be manually approved by a mailing
+list admin, and you will not receive any mailing list messages or
+replies.
+
+You can ask to be CCd in your message, but replying users will
+sometimes forget to do so.
+
+You may also view and reply to messages via the @ref{Where are the archives?, 
archives}.
+
+@anchor{How do I subscribe?}
+@section How do I subscribe?
+
+Email @email{ffmpeg-user-request@@ffmpeg.org} with the subject
+@emph{subscribe}.
+
+Or visit the @url{https://lists.ffmpeg.org/mailman/listinfo/ffmpeg-user/, 
ffmpeg-

[FFmpeg-cvslog] Merge commit 'cd7a2e1502f174c725c0de82711d2c7649057574'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:12:15 
2017 -0300| [1902bbbe722504dac5966df3d417a1ed8029aea1] | committer: James Almer

Merge commit 'cd7a2e1502f174c725c0de82711d2c7649057574'

* commit 'cd7a2e1502f174c725c0de82711d2c7649057574':
  asfdec: fix reading files larger than 2GB

Merged-by: James Almer 

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

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

diff --git a/libavformat/asfdec_o.c b/libavformat/asfdec_o.c
index 86ea962849..818d6f3573 100644
--- a/libavformat/asfdec_o.c
+++ b/libavformat/asfdec_o.c
@@ -976,7 +976,8 @@ static int asf_read_simple_index(AVFormatContext *s, const 
GUIDParseTable *g)
 uint64_t interval; // index entry time interval in 100 ns units, usually 
it's 1s
 uint32_t pkt_num, nb_entries;
 int32_t prev_pkt_num = -1;
-int i, ret;
+int i;
+int64_t offset;
 uint64_t size = avio_rl64(pb);
 
 // simple index objects should be ordered by stream number, this loop 
tries to find
@@ -998,10 +999,10 @@ static int asf_read_simple_index(AVFormatContext *s, 
const GUIDParseTable *g)
 nb_entries = avio_rl32(pb);
 for (i = 0; i < nb_entries; i++) {
 pkt_num = avio_rl32(pb);
-ret = avio_skip(pb, 2);
-if (ret < 0) {
+offset = avio_skip(pb, 2);
+if (offset < 0) {
 av_log(s, AV_LOG_ERROR, "Skipping failed in 
asf_read_simple_index.\n");
-return ret;
+return offset;
 }
 if (prev_pkt_num != pkt_num) {
 av_add_index_entry(st, asf->first_packet_offset + asf->packet_size 
*


==

diff --cc libavformat/asfdec_o.c
index 86ea962849,00..818d6f3573
mode 100644,00..100644
--- a/libavformat/asfdec_o.c
+++ b/libavformat/asfdec_o.c
@@@ -1,1794 -1,0 +1,1795 @@@
 +/*
 + * Microsoft Advanced Streaming Format demuxer
 + * Copyright (c) 2014 Alexandra Hájková
 + *
 + * 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/attributes.h"
 +#include "libavutil/avstring.h"
 +#include "libavutil/bswap.h"
 +#include "libavutil/common.h"
 +#include "libavutil/dict.h"
 +#include "libavutil/internal.h"
 +#include "libavutil/mathematics.h"
 +#include "libavutil/opt.h"
 +#include "libavutil/time_internal.h"
 +
 +#include "avformat.h"
 +#include "avio_internal.h"
 +#include "avlanguage.h"
 +#include "id3v2.h"
 +#include "internal.h"
 +#include "riff.h"
 +#include "asf.h"
 +#include "asfcrypt.h"
 +
 +#define ASF_BOOL  0x2
 +#define ASF_WORD  0x5
 +#define ASF_GUID  0x6
 +#define ASF_DWORD 0x3
 +#define ASF_QWORD 0x4
 +#define ASF_UNICODE   0x0
 +#define ASF_FLAG_BROADCAST0x1
 +#define ASF_BYTE_ARRAY0x1
 +#define ASF_TYPE_AUDIO0x2
 +#define ASF_TYPE_VIDEO0x1
 +#define ASF_STREAM_NUM0x7F
 +#define ASF_MAX_STREAMS   128
 +#define BMP_HEADER_SIZE   40
 +#define ASF_NUM_OF_PAYLOADS   0x3F
 +#define ASF_ERROR_CORRECTION_LENGTH_TYPE  0x60
 +#define ASF_PACKET_ERROR_CORRECTION_DATA_SIZE 0x2
 +
 +typedef struct GUIDParseTable {
 +const char *name;
 +ff_asf_guid guid;
 +int (*read_object)(AVFormatContext *, const struct GUIDParseTable *);
 +int is_subobject;
 +} GUIDParseTable;
 +
 +typedef struct ASFPacket {
 +AVPacket avpkt;
 +int64_t dts;
 +uint32_t frame_num; // ASF payloads with the same number are parts of the 
same frame
 +int flags;
 +int data_size;
 +int duration;
 +int size_left;
 +uint8_t stream_index;
 +} ASFPacket;
 +
 +typedef struct ASFStream {
 +uint8_t stream_index; // from packet header
 +int index;  // stream index in AVFormatContext, set in 
asf_read_stream_properties
 +int type;
 +int indexed; // added index entries from the Simple Index Object or not
 +int8_t span;   // for deinterleaving
 +ui

[FFmpeg-cvslog] asfdec: fix reading files larger than 2GB

2017-10-03 Thread John Stebbins
ffmpeg | branch: master | John Stebbins  | Thu Feb 23 
16:47:58 2017 -0700| [cd7a2e1502f174c725c0de82711d2c7649057574] | committer: 
John Stebbins

asfdec: fix reading files larger than 2GB

avio_skip returns file position and overflows int

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

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

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index 34730b20aa..9e1f8f6b62 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -976,7 +976,8 @@ static int asf_read_simple_index(AVFormatContext *s, const 
GUIDParseTable *g)
 uint64_t interval; // index entry time interval in 100 ns units, usually 
it's 1s
 uint32_t pkt_num, nb_entries;
 int32_t prev_pkt_num = -1;
-int i, ret;
+int i;
+int64_t offset;
 uint64_t size = avio_rl64(pb);
 
 // simple index objects should be ordered by stream number, this loop 
tries to find
@@ -998,10 +999,10 @@ static int asf_read_simple_index(AVFormatContext *s, 
const GUIDParseTable *g)
 nb_entries = avio_rl32(pb);
 for (i = 0; i < nb_entries; i++) {
 pkt_num = avio_rl32(pb);
-ret = avio_skip(pb, 2);
-if (ret < 0) {
+offset = avio_skip(pb, 2);
+if (offset < 0) {
 av_log(s, AV_LOG_ERROR, "Skipping failed in 
asf_read_simple_index.\n");
-return ret;
+return offset;
 }
 if (prev_pkt_num != pkt_num) {
 av_add_index_entry(st, asf->first_packet_offset + asf->packet_size 
*

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


[FFmpeg-cvslog] h264dec: fix dropped initial SEI recovery point

2017-10-03 Thread John Stebbins
ffmpeg | branch: master | John Stebbins  | Thu Feb 23 
14:22:56 2017 -0700| [248dc5c1646dcdd96fe79761105c4ae889e711fd] | committer: 
John Stebbins

h264dec: fix dropped initial SEI recovery point

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

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

diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 5137039188..6d7aa7b53c 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -452,7 +452,6 @@ void ff_h264_flush_change(H264Context *h)
 if (h->cur_pic_ptr)
 h->cur_pic_ptr->reference = 0;
 h->first_field = 0;
-ff_h264_sei_uninit(&h->sei);
 h->recovery_frame = -1;
 h->frame_recovered = 0;
 }
@@ -466,6 +465,7 @@ static void flush_dpb(AVCodecContext *avctx)
 memset(h->delayed_pic, 0, sizeof(h->delayed_pic));
 
 ff_h264_flush_change(h);
+ff_h264_sei_uninit(&h->sei);
 
 for (i = 0; i < H264_MAX_PICTURE_COUNT; i++)
 ff_h264_unref_picture(h, &h->DPB[i]);

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


[FFmpeg-cvslog] Merge commit '248dc5c1646dcdd96fe79761105c4ae889e711fd'

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 20:09:46 
2017 -0300| [73c85d3af2420baeee9a8f0429b34012096606ea] | committer: James Almer

Merge commit '248dc5c1646dcdd96fe79761105c4ae889e711fd'

* commit '248dc5c1646dcdd96fe79761105c4ae889e711fd':
  h264dec: fix dropped initial SEI recovery point

Merged-by: James Almer 

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

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

diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index 49ebeca6d8..f29c3f9048 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -499,7 +499,6 @@ void ff_h264_flush_change(H264Context *h)
 ff_h264_unref_picture(h, &h->last_pic_for_ec);
 
 h->first_field = 0;
-ff_h264_sei_uninit(&h->sei);
 h->recovery_frame = -1;
 h->frame_recovered = 0;
 h->current_slice = 0;
@@ -515,6 +514,7 @@ static void flush_dpb(AVCodecContext *avctx)
 memset(h->delayed_pic, 0, sizeof(h->delayed_pic));
 
 ff_h264_flush_change(h);
+ff_h264_sei_uninit(&h->sei);
 
 for (i = 0; i < H264_MAX_PICTURE_COUNT; i++)
 ff_h264_unref_picture(h, &h->DPB[i]);


==

diff --cc libavcodec/h264dec.c
index 49ebeca6d8,6d7aa7b53c..f29c3f9048
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@@ -487,23 -449,11 +487,22 @@@ void ff_h264_flush_change(H264Context *
  h->next_outputed_poc = INT_MIN;
  h->prev_interlaced_frame = 1;
  idr(h);
 -if (h->cur_pic_ptr)
 +
 +h->poc.prev_frame_num = -1;
 +if (h->cur_pic_ptr) {
  h->cur_pic_ptr->reference = 0;
 +for (j=i=0; h->delayed_pic[i]; i++)
 +if (h->delayed_pic[i] != h->cur_pic_ptr)
 +h->delayed_pic[j++] = h->delayed_pic[i];
 +h->delayed_pic[j] = NULL;
 +}
 +ff_h264_unref_picture(h, &h->last_pic_for_ec);
 +
  h->first_field = 0;
- ff_h264_sei_uninit(&h->sei);
  h->recovery_frame = -1;
  h->frame_recovered = 0;
 +h->current_slice = 0;
 +h->mmco_reset = 1;
  }
  
  /* forget old pics after a seek */

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


[FFmpeg-cvslog] libavcodec/blockdsp : add AVX version

2017-10-03 Thread Martin Vignali
ffmpeg | branch: master | Martin Vignali  | Mon Oct  
2 01:29:32 2017 +0200| [cbbec68847ed3485900e83ec231871f71bb97d0d] | committer: 
James Almer

libavcodec/blockdsp : add AVX version

Also modify the required alignment, to 32 instead of 16
for several codecs

Signed-off-by: James Almer 

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

 libavcodec/asv.h   |  2 +-
 libavcodec/bink.c  |  4 ++--
 libavcodec/dnxhdenc.h  |  2 +-
 libavcodec/eamad.c |  2 +-
 libavcodec/eatqi.c |  2 +-
 libavcodec/g2meet.c|  2 +-
 libavcodec/ituh263dec.c|  2 +-
 libavcodec/mdec.c  |  2 +-
 libavcodec/mimic.c |  2 +-
 libavcodec/mjpegdec.h  |  2 +-
 libavcodec/proresdec2.c|  6 +++---
 libavcodec/speedhq.c   |  2 +-
 libavcodec/wmv2.h  |  2 +-
 libavcodec/x86/blockdsp.asm| 14 --
 libavcodec/x86/blockdsp_init.c |  6 ++
 tests/checkasm/blockdsp.c  |  4 ++--
 16 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/libavcodec/asv.h b/libavcodec/asv.h
index e2cdc81300..a1366b6fe4 100644
--- a/libavcodec/asv.h
+++ b/libavcodec/asv.h
@@ -54,7 +54,7 @@ typedef struct ASV1Context {
 int mb_height;
 int mb_width2;
 int mb_height2;
-DECLARE_ALIGNED(16, int16_t, block)[6][64];
+DECLARE_ALIGNED(32, int16_t, block)[6][64];
 uint16_t intra_matrix[64];
 int q_intra_matrix[64];
 uint8_t *bitstream_buffer;
diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index cc55870114..346b6cda9d 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -813,7 +813,7 @@ static int binkb_decode_plane(BinkContext *c, AVFrame 
*frame, GetBitContext *gb,
 int v, col[2];
 const uint8_t *scan;
 int xoff, yoff;
-LOCAL_ALIGNED_16(int16_t, block, [64]);
+LOCAL_ALIGNED_32(int16_t, block, [64]);
 LOCAL_ALIGNED_16(int32_t, dctblock, [64]);
 int coordmap[64];
 int ybias = is_key ? -15 : 0;
@@ -976,7 +976,7 @@ static int bink_decode_plane(BinkContext *c, AVFrame 
*frame, GetBitContext *gb,
 uint8_t *dst, *prev, *ref_start, *ref_end;
 int v, col[2];
 const uint8_t *scan;
-LOCAL_ALIGNED_16(int16_t, block, [64]);
+LOCAL_ALIGNED_32(int16_t, block, [64]);
 LOCAL_ALIGNED_16(uint8_t, ublock, [64]);
 LOCAL_ALIGNED_16(int32_t, dctblock, [64]);
 int coordmap[64];
diff --git a/libavcodec/dnxhdenc.h b/libavcodec/dnxhdenc.h
index 26c3eec695..963821ac81 100644
--- a/libavcodec/dnxhdenc.h
+++ b/libavcodec/dnxhdenc.h
@@ -74,7 +74,7 @@ typedef struct DNXHDEncContext {
 unsigned min_padding;
 int intra_quant_bias;
 
-DECLARE_ALIGNED(16, int16_t, blocks)[12][64];
+DECLARE_ALIGNED(32, int16_t, blocks)[12][64];
 DECLARE_ALIGNED(16, uint8_t, edge_buf_y)[512]; // has to hold 16x16 uint16 
when depth=10
 DECLARE_ALIGNED(16, uint8_t, edge_buf_uv)[2][512]; // has to hold 16x16 
uint16_t when depth=10
 
diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c
index 753dee06c3..7f28abbafe 100644
--- a/libavcodec/eamad.c
+++ b/libavcodec/eamad.c
@@ -54,7 +54,7 @@ typedef struct MadContext {
 GetBitContext gb;
 void *bitstream_buf;
 unsigned int bitstream_buf_size;
-DECLARE_ALIGNED(16, int16_t, block)[64];
+DECLARE_ALIGNED(32, int16_t, block)[64];
 ScanTable scantable;
 uint16_t quant_matrix[64];
 int mb_x;
diff --git a/libavcodec/eatqi.c b/libavcodec/eatqi.c
index 725289448a..1a847a35da 100644
--- a/libavcodec/eatqi.c
+++ b/libavcodec/eatqi.c
@@ -51,7 +51,7 @@ typedef struct TqiContext {
 uint16_t intra_matrix[64];
 int last_dc[3];
 
-DECLARE_ALIGNED(16, int16_t, block)[6][64];
+DECLARE_ALIGNED(32, int16_t, block)[6][64];
 } TqiContext;
 
 static av_cold int tqi_decode_init(AVCodecContext *avctx)
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 10b6808f81..842095ba3b 100644
--- a/libavcodec/g2meet.c
+++ b/libavcodec/g2meet.c
@@ -122,7 +122,7 @@ typedef struct JPGContext {
 
 VLCdc_vlc[2], ac_vlc[2];
 intprev_dc[3];
-DECLARE_ALIGNED(16, int16_t, block)[6][64];
+DECLARE_ALIGNED(32, int16_t, block)[6][64];
 
 uint8_t*buf;
 } JPGContext;
diff --git a/libavcodec/ituh263dec.c b/libavcodec/ituh263dec.c
index edb68861ac..fc95a532ce 100644
--- a/libavcodec/ituh263dec.c
+++ b/libavcodec/ituh263dec.c
@@ -574,7 +574,7 @@ not_coded:
 
 static int h263_skip_b_part(MpegEncContext *s, int cbp)
 {
-LOCAL_ALIGNED_16(int16_t, dblock, [64]);
+LOCAL_ALIGNED_32(int16_t, dblock, [64]);
 int i, mbi;
 int bli[6];
 
diff --git a/libavcodec/mdec.c b/libavcodec/mdec.c
index 59658b331d..330b761279 100644
--- a/libavcodec/mdec.c
+++ b/libavcodec/mdec.c
@@ -48,7 +48,7 @@ typedef struct MDECContext {
 int mb_width;
 int mb_height;
 int mb_x, mb_y;
-DECLARE_ALIGNED(16, int16_t, block)[6][64];
+DECLARE_ALIGNED(32, int16_t, block)[6][64];
 DECLARE_ALIGNED(16, ui

[FFmpeg-cvslog] lavf/mxfdec: Search all components of material track for source package.

2017-10-03 Thread Carl Eugen Hoyos
ffmpeg | branch: master | Carl Eugen Hoyos  | Sat Nov  5 
01:48:10 2016 +0100| [4590d073ccdc7c3ce0384d5b1fba56b3f6673535] | committer: 
Carl Eugen Hoyos

lavf/mxfdec: Search all components of material track for source package.

Fixes ticket #5925.

Reviewed-by: Marton

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

 libavformat/mxfdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 1855f95d79..118e3e40b4 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -1978,7 +1978,7 @@ static int mxf_parse_structural_metadata(MXFContext *mxf)
 source_package = mxf_resolve_source_package(mxf, 
component->source_package_uid);
 if (!source_package) {
 av_log(mxf->fc, AV_LOG_TRACE, "material track %d: no 
corresponding source package found\n", material_track->track_id);
-break;
+continue;
 }
 for (k = 0; k < source_package->tracks_count; k++) {
 if (!(temp_track = mxf_resolve_strong_ref(mxf, 
&source_package->tracks_refs[k], Track))) {

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


[FFmpeg-cvslog] fate: Add a test for latm-in-dvb auto-detection, ticket #6657.

2017-10-03 Thread Carl Eugen Hoyos
ffmpeg | branch: master | Carl Eugen Hoyos  | Sat Sep 30 
20:33:09 2017 +0200| [9ba9c08aab9de35c9afa5497c51b9bdfd4b770be] | committer: 
Carl Eugen Hoyos

fate: Add a test for latm-in-dvb auto-detection, ticket #6657.

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

 tests/Makefile   |  1 +
 tests/fate/mpegts.mak| 14 ++
 tests/ref/fate/mpegts-probe-latm | 14 ++
 3 files changed, 29 insertions(+)

diff --git a/tests/Makefile b/tests/Makefile
index 99f7e1730b..278be24ccb 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -156,6 +156,7 @@ include $(SRC_PATH)/tests/fate/mov.mak
 include $(SRC_PATH)/tests/fate/mp3.mak
 include $(SRC_PATH)/tests/fate/mpc.mak
 include $(SRC_PATH)/tests/fate/mpeg4.mak
+include $(SRC_PATH)/tests/fate/mpegts.mak
 include $(SRC_PATH)/tests/fate/mxf.mak
 include $(SRC_PATH)/tests/fate/opus.mak
 include $(SRC_PATH)/tests/fate/pcm.mak
diff --git a/tests/fate/mpegts.mak b/tests/fate/mpegts.mak
new file mode 100644
index 00..bb0d9d98a7
--- /dev/null
+++ b/tests/fate/mpegts.mak
@@ -0,0 +1,14 @@
+#
+# Test probing MPEGTS format and codecs
+#
+PROBE_CODEC_NAME_COMMAND = \
+ffprobe$(PROGSSUF)$(EXESUF) -show_entries stream=codec_name \
+-print_format default -bitexact -v 0
+
+FATE_MPEGTS_PROBE-$(call DEMDEC, MPEGTS, HEVC, AAC_LATM) += 
fate-mpegts-probe-latm
+fate-mpegts-probe-latm: SRC = $(TARGET_SAMPLES)/mpegts/loewe.ts
+fate-mpegts-probe-latm: CMD = run $(PROBE_CODEC_NAME_COMMAND) -i "$(SRC)"
+
+FATE_SAMPLES_FFPROBE += $(FATE_MPEGTS_PROBE-yes)
+
+fate-mpegts: $(FATE_MPEGTS_PROBE-yes)
diff --git a/tests/ref/fate/mpegts-probe-latm b/tests/ref/fate/mpegts-probe-latm
new file mode 100644
index 00..13aea2bcfd
--- /dev/null
+++ b/tests/ref/fate/mpegts-probe-latm
@@ -0,0 +1,14 @@
+[PROGRAM]
+[STREAM]
+codec_name=hevc
+[/STREAM]
+[STREAM]
+codec_name=aac_latm
+[/STREAM]
+[/PROGRAM]
+[STREAM]
+codec_name=hevc
+[/STREAM]
+[STREAM]
+codec_name=aac_latm
+[/STREAM]

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


[FFmpeg-cvslog] avcodec/proresdec2: SKIP_BITS() does not work with len=32

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Oct  2 04:18:22 2017 +0200| [c37138e01a93da2f9dd2cc5d4b77e5a38581d130] | 
committer: Michael Niedermayer

avcodec/proresdec2: SKIP_BITS() does not work with len=32

Fixes: invalid shift
Fixes: 3482/clusterfuzz-testcase-minimized-5446915875405824

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
index e077908027..22dc70eeb4 100644
--- a/libavcodec/proresdec2.c
+++ b/libavcodec/proresdec2.c
@@ -267,7 +267,7 @@ static int decode_picture_header(AVCodecContext *avctx, 
const uint8_t *buf, cons
 \
 if (q > switch_bits) { /* exp golomb */ \
 bits = exp_order - switch_bits + (q<<1);\
-if (bits > MIN_CACHE_BITS)  \
+if (bits > FFMIN(MIN_CACHE_BITS, 31))   \
 return AVERROR_INVALIDDATA; \
 val = SHOW_UBITS(re, gb, bits) - (1 << exp_order) + \
 ((switch_bits + 1) << rice_order);  \

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


[FFmpeg-cvslog] avcodec/hevcdsp_template: Fix undefined shift

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Oct  2 04:18:21 2017 +0200| [fbdab6eca7874fbeba6aa79c269f345e4d43f5d4] | 
committer: Michael Niedermayer

avcodec/hevcdsp_template: Fix undefined shift

Fixes: runtime error: left shift of negative value -255
Fixes: 3373/clusterfuzz-testcase-minimized-5604083912146944

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 

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

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

diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c
index 75763ce85e..e09c661759 100644
--- a/libavcodec/hevcdsp_template.c
+++ b/libavcodec/hevcdsp_template.c
@@ -1486,7 +1486,7 @@ static void FUNC(put_hevc_epel_bi_w_hv)(uint8_t *_dst, 
ptrdiff_t _dststride, uin
 for (y = 0; y < height; y++) {
 for (x = 0; x < width; x++)
 dst[x] = av_clip_pixel(((EPEL_FILTER(tmp, MAX_PB_SIZE) >> 6) * wx1 
+ src2[x] * wx0 +
-((ox0 + ox1 + 1) << log2Wd)) >> (log2Wd + 
1));
+((ox0 + ox1 + 1) * (1 << log2Wd))) >> 
(log2Wd + 1));
 tmp  += MAX_PB_SIZE;
 dst  += dststride;
 src2 += MAX_PB_SIZE;

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


[FFmpeg-cvslog] avcodec/proresdec2: Use LAST_SKIP_BITS where possible

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon 
Oct  2 04:18:23 2017 +0200| [4ee77cefaed0cf19b03b4b6f4945f52301165469] | 
committer: Michael Niedermayer

avcodec/proresdec2: Use LAST_SKIP_BITS where possible

Signed-off-by: Michael Niedermayer 

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

 libavcodec/proresdec2.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c
index 22dc70eeb4..a7cea2b3b8 100644
--- a/libavcodec/proresdec2.c
+++ b/libavcodec/proresdec2.c
@@ -250,7 +250,7 @@ static int decode_picture_header(AVCodecContext *avctx, 
const uint8_t *buf, cons
 return pic_data_size;
 }
 
-#define DECODE_CODEWORD(val, codebook)  \
+#define DECODE_CODEWORD(val, codebook, SKIP)\
 do {\
 unsigned int rice_order, exp_order, switch_bits;\
 unsigned int q, buf, bits;  \
@@ -271,14 +271,14 @@ static int decode_picture_header(AVCodecContext *avctx, 
const uint8_t *buf, cons
 return AVERROR_INVALIDDATA; \
 val = SHOW_UBITS(re, gb, bits) - (1 << exp_order) + \
 ((switch_bits + 1) << rice_order);  \
-SKIP_BITS(re, gb, bits);\
+SKIP(re, gb, bits); \
 } else if (rice_order) {\
 SKIP_BITS(re, gb, q+1); \
 val = (q << rice_order) + SHOW_UBITS(re, gb, rice_order);   \
-SKIP_BITS(re, gb, rice_order);  \
+SKIP(re, gb, rice_order);   \
 } else {\
 val = q;\
-SKIP_BITS(re, gb, q+1); \
+SKIP(re, gb, q+1);  \
 }   \
 } while (0)
 
@@ -296,7 +296,7 @@ static av_always_inline int decode_dc_coeffs(GetBitContext 
*gb, int16_t *out,
 
 OPEN_READER(re, gb);
 
-DECODE_CODEWORD(code, FIRST_DC_CB);
+DECODE_CODEWORD(code, FIRST_DC_CB, LAST_SKIP_BITS);
 prev_dc = TOSIGNED(code);
 out[0] = prev_dc;
 
@@ -305,7 +305,7 @@ static av_always_inline int decode_dc_coeffs(GetBitContext 
*gb, int16_t *out,
 code = 5;
 sign = 0;
 for (i = 1; i < blocks_per_slice; i++, out += 64) {
-DECODE_CODEWORD(code, dc_codebook[FFMIN(code, 6U)]);
+DECODE_CODEWORD(code, dc_codebook[FFMIN(code, 6U)], LAST_SKIP_BITS);
 if(code) sign ^= -(code & 1);
 else sign  = 0;
 prev_dc += (((code + 1) >> 1) ^ sign) - sign;
@@ -341,14 +341,14 @@ static av_always_inline int 
decode_ac_coeffs(AVCodecContext *avctx, GetBitContex
 if (!bits_left || (bits_left < 32 && !SHOW_UBITS(re, gb, bits_left)))
 break;
 
-DECODE_CODEWORD(run, run_to_cb[FFMIN(run,  15)]);
+DECODE_CODEWORD(run, run_to_cb[FFMIN(run,  15)], LAST_SKIP_BITS);
 pos += run + 1;
 if (pos >= max_coeffs) {
 av_log(avctx, AV_LOG_ERROR, "ac tex damaged %d, %d\n", pos, 
max_coeffs);
 return AVERROR_INVALIDDATA;
 }
 
-DECODE_CODEWORD(level, lev_to_cb[FFMIN(level, 9)]);
+DECODE_CODEWORD(level, lev_to_cb[FFMIN(level, 9)], SKIP_BITS);
 level += 1;
 
 i = pos >> log2_block_count;

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


[FFmpeg-cvslog] avcodec/encode: do proper cleanup on failure

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 11:49:18 
2017 -0300| [87e625c2633a83f62f155fcca33dab0a6e2bb5e6] | committer: James Almer

avcodec/encode: do proper cleanup on failure

Fixes the last remaining memleaks introduced by 
a22c6a4796ca1f2cbee6784262515da876fbec22.

Signed-off-by: James Almer 

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

 libavcodec/encode.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index c152228c92..c961dbace1 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -225,9 +225,9 @@ int attribute_align_arg 
avcodec_encode_audio2(AVCodecContext *avctx,
 } else if (!avpkt->buf) {
 AVPacket tmp = { 0 };
 ret = av_packet_ref(&tmp, avpkt);
-if (ret < 0)
-return ret;
 av_packet_unref(avpkt);
+if (ret < 0)
+goto end;
 *avpkt = tmp;
 }
 }
@@ -324,9 +324,9 @@ int attribute_align_arg 
avcodec_encode_video2(AVCodecContext *avctx,
 } else if (!avpkt->buf) {
 AVPacket tmp = { 0 };
 ret = av_packet_ref(&tmp, avpkt);
+av_packet_unref(avpkt);
 if (ret < 0)
 return ret;
-av_packet_unref(avpkt);
 *avpkt = tmp;
 }
 }

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


[FFmpeg-cvslog] avformat/mxfenc: Add IEC DV25

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Tue 
Sep 12 21:20:02 2017 +0200| [a56ec48d426f98702e7c6f76bdb5f036df56de4b] | 
committer: Michael Niedermayer

avformat/mxfenc: Add IEC DV25

Signed-off-by: Michael Niedermayer 

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

 libavformat/mxfenc.c | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index b8d3030c40..3da96bf919 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -119,6 +119,8 @@ enum ULIndex {
 INDEX_DV,
 INDEX_DV25_525_60,
 INDEX_DV25_625_50,
+INDEX_DV25_525_60_IEC,
+INDEX_DV25_625_50_IEC,
 INDEX_DV50_525_60,
 INDEX_DV50_625_50,
 INDEX_DV100_1080_60,
@@ -231,6 +233,7 @@ static const MXFContainerEssenceEntry 
mxf_essence_container_uls[] = {
   { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
   { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x00,0x00,0x00 
},
   mxf_write_cdci_desc },
+
 // DV25 525/60
 { { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x40,0x01 
},
   { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
@@ -241,7 +244,19 @@ static const MXFContainerEssenceEntry 
mxf_essence_container_uls[] = {
   { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
   { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x02,0x00 
},
   mxf_write_cdci_desc },
-// DV50 525/60
+
+// IEC DV25 525/60
+{ { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x01,0x01 
},
+  { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
+  { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x01,0x00 
},
+  mxf_write_cdci_desc },
+// IEC DV25 625/50
+{ { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x02,0x01 
},
+  { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
+  { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x01,0x02,0x00 
},
+  mxf_write_cdci_desc },
+
+  // DV50 525/60
 { { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x02,0x50,0x01 
},
   { 
0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x18,0x01,0x01,0x00 
},
   { 
0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x01,0x02,0x02,0x02,0x02,0x03,0x00 
},

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


[FFmpeg-cvslog] avformat/mxfenc: Fix labels for IEC PAL DV 420

2017-10-03 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Tue 
Sep 12 22:17:12 2017 +0200| [ef973bd98d8ee35dbbdd622b075c50d11c0d67fd] | 
committer: Michael Niedermayer

avformat/mxfenc: Fix labels for IEC PAL DV 420

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

 libavformat/mxfenc.c| 9 +
 tests/ref/lavf/mxf_dv25 | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 3da96bf919..035e65ed43 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -48,6 +48,7 @@
 #include "libavutil/time_internal.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/dnxhddata.h"
+#include "libavcodec/dv_profile.h"
 #include "libavcodec/h264.h"
 #include "libavcodec/internal.h"
 #include "audiointerleave.h"
@@ -1812,6 +1813,7 @@ static int mxf_parse_dv_frame(AVFormatContext *s, 
AVStream *st, AVPacket *pkt)
 MXFStreamContext *sc = st->priv_data;
 uint8_t *vs_pack, *vsc_pack;
 int i, ul_index, frame_size, stype, pal;
+const AVDVProfile *profile;
 
 if (mxf->header_written)
 return 1;
@@ -1820,6 +1822,8 @@ static int mxf_parse_dv_frame(AVFormatContext *s, 
AVStream *st, AVPacket *pkt)
 if (pkt->size < 12)
 return -1;
 
+profile = av_dv_frame_profile(NULL, pkt->data, pkt->size);
+
 vs_pack  = pkt->data + 80*5 + 48;
 vsc_pack = pkt->data + 80*5 + 53;
 stype= vs_pack[3] & 0x1f;
@@ -1854,6 +1858,11 @@ static int mxf_parse_dv_frame(AVFormatContext *s, 
AVStream *st, AVPacket *pkt)
 frame_size = pal ? 288000 : 24;
 break;
 default: // DV25
+if (profile && profile->pix_fmt == AV_PIX_FMT_YUV420P && pal) {
+ul_index = INDEX_DV25_525_60_IEC + pal;
+frame_size = pal ? 144000 : 12;
+break;
+}
 ul_index = INDEX_DV25_525_60 + pal;
 frame_size = pal ? 144000 : 12;
 }
diff --git a/tests/ref/lavf/mxf_dv25 b/tests/ref/lavf/mxf_dv25
index adecc07e70..85094828d1 100644
--- a/tests/ref/lavf/mxf_dv25
+++ b/tests/ref/lavf/mxf_dv25
@@ -1,3 +1,3 @@
-de98603ecc27c2f3cefd192d4820d3f4 *./tests/data/lavf/lavf.mxf_dv25
+1871bd11947924116776201f24fd0adf *./tests/data/lavf/lavf.mxf_dv25
 3833389 ./tests/data/lavf/lavf.mxf_dv25
 ./tests/data/lavf/lavf.mxf_dv25 CRC=0xbdaf7f52

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


[FFmpeg-cvslog] build: fix compilation of tools with OpenCL enabled

2017-10-03 Thread James Almer
ffmpeg | branch: master | James Almer  | Tue Oct  3 10:55:59 
2017 -0300| [3e6829a8aa1ec687086669551aee45743ac25691] | committer: James Almer

build: fix compilation of tools with OpenCL enabled

Signed-off-by: James Almer 

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

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

diff --git a/fftools/Makefile b/fftools/Makefile
index 094f6d6265..c867814a71 100644
--- a/fftools/Makefile
+++ b/fftools/Makefile
@@ -20,7 +20,6 @@ OBJS-ffmpeg-$(CONFIG_VIDEOTOOLBOX) += 
fftools/ffmpeg_videotoolbox.o
 OBJS-ffserver  += fftools/ffserver_config.o
 
 define DOFFTOOL
-OBJS-$(1)-$(CONFIG_OPENCL) += fftools/cmdutils_opencl.o
 OBJS-$(1) += fftools/cmdutils.o fftools/$(1).o $(OBJS-$(1)-yes)
 $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
 $$(OBJS-$(1)): | fftools
@@ -30,6 +29,7 @@ $(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1))
 -include $$(OBJS-$(1):.o=.d)
 endef
 
+$(foreach P,$(AVPROGS-yes),$(eval OBJS-$(P)-$(CONFIG_OPENCL) += 
fftools/cmdutils_opencl.o))
 $(foreach P,$(AVPROGS-yes),$(eval $(call DOFFTOOL,$(P
 
 all: $(AVPROGS)

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