[FFmpeg-devel] [PATCH v2] tests/fate/vcodec: add dnxhr mov tests
--- tests/fate/vcodec.mak| 18 +- tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov | 4 tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov | 4 tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov | 4 tests/ref/vsynth/vsynth2-dnxhd-hr-hq-mov | 4 tests/ref/vsynth/vsynth2-dnxhd-hr-lb-mov | 4 tests/ref/vsynth/vsynth2-dnxhd-hr-sq-mov | 4 tests/ref/vsynth/vsynth3-dnxhd-hr-hq-mov | 4 tests/ref/vsynth/vsynth3-dnxhd-hr-lb-mov | 4 tests/ref/vsynth/vsynth3-dnxhd-hr-sq-mov | 4 tests/ref/vsynth/vsynth_lena-dnxhd-hr-hq-mov | 4 tests/ref/vsynth/vsynth_lena-dnxhd-hr-lb-mov | 4 tests/ref/vsynth/vsynth_lena-dnxhd-hr-sq-mov | 4 13 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov create mode 100644 tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov create mode 100644 tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov create mode 100644 tests/ref/vsynth/vsynth2-dnxhd-hr-hq-mov create mode 100644 tests/ref/vsynth/vsynth2-dnxhd-hr-lb-mov create mode 100644 tests/ref/vsynth/vsynth2-dnxhd-hr-sq-mov create mode 100644 tests/ref/vsynth/vsynth3-dnxhd-hr-hq-mov create mode 100644 tests/ref/vsynth/vsynth3-dnxhd-hr-lb-mov create mode 100644 tests/ref/vsynth/vsynth3-dnxhd-hr-sq-mov create mode 100644 tests/ref/vsynth/vsynth_lena-dnxhd-hr-hq-mov create mode 100644 tests/ref/vsynth/vsynth_lena-dnxhd-hr-lb-mov create mode 100644 tests/ref/vsynth/vsynth_lena-dnxhd-hr-sq-mov diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak index 4ed94a5..a51f16c 100644 --- a/tests/fate/vcodec.mak +++ b/tests/fate/vcodec.mak @@ -96,7 +96,8 @@ fate-vsynth%-dnxhd-edge3-hr: ENCOPTS= -s 257x121 -profile:v dnxhr_hq \ fate-vsynth%-dnxhd-edge3-hr: DECOPTS= -sws_flags area+accurate_rnd+bitexact fate-vsynth%-dnxhd-edge3-hr: FMT= dnxhd -FATE_VCODEC-$(call ENCDEC, DNXHD, MOV) += dnxhd-1080i dnxhd-1080i-10bit dnxhd-1080i-colr +FATE_VCODEC-$(call ENCDEC, DNXHD, MOV) += dnxhd-1080i dnxhd-1080i-10bit dnxhd-1080i-colr \ + dnxhd-hr-lb-mov dnxhd-hr-sq-mov dnxhd-hr-hq-mov fate-vsynth%-dnxhd-1080i:ENCOPTS = -s hd1080 -b 120M -flags +ildct \ -pix_fmt yuv422p -frames 5 -qmax 8 fate-vsynth%-dnxhd-1080i:FMT = mov @@ -111,6 +112,21 @@ fate-vsynth%-dnxhd-1080i-colr: ENCOPTS = -s hd1080 -b 120M -flags +ildct -movf fate-vsynth%-dnxhd-1080i-colr: DECOPTS = -sws_flags area+accurate_rnd+bitexact fate-vsynth%-dnxhd-1080i-colr: FMT = mov +fate-vsynth%-dnxhd-hr-lb-mov: ENCOPTS = -s uhd2160 -profile:v dnxhr_lb \ + -pix_fmt yuv422p -frames 5 +fate-vsynth%-dnxhd-hr-lb-mov: DECOPTS = -sws_flags area+accurate_rnd+bitexact +fate-vsynth%-dnxhd-hr-lb-mov: FMT = mov + +fate-vsynth%-dnxhd-hr-sq-mov: ENCOPTS = -s 2kscope -profile:v dnxhr_sq \ + -pix_fmt yuv422p -frames 5 +fate-vsynth%-dnxhd-hr-sq-mov: DECOPTS = -sws_flags area+accurate_rnd+bitexact +fate-vsynth%-dnxhd-hr-sq-mov: FMT = mov + +fate-vsynth%-dnxhd-hr-hq-mov: ENCOPTS = -s 2kflat -profile:v dnxhr_hq \ + -pix_fmt yuv422p -frames 5 +fate-vsynth%-dnxhd-hr-hq-mov: DECOPTS = -sws_flags area+accurate_rnd+bitexact +fate-vsynth%-dnxhd-hr-hq-mov: FMT = mov + FATE_VCODEC-$(call ENCDEC, DVVIDEO, DV) += dv dv-411 dv-50 fate-vsynth%-dv: CODEC = dvvideo fate-vsynth%-dv: ENCOPTS = -dct int -s pal diff --git a/tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov b/tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov new file mode 100644 index 000..559c2f0 --- /dev/null +++ b/tests/ref/vsynth/vsynth1-dnxhd-hr-hq-mov @@ -0,0 +1,4 @@ +c8b5d2bde45776bbf13f0262c915f5b9 *tests/data/fate/vsynth1-dnxhd-hr-hq-mov.mov +4772599 tests/data/fate/vsynth1-dnxhd-hr-hq-mov.mov +388c7c84573abe28cc963e3ad5e15a31 *tests/data/fate/vsynth1-dnxhd-hr-hq-mov.out.rawvideo +stddev:5.73 PSNR: 32.96 MAXDIFF: 56 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov b/tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov new file mode 100644 index 000..2e2b4a3 --- /dev/null +++ b/tests/ref/vsynth/vsynth1-dnxhd-hr-lb-mov @@ -0,0 +1,4 @@ +254aa3f0be811882ff351172fd391492 *tests/data/fate/vsynth1-dnxhd-hr-lb-mov.mov +3748599 tests/data/fate/vsynth1-dnxhd-hr-lb-mov.mov +21c68252f500bada13ccce232e1ecfca *tests/data/fate/vsynth1-dnxhd-hr-lb-mov.out.rawvideo +stddev:5.59 PSNR: 33.17 MAXDIFF: 55 bytes: 7603200/ 760320 diff --git a/tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov b/tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov new file mode 100644 index 000..2c52e3e --- /dev/null +++ b/tests/ref/vsynth/vsynth1-dnxhd-hr-sq-mov @@ -0,0 +1,4 @@ +7d7fb47e926aa565b51661264f1a39e9 *tests/data/fate/vsynth1-dnxhd-hr-sq-mov.mov +2560763
Re: [FFmpeg-devel] [PATCH] libavcodec/dnxhdenc: fix typo, check if profile is dnxhr 444 or hqx
On Sun, Aug 21, 2016 at 05:07:49PM -0700, Mark Reid wrote: > --- > libavcodec/dnxhdenc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) applied thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you drop bombs on a foreign country and kill a hundred thousand innocent people, expect your government to call the consequence "unprovoked inhuman terrorist attacks" and use it to justify dropping more bombs and killing more people. The technology changed, the idea is old. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/2] pixfmt: Use enum assignment for aliases
On Sun, Aug 21, 2016 at 05:09:01PM -0700, Timothy Gu wrote: > -#define AV_PIX_FMT_XVMC AV_PIX_FMT_XVMC_MPEG2_IDCT > +AV_PIX_FMT_XVMC = AV_PIX_FMT_XVMC_MPEG2_IDCT, I don't think this constitutes an API break, but comments are welcome. Timothy ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] libavcodec/dnxhdenc: fix typo, check if profile is dnxhr 444 or hqx
--- libavcodec/dnxhdenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c index d8289a4..88edd6b 100644 --- a/libavcodec/dnxhdenc.c +++ b/libavcodec/dnxhdenc.c @@ -324,7 +324,7 @@ static av_cold int dnxhd_encode_init(AVCodecContext *avctx) return AVERROR(EINVAL); } -if (ctx->profile == FF_PROFILE_DNXHR_HQX || +if (ctx->profile == FF_PROFILE_DNXHR_444 || ctx->profile == FF_PROFILE_DNXHR_HQX) { avpriv_report_missing_feature(avctx, "dnxhr_444 or dnxhr_hqx profile"); -- 2.9.2 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 2/2] pixfmt: Use enum assignment for aliases
This way, Doxygen is happier as aliases are now grouped together, and it never handled #define's in an enum well in the first place. Y400A already exists as an enum assignment. --- libavutil/pixfmt.h | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 6f71ac0..efc3714 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -77,7 +77,7 @@ enum AVPixelFormat { #if FF_API_XVMC AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing AV_PIX_FMT_XVMC_MPEG2_IDCT, -#define AV_PIX_FMT_XVMC AV_PIX_FMT_XVMC_MPEG2_IDCT +AV_PIX_FMT_XVMC = AV_PIX_FMT_XVMC_MPEG2_IDCT, #endif /* FF_API_XVMC */ AV_PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3 @@ -178,6 +178,7 @@ enum AVPixelFormat { AV_PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian AV_PIX_FMT_VDA_VLD,///< hardware decoding through VDA AV_PIX_FMT_GBRP, ///< planar GBR 4:4:4 24bpp +AV_PIX_FMT_GBR24P = AV_PIX_FMT_GBRP, // alias for #AV_PIX_FMT_GBRP AV_PIX_FMT_GBRP9BE, ///< planar GBR 4:4:4 27bpp, big-endian AV_PIX_FMT_GBRP9LE, ///< planar GBR 4:4:4 27bpp, little-endian AV_PIX_FMT_GBRP10BE, ///< planar GBR 4:4:4 30bpp, big-endian @@ -308,9 +309,6 @@ enum AVPixelFormat { AV_PIX_FMT_NB,///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions }; -#define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A -#define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP - #if AV_HAVE_BIGENDIAN # define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be #else -- 2.1.4 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/2] pixdesc: Order function prototypes semantically
--- libavutil/pixdesc.h | 194 ++-- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/libavutil/pixdesc.h b/libavutil/pixdesc.h index 3b0bcdb..a8ad588 100644 --- a/libavutil/pixdesc.h +++ b/libavutil/pixdesc.h @@ -173,78 +173,6 @@ typedef struct AVPixFmtDescriptor { #define AV_PIX_FMT_FLAG_ALPHA(1 << 7) /** - * Read a line from an image, and write the values of the - * pixel format component c to dst. - * - * @param data the array containing the pointers to the planes of the image - * @param linesize the array containing the linesizes of the image - * @param desc the pixel format descriptor for the image - * @param x the horizontal coordinate of the first pixel to read - * @param y the vertical coordinate of the first pixel to read - * @param w the width of the line to read, that is the number of - * values to write to dst - * @param read_pal_component if not zero and the format is a paletted - * format writes the values corresponding to the palette - * component c in data[1] to dst, rather than the palette indexes in - * data[0]. The behavior is undefined if the format is not paletted. - */ -void av_read_image_line(uint16_t *dst, const uint8_t *data[4], -const int linesize[4], const AVPixFmtDescriptor *desc, -int x, int y, int c, int w, int read_pal_component); - -/** - * Write the values from src to the pixel format component c of an - * image line. - * - * @param src array containing the values to write - * @param data the array containing the pointers to the planes of the - * image to write into. It is supposed to be zeroed. - * @param linesize the array containing the linesizes of the image - * @param desc the pixel format descriptor for the image - * @param x the horizontal coordinate of the first pixel to write - * @param y the vertical coordinate of the first pixel to write - * @param w the width of the line to write, that is the number of - * values to write to the image line - */ -void av_write_image_line(const uint16_t *src, uint8_t *data[4], - const int linesize[4], const AVPixFmtDescriptor *desc, - int x, int y, int c, int w); - -/** - * Return the pixel format corresponding to name. - * - * If there is no pixel format with name name, then looks for a - * pixel format with the name corresponding to the native endian - * format of name. - * For example in a little-endian system, first looks for "gray16", - * then for "gray16le". - * - * Finally if no pixel format has been found, returns AV_PIX_FMT_NONE. - */ -enum AVPixelFormat av_get_pix_fmt(const char *name); - -/** - * Return the short name for a pixel format, NULL in case pix_fmt is - * unknown. - * - * @see av_get_pix_fmt(), av_get_pix_fmt_string() - */ -const char *av_get_pix_fmt_name(enum AVPixelFormat pix_fmt); - -/** - * Print in buf the string corresponding to the pixel format with - * number pix_fmt, or a header if pix_fmt is negative. - * - * @param buf the buffer where to write the string - * @param buf_size the size of buf - * @param pix_fmt the number of the pixel format to print the - * corresponding info string, or a negative value to print the - * corresponding header. - */ -char *av_get_pix_fmt_string(char *buf, int buf_size, -enum AVPixelFormat pix_fmt); - -/** * Return the number of bits per pixel used by the pixel format * described by pixdesc. Note that this is not the same as the number * of bits per sample. @@ -307,6 +235,103 @@ int av_pix_fmt_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt); /** + * @return the name for provided color range or NULL if unknown. + */ +const char *av_color_range_name(enum AVColorRange range); + +/** + * @return the name for provided color primaries or NULL if unknown. + */ +const char *av_color_primaries_name(enum AVColorPrimaries primaries); + +/** + * @return the name for provided color transfer or NULL if unknown. + */ +const char *av_color_transfer_name(enum AVColorTransferCharacteristic transfer); + +/** + * @return the name for provided color space or NULL if unknown. + */ +const char *av_color_space_name(enum AVColorSpace space); + +/** + * @return the name for provided chroma location or NULL if unknown. + */ +const char *av_chroma_location_name(enum AVChromaLocation location); + +/** + * Return the pixel format corresponding to name. + * + * If there is no pixel format with name name, then looks for a + * pixel format with the name corresponding to the native endian + * format of name. + * For example in a little-endian system, first looks for "gray16", + * then for "gray16le". + * + * Finally if no pixel format has been found, returns AV_PIX_FMT_NONE. + */ +enum AVPixelFormat av_get_pix_fmt(const char *name); + +/** + * Return the short name for a pixel format, NULL in case pix_fmt is + * unknown. + * + * @see
Re: [FFmpeg-devel] [PATCH] lavf/hlsenc: add append_list flag into hlsenc
2016-08-21 21:30 GMT+08:00 Michael Niedermayer: > On Sun, Aug 21, 2016 at 01:03:02PM +0800, Steven Liu wrote: > > Fix unused *duration* > > remove the #EXT-X-ENDLIST and #EXT-X-TARGETDURATION tags, > > keep intened with hls->duratin, hls->start_pos, hls->size. > > > > > > > > When ffmpeg exit by exception, start a new ffmpeg will > > cover the old segment list, add this flag can continue > > append the new segments into old hls segment list > > > > Signed-off-by: LiuQi > > --- > > doc/muxers.texi | 4 > > libavformat/hlsenc.c | 62 > > > > 2 files changed, 66 insertions(+) > > applied > > can you add a fate test for this feature ? > Ok, I will do it. > > thanks > > [...] > > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > It is what and why we do it that matters, not just one of them. > > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 1/4] V7 - Adding SCTE-35 CUI codec
On Sun, Aug 21, 2016 at 09:55:27AM -0700, Carlos Fernandez Sanz wrote: > On Sat, Aug 20, 2016 at 11:47 AM, Michael Niedermayer >wrote: > > > dts are decode timestamps, that is for video thats when a packet > > OK, something like this? > > +AV_CODEC_ID_SCTE_35,/**< Contain no valid time stamp in DTS PTS > of avpacket, avpacket data contain time stamp > + in scte-35 format which is relative to > DTS/PTS of video stream */ this is ambigous is it meant that the 0 point on the time axis of the "time stamp in scte-35 format" matches the 0 point of the video stream or some video packets pts or dts (like the last one)? [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Awnsering whenever a program halts or runs forever is On a turing machine, in general impossible (turings halting problem). On any real computer, always possible as a real computer has a finite number of states N, and will either halt in less than N cycles or never halt. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3 5/5] avformat/tee: Use BSF list API
On 08/21/2016 02:57 PM, Michael Niedermayer wrote: On Tue, Aug 09, 2016 at 02:00:24PM +0200, sebechlebsky...@gmail.com wrote: [...] @@ -506,13 +481,32 @@ static int tee_write_packet(AVFormatContext *avf, AVPacket *pkt) av_packet_rescale_ts(, tb, tb2); pkt2.stream_index = s2; -if ((ret = av_apply_bitstream_filters(avf2->streams[s2]->codec, , - tee->slaves[i].bsfs[s2])) < 0 || -(ret = av_interleaved_write_frame(avf2, )) < 0) { +ret = av_bsf_send_packet(tee->slaves[i].bsfs[s2], ); +if (ret < 0) { +av_log(avf, AV_LOG_ERROR, "Error while sending packet to bitstream filter: %s\n", + av_err2str(ret)); ret = tee_process_slave_failure(avf, i, ret); if (!ret_all && ret < 0) ret_all = ret; } + +do { +ret = av_bsf_receive_packet(tee->slaves[i].bsfs[s2], ); +if (ret < 0) +break; + +av_packet_rescale_ts(, tb, tb2); are the timestamps rescaled twice ? is that intended ? This is a mistake, sorry for that and thanks for noticing. I'll send fixed patch. Regards, Jan ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] mem: Extend and edit Doxygen
On Fri Aug 5 14:15:19 EEST 2016, Michael Niedermayer wrote: > to me it sounds more natural without "the" but english aint my area Changed. > either way the patch overall looks nice (i didnt deeply review) > Acked-by: Michael Thanks. Pushed. Timothy ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 1/4] V7 - Adding SCTE-35 CUI codec
On Sat, Aug 20, 2016 at 11:47 AM, Michael Niedermayerwrote: > dts are decode timestamps, that is for video thats when a packet OK, something like this? +AV_CODEC_ID_SCTE_35,/**< Contain no valid time stamp in DTS PTS of avpacket, avpacket data contain time stamp + in scte-35 format which is relative to DTS/PTS of video stream */ ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 packets
On Sun, Aug 21, 2016 at 10:44:27AM +0200, Stefano Sabatini wrote: > On date Saturday 2016-08-20 18:57:52 +0200, Michael Niedermayer encoded: > > On Sat, Aug 20, 2016 at 03:48:35PM +0200, Stefano Sabatini wrote: > > > On date Thursday 2016-05-19 18:45:35 +0200, Stefano Sabatini encoded: > > > > This is required since some softwares are not able to correctly > > > > recognize > > > > the metadata. > > > > --- > > > > libavformat/mpegtsenc.c | 24 ++-- > > > > 1 file changed, 14 insertions(+), 10 deletions(-) > > > > > > Updated, with some more documentation and references to the MPEGTS > > > standard. > > > > > > Note: this patch was created comparing the output of FFmpeg with those > > > from encoding.com and elemental. With the change the output metadata > > > can be read by third-party players. > > > > > > If the maintainers prefer, I can enable this output mode through a > > > flag. > > > -- > > > FFmpeg = Fiendish & Fiendish Mastering Purposeless Egregious Goblin > > > > > mpegtsenc.c | 24 ++-- > > > 1 file changed, 14 insertions(+), 10 deletions(-) > > > 3a6655bca70653c64bfb5f2073d01feee73e64c2 > > > 0003-lavf-mpegtsenc-write-metadata-descriptor-for-timed-I.patch > > > From 20f22c426a9f5c59d28f66a17b59d62301503d67 Mon Sep 17 00:00:00 2001 > > > From: Stefano Sabatini> > > Date: Tue, 12 Apr 2016 18:16:21 +0200 > > > Subject: [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 > > > packets > > > > > > This is required since some programs are not able to correctly recognize > > > the metadata. See H.222, 2.6.58 Metadata pointer descriptor. > > > > > > putstr8() is modified in order to allow to skip writing the string > > > length. > > > --- > > > libavformat/mpegtsenc.c | 24 ++-- > > > 1 file changed, 14 insertions(+), 10 deletions(-) > > > > > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c > > > index b437100..6f40615 100644 > > > --- a/libavformat/mpegtsenc.c > > > +++ b/libavformat/mpegtsenc.c > > > @@ -256,7 +256,7 @@ static void mpegts_write_pat(AVFormatContext *s) > > > } > > > > > > /* NOTE: !str is accepted for an empty string */ > > > -static void putstr8(uint8_t **q_ptr, const char *str) > > > +static void putstr8(uint8_t **q_ptr, const char *str, int write_len) > > > > breaks build, putstr8() seems after the place where a use is added > > in git master, or i did somehing silly > > Another patch is needed (already approved, but doesn't make sense > without this other patch), in attachment. patches probably ok thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Many that live deserve death. And some that die deserve life. Can you give it to them? Then do not be too eager to deal out death in judgement. For even the very wise cannot see all ends. -- Gandalf signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [GSOC][PATCH 1/4] factoring obmc out of snow
On Sun, Aug 21, 2016 at 09:32:31AM +0300, Станислав Долганов wrote: > Sorry, I forgot to return ok from encode init. Here updated patch. > > 2016-08-20 23:44 GMT+03:00 Michael Niedermayer: > > > On Sat, Aug 20, 2016 at 11:01:29PM +0300, Станислав Долганов wrote: > > > Fixed it. > > > > breaks fate (this worked with the previous patch) > > > > make: *** [fate-vsynth1-snow] Error 139 > > make: *** [fate-vsynth1-snow-hpel] Error 139 > > make: *** [fate-vsynth1-snow-ll] Error 139 > > make: *** [fate-filter-mcdeint-fast] Error 139 > > make: *** [fate-filter-mcdeint-medium] Error 139 > > make: *** [fate-vsynth2-snow] Error 139 > > make: *** [fate-vsynth2-snow-hpel] Error 139 > > make: *** [fate-vsynth2-snow-ll] Error 139 > > make: *** [fate-vsynth_lena-snow] Error 139 > > make: *** [fate-vsynth_lena-snow-hpel] Error 139 > > make: *** [fate-vsynth_lena-snow-ll] Error 139 > > > > [...] > > > > > > -- > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > > > Modern terrorism, a quick summary: Need oil, start war with country that > > has oil, kill hundread thousand in war. Let country fall into chaos, > > be surprised about raise of fundamantalists. Drop more bombs, kill more > > people, be surprised about them taking revenge and drop even more bombs > > and strip your own citizens of their rights and freedoms. to be continued > > > > ___ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > > > > -- > Станислав Долганов > b/libavcodec/Makefile |8 > b/libavcodec/obmc.c| 61 + > b/libavcodec/obmc.h| 30 > b/libavcodec/obme.c| 1131 > b/libavcodec/obme.h| 33 + > b/libavcodec/obmemc.c | 652 > b/libavcodec/obmemc.h | 522 > b/libavcodec/obmemc_data.h | 132 > b/libavcodec/snow.c| 571 -- > b/libavcodec/snow.h| 356 --- > b/libavcodec/snowdec.c | 235 ++- > b/libavcodec/snowenc.c | 1408 > +++-- > libavcodec/snowdata.h | 132 > 13 files changed, 2896 insertions(+), 2375 deletions(-) > 7fd1c474b26a198cac3d5a85ef27ef1acc47c80b > 0001-factoring-obmc-out-of-snow.patch > From 936143b88dbbe666d2c9be38fe37f715c3e91e6b Mon Sep 17 00:00:00 2001 > From: Stanislav Dolganov > Date: Thu, 18 Aug 2016 14:07:35 +0300 > Subject: [PATCH 1/4] factoring obmc out of snow > > --- > libavcodec/Makefile |8 +- > libavcodec/obmc.c| 61 ++ > libavcodec/obmc.h| 30 + > libavcodec/obme.c| 1131 + > libavcodec/obme.h| 33 ++ > libavcodec/obmemc.c | 652 + > libavcodec/obmemc.h | 522 + > libavcodec/obmemc_data.h | 132 + > libavcodec/snow.c| 571 +-- > libavcodec/snow.h| 356 +--- > libavcodec/snowdata.h| 132 - > libavcodec/snowdec.c | 235 +++- > libavcodec/snowenc.c | 1408 > -- > 13 files changed, 2896 insertions(+), 2375 deletions(-) > create mode 100644 libavcodec/obmc.c > create mode 100644 libavcodec/obmc.h > create mode 100644 libavcodec/obme.c > create mode 100644 libavcodec/obme.h > create mode 100644 libavcodec/obmemc.c > create mode 100644 libavcodec/obmemc.h > create mode 100644 libavcodec/obmemc_data.h > delete mode 100644 libavcodec/snowdata.h > > diff --git a/libavcodec/Makefile b/libavcodec/Makefile > index b375720..f24cd81 100644 > --- a/libavcodec/Makefile > +++ b/libavcodec/Makefile > @@ -511,9 +511,11 @@ OBJS-$(CONFIG_SMACKAUD_DECODER)+= smacker.o > OBJS-$(CONFIG_SMACKER_DECODER) += smacker.o > OBJS-$(CONFIG_SMC_DECODER) += smc.o > OBJS-$(CONFIG_SMVJPEG_DECODER) += smvjpegdec.o > -OBJS-$(CONFIG_SNOW_DECODER)+= snowdec.o snow.o snow_dwt.o > -OBJS-$(CONFIG_SNOW_ENCODER)+= snowenc.o snow.o snow_dwt.o > \ > - h263.o ituh263enc.o > +OBJS-$(CONFIG_SNOW_DECODER)+= snowdec.o snow.o snow_dwt.o\ > + > obmemc.o obmc.o inconsistent indention and tabs > +OBJS-$(CONFIG_SNOW_ENCODER)+= snowenc.o snow.o snow_dwt.o\ > + h263.o ituh263enc.o\ > + obmemc.o obme.o > OBJS-$(CONFIG_SOL_DPCM_DECODER)+= dpcm.o > OBJS-$(CONFIG_SONIC_DECODER) += sonic.o > OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o > diff --git a/libavcodec/obmc.c b/libavcodec/obmc.c > new file mode 100644 > index 000..10a3afe > --- /dev/null > +++ b/libavcodec/obmc.c > @@
Re: [FFmpeg-devel] [PATCH] lavf/hlsenc: add append_list flag into hlsenc
On Sun, Aug 21, 2016 at 01:03:02PM +0800, Steven Liu wrote: > Fix unused *duration* > remove the #EXT-X-ENDLIST and #EXT-X-TARGETDURATION tags, > keep intened with hls->duratin, hls->start_pos, hls->size. > > > > When ffmpeg exit by exception, start a new ffmpeg will > cover the old segment list, add this flag can continue > append the new segments into old hls segment list > > Signed-off-by: LiuQi> --- > doc/muxers.texi | 4 > libavformat/hlsenc.c | 62 > > 2 files changed, 66 insertions(+) applied can you add a fate test for this feature ? thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB It is what and why we do it that matters, not just one of them. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3 5/5] avformat/tee: Use BSF list API
On Tue, Aug 09, 2016 at 02:00:24PM +0200, sebechlebsky...@gmail.com wrote: [...] > > @@ -506,13 +481,32 @@ static int tee_write_packet(AVFormatContext *avf, > AVPacket *pkt) > av_packet_rescale_ts(, tb, tb2); > pkt2.stream_index = s2; > > -if ((ret = av_apply_bitstream_filters(avf2->streams[s2]->codec, > , > - tee->slaves[i].bsfs[s2])) < 0 > || > -(ret = av_interleaved_write_frame(avf2, )) < 0) { > +ret = av_bsf_send_packet(tee->slaves[i].bsfs[s2], ); > +if (ret < 0) { > +av_log(avf, AV_LOG_ERROR, "Error while sending packet to > bitstream filter: %s\n", > + av_err2str(ret)); > ret = tee_process_slave_failure(avf, i, ret); > if (!ret_all && ret < 0) > ret_all = ret; > } > + > +do { > +ret = av_bsf_receive_packet(tee->slaves[i].bsfs[s2], ); > +if (ret < 0) > +break; > + > +av_packet_rescale_ts(, tb, tb2); are the timestamps rescaled twice ? is that intended ? [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 1 "Used only once"- "Some unspecified defect prevented a second use" "In good condition" - "Can be repaird by experienced expert" "As is" - "You wouldnt want it even if you were payed for it, if you knew ..." signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v3 4/5] avcodec/bsf: Add custom item name func for BSF list
On Mon, Aug 15, 2016 at 12:38:36PM +0200, sebechlebsky...@gmail.com wrote: > From: Jan Sebechlebsky> > Add custom item name function for bsf list, which will > construct string description of filter chain. This is > done using lazy-initialization, so there is no overhead > if item name is never accessed. > > Signed-off-by: Jan Sebechlebsky > > Conflicts: > libavcodec/bsf.c > --- > Changes since the last version of the patch: > - added av_freep(>item_name) from previous commit to bsf_list_close > > libavcodec/bsf.c | 29 - > 1 file changed, 28 insertions(+), 1 deletion(-) applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you fake or manipulate statistics in a paper in physics you will never get a job again. If you fake or manipulate statistics in a paper in medicin you will get a job for life at the pharma industry. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 packets
On date Saturday 2016-08-20 18:57:52 +0200, Michael Niedermayer encoded: > On Sat, Aug 20, 2016 at 03:48:35PM +0200, Stefano Sabatini wrote: > > On date Thursday 2016-05-19 18:45:35 +0200, Stefano Sabatini encoded: > > > This is required since some softwares are not able to correctly recognize > > > the metadata. > > > --- > > > libavformat/mpegtsenc.c | 24 ++-- > > > 1 file changed, 14 insertions(+), 10 deletions(-) > > > > Updated, with some more documentation and references to the MPEGTS > > standard. > > > > Note: this patch was created comparing the output of FFmpeg with those > > from encoding.com and elemental. With the change the output metadata > > can be read by third-party players. > > > > If the maintainers prefer, I can enable this output mode through a > > flag. > > -- > > FFmpeg = Fiendish & Fiendish Mastering Purposeless Egregious Goblin > > > mpegtsenc.c | 24 ++-- > > 1 file changed, 14 insertions(+), 10 deletions(-) > > 3a6655bca70653c64bfb5f2073d01feee73e64c2 > > 0003-lavf-mpegtsenc-write-metadata-descriptor-for-timed-I.patch > > From 20f22c426a9f5c59d28f66a17b59d62301503d67 Mon Sep 17 00:00:00 2001 > > From: Stefano Sabatini> > Date: Tue, 12 Apr 2016 18:16:21 +0200 > > Subject: [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 > > packets > > > > This is required since some programs are not able to correctly recognize > > the metadata. See H.222, 2.6.58 Metadata pointer descriptor. > > > > putstr8() is modified in order to allow to skip writing the string > > length. > > --- > > libavformat/mpegtsenc.c | 24 ++-- > > 1 file changed, 14 insertions(+), 10 deletions(-) > > > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c > > index b437100..6f40615 100644 > > --- a/libavformat/mpegtsenc.c > > +++ b/libavformat/mpegtsenc.c > > @@ -256,7 +256,7 @@ static void mpegts_write_pat(AVFormatContext *s) > > } > > > > /* NOTE: !str is accepted for an empty string */ > > -static void putstr8(uint8_t **q_ptr, const char *str) > > +static void putstr8(uint8_t **q_ptr, const char *str, int write_len) > > breaks build, putstr8() seems after the place where a use is added > in git master, or i did somehing silly Another patch is needed (already approved, but doesn't make sense without this other patch), in attachment. -- FFmpeg = Funny and Fancy Mournful Puristic Evil Glue >From 6948454eb19676639a3b403c48774af2a133ed29 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 12 Apr 2016 18:14:45 +0200 Subject: [PATCH] lavf/mpegtsenc: move putstr8 definition up This allows to use the function in a future commit. --- libavformat/mpegtsenc.c | 34 +- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index fd849e5..b437100 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -255,6 +255,23 @@ static void mpegts_write_pat(AVFormatContext *s) data, q - data); } +/* NOTE: !str is accepted for an empty string */ +static void putstr8(uint8_t **q_ptr, const char *str) +{ +uint8_t *q; +int len; + +q = *q_ptr; +if (!str) +len = 0; +else +len = strlen(str); +*q++ = len; +memcpy(q, str, len); +q += len; +*q_ptr = q; +} + static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) { MpegTSWrite *ts = s->priv_data; @@ -637,23 +654,6 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) return 0; } -/* NOTE: !str is accepted for an empty string */ -static void putstr8(uint8_t **q_ptr, const char *str) -{ -uint8_t *q; -int len; - -q = *q_ptr; -if (!str) -len = 0; -else -len = strlen(str); -*q++ = len; -memcpy(q, str, len); -q += len; -*q_ptr = q; -} - static void mpegts_write_sdt(AVFormatContext *s) { MpegTSWrite *ts = s->priv_data; -- 1.9.1 >From 20f22c426a9f5c59d28f66a17b59d62301503d67 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 12 Apr 2016 18:16:21 +0200 Subject: [PATCH] lavf/mpegtsenc: write metadata descriptor for timed ID3 packets This is required since some programs are not able to correctly recognize the metadata. See H.222, 2.6.58 Metadata pointer descriptor. putstr8() is modified in order to allow to skip writing the string length. --- libavformat/mpegtsenc.c | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index b437100..6f40615 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -256,7 +256,7 @@ static void mpegts_write_pat(AVFormatContext *s) } /* NOTE: !str is accepted for an empty string */ -static void putstr8(uint8_t **q_ptr, const char *str) +static void putstr8(uint8_t **q_ptr, const