[FFmpeg-cvslog] doc/general: merge dupe ProRes entries
ffmpeg | branch: master | Paul B Mahol | Tue Jun 23 15:53:45 2020 +0200| [c949de24496793f87f089d963fe0fa86097852ba] | committer: Paul B Mahol doc/general: merge dupe ProRes entries While here add missing fourcc. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c949de24496793f87f089d963fe0fa86097852ba --- doc/general.texi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/general.texi b/doc/general.texi index 3c5725f4d3..8cfad1699a 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -803,6 +803,7 @@ following image formats are supported: @item Apple MJPEG-B @tab @tab X @item Apple Pixlet @tab @tab X @item Apple ProRes @tab X @tab X +@tab fourcc: apch,apcn,apcs,apco,ap4h,ap4x @item Apple QuickDraw@tab @tab X @tab fourcc: qdrw @item Asus v1@tab X @tab X @@ -987,8 +988,6 @@ following image formats are supported: @tab encoding supported through external library libvpx @item Pinnacle TARGA CineWave YUV16 @tab @tab X @tab fourcc: Y216 -@item Prores @tab @tab X -@tab fourcc: apch,apcn,apcs,apco @item Q-team QPEG@tab @tab X @tab fourccs: QPEG, Q1.0, Q1.1 @item QuickTime 8BPS video @tab @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] doc/general: mention BT20 decoder
ffmpeg | branch: master | Paul B Mahol | Tue Jun 23 16:04:31 2020 +0200| [f719cacbd995e0424cd92dec397fe1764d969826] | committer: Paul B Mahol doc/general: mention BT20 decoder > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f719cacbd995e0424cd92dec397fe1764d969826 --- doc/general.texi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/general.texi b/doc/general.texi index 8cfad1699a..ea34b963b5 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -836,6 +836,8 @@ following image formats are supported: @item BitJazz SheerVideo @tab @tab X @item Bitmap Brothers JV video @tab @tab X @item y41p Brooktree uncompressed 4:1:1 12-bit @tab X @tab X +@item Brooktree ProSumer Video @tab @tab X +@tab fourcc: BT20 @item Brute Force & Ignorance @tab @tab X @tab Used in the game Flash Traffic: City of Angels. @item C93 video @tab @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] doc/general: mention NotchLC
ffmpeg | branch: master | Paul B Mahol | Tue Jun 23 15:51:13 2020 +0200| [eef0765236aa7f434acfded636909062bffb0503] | committer: Paul B Mahol doc/general: mention NotchLC > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=eef0765236aa7f434acfded636909062bffb0503 --- doc/general.texi | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/general.texi b/doc/general.texi index 9b0ee96752..3c5725f4d3 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -968,6 +968,7 @@ following image formats are supported: @item MPEG-4 part 2 Microsoft variant version 3 @tab X @tab X @item Newtek SpeedHQ @tab @tab X @item Nintendo Gamecube THP video @tab @tab X +@item NotchLC@tab @tab X @item NuppelVideo/RTjpeg @tab @tab X @tab Video encoding used in NuppelVideo files. @item On2 VP3@tab @tab X ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] avfilter/vf_v360: add orthographic projection support
ffmpeg | branch: master | Paul B Mahol | Mon Jun 22 20:16:22 2020 +0200| [00a5df71ad9d24b90edf8cc6b67d24409510bb64] | committer: Paul B Mahol avfilter/vf_v360: add orthographic projection support > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00a5df71ad9d24b90edf8cc6b67d24409510bb64 --- doc/filters.texi | 20 libavfilter/v360.h| 1 + libavfilter/vf_v360.c | 137 +- 3 files changed, 156 insertions(+), 2 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 1a55f3df72..3c2dd2eb90 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -19340,6 +19340,26 @@ If diagonal field of view is set it overrides horizontal and vertical field of v @item id_fov Set input horizontal/vertical/diagonal field of view. Values in degrees. +If diagonal field of view is set it overrides horizontal and vertical field of view. +@end table + +@item og +Orthographic format. + +Format specific options: +@table @option +@item h_fov +@item v_fov +@item d_fov +Set output horizontal/vertical/diagonal field of view. Values in degrees. + +If diagonal field of view is set it overrides horizontal and vertical field of view. + +@item ih_fov +@item iv_fov +@item id_fov +Set input horizontal/vertical/diagonal field of view. Values in degrees. + If diagonal field of view is set it overrides horizontal and vertical field of view. @end table @end table diff --git a/libavfilter/v360.h b/libavfilter/v360.h index 337e74b410..7fbbecf691 100644 --- a/libavfilter/v360.h +++ b/libavfilter/v360.h @@ -52,6 +52,7 @@ enum Projections { TSPYRAMID, HEQUIRECTANGULAR, EQUISOLID, +ORTHOGRAPHIC, NB_PROJECTIONS, }; diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index f892e0321f..a056b76cb6 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -82,6 +82,7 @@ static const AVOption v360_options[] = { { "hequirect", "half equirectangular", 0, AV_OPT_TYPE_CONST, {.i64=HEQUIRECTANGULAR},0, 0, FLAGS, "in" }, {"he", "half equirectangular", 0, AV_OPT_TYPE_CONST, {.i64=HEQUIRECTANGULAR},0, 0, FLAGS, "in" }, { "equisolid", "equisolid", 0, AV_OPT_TYPE_CONST, {.i64=EQUISOLID}, 0, 0, FLAGS, "in" }, +{"og", "orthographic", 0, AV_OPT_TYPE_CONST, {.i64=ORTHOGRAPHIC},0, 0, FLAGS, "in" }, {"output", "set output projection",OFFSET(out), AV_OPT_TYPE_INT,{.i64=CUBEMAP_3_2}, 0,NB_PROJECTIONS-1, FLAGS, "out" }, { "e", "equirectangular",0, AV_OPT_TYPE_CONST, {.i64=EQUIRECTANGULAR}, 0, 0, FLAGS, "out" }, { "equirect", "equirectangular",0, AV_OPT_TYPE_CONST, {.i64=EQUIRECTANGULAR}, 0, 0, FLAGS, "out" }, @@ -110,6 +111,7 @@ static const AVOption v360_options[] = { { "hequirect", "half equirectangular", 0, AV_OPT_TYPE_CONST, {.i64=HEQUIRECTANGULAR},0, 0, FLAGS, "out" }, {"he", "half equirectangular", 0, AV_OPT_TYPE_CONST, {.i64=HEQUIRECTANGULAR},0, 0, FLAGS, "out" }, { "equisolid", "equisolid", 0, AV_OPT_TYPE_CONST, {.i64=EQUISOLID}, 0, 0, FLAGS, "out" }, +{"og", "orthographic", 0, AV_OPT_TYPE_CONST, {.i64=ORTHOGRAPHIC},0, 0, FLAGS, "out" }, {"interp", "set interpolation method", OFFSET(interp), AV_OPT_TYPE_INT,{.i64=BILINEAR},0, NB_INTERP_METHODS-1, FLAGS, "interp" }, { "near", "nearest neighbour", 0, AV_OPT_TYPE_CONST, {.i64=NEAREST}, 0, 0, FLAGS, "interp" }, { "nearest", "nearest neighbour", 0, AV_OPT_TYPE_CONST, {.i64=NEAREST}, 0, 0, FLAGS, "interp" }, @@ -1832,8 +1834,8 @@ static int prepare_equisolid_out(AVFilterContext *ctx) { V360Context *s = ctx->priv; -s->flat_range[0] = sinf(FFMIN(s->h_fov, 359.f) * M_PI / 720.f); -s->flat_range[1] = sinf(FFMIN(s->v_fov, 359.f) * M_PI / 720.f); +s->flat_range[0] = sinf(s->h_fov * M_PI / 720.f); +s->flat_range[1] = sinf(s->v_fov * M_PI / 720.f); return 0; } @@ -1927,6 +1929,111 @@ static int xyz_to_equisolid(const V360Context *s, return visible; } +/** + * Prepare data for processing orthographic output format. + * + * @param ctx filter context + * + * @return error code + */ +static int prepare_orthographic_out(AVFilterContext *ctx) +{ +V360Context *s = ctx->priv; + +s->flat_range[0] = sinf(FFMIN(s->h_fov, 180.f) * M_PI / 360.f); +s->flat_range[1] = sinf(FFMIN(s->v_fov, 180.
[FFmpeg-cvslog] lavc: Lower MediaFoundation audio encoder priority.
ffmpeg | branch: master | Carl Eugen Hoyos | Tue Jun 23 20:41:46 2020 +0200| [13db5061ff3c0ff0ad29294e276f7829d3456f5b] | committer: Carl Eugen Hoyos lavc: Lower MediaFoundation audio encoder priority. The actual encoders may not be available. Fixes ticket #8699. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=13db5061ff3c0ff0ad29294e276f7829d3456f5b --- libavcodec/allcodecs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 80f128cade..fa0c08d42e 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -679,9 +679,7 @@ extern AVCodec ff_xsub_decoder; /* external libraries */ extern AVCodec ff_aac_at_encoder; extern AVCodec ff_aac_at_decoder; -extern AVCodec ff_aac_mf_encoder; extern AVCodec ff_ac3_at_decoder; -extern AVCodec ff_ac3_mf_encoder; extern AVCodec ff_adpcm_ima_qt_at_decoder; extern AVCodec ff_alac_at_encoder; extern AVCodec ff_alac_at_decoder; @@ -693,7 +691,6 @@ extern AVCodec ff_ilbc_at_decoder; extern AVCodec ff_mp1_at_decoder; extern AVCodec ff_mp2_at_decoder; extern AVCodec ff_mp3_at_decoder; -extern AVCodec ff_mp3_mf_encoder; extern AVCodec ff_pcm_alaw_at_encoder; extern AVCodec ff_pcm_alaw_at_decoder; extern AVCodec ff_pcm_mulaw_at_encoder; @@ -757,6 +754,8 @@ extern AVCodec ff_idf_decoder; /* external libraries, that shouldn't be used by default if one of the * above is available */ +extern AVCodec ff_aac_mf_encoder; +extern AVCodec ff_ac3_mf_encoder; extern AVCodec ff_h263_v4l2m2m_encoder; extern AVCodec ff_libaom_av1_decoder; extern AVCodec ff_libopenh264_encoder; @@ -789,6 +788,7 @@ extern AVCodec ff_mjpeg_cuvid_decoder; extern AVCodec ff_mjpeg_qsv_encoder; extern AVCodec ff_mjpeg_qsv_decoder; extern AVCodec ff_mjpeg_vaapi_encoder; +extern AVCodec ff_mp3_mf_encoder; extern AVCodec ff_mpeg1_cuvid_decoder; extern AVCodec ff_mpeg2_cuvid_decoder; extern AVCodec ff_mpeg2_qsv_encoder; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] avcodec/ccaption_dec: add support for background colors
ffmpeg | branch: master | Paul B Mahol | Sun Jun 21 14:21:46 2020 +0200| [001748b326f907f6bb0004378e72c64f7a7c4697] | committer: Paul B Mahol avcodec/ccaption_dec: add support for background colors > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=001748b326f907f6bb0004378e72c64f7a7c4697 --- libavcodec/ccaption_dec.c | 68 --- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c index c971c91693..a208e19b95 100644 --- a/libavcodec/ccaption_dec.c +++ b/libavcodec/ccaption_dec.c @@ -169,6 +169,18 @@ static const char *charset_overrides[4][128] = }, }; +static const unsigned char bg_attribs[8] = // Color +{ +CCCOL_WHITE, +CCCOL_GREEN, +CCCOL_BLUE, +CCCOL_CYAN, +CCCOL_RED, +CCCOL_YELLOW, +CCCOL_MAGENTA, +CCCOL_BLACK, +}; + static const unsigned char pac2_attribs[32][3] = // Color, font, ident { { CCCOL_WHITE, CCFONT_REGULAR,0 }, // 0x40 || 0x60 @@ -211,6 +223,7 @@ struct Screen { uint8_t characters[SCREEN_ROWS+1][SCREEN_COLUMNS+1]; uint8_t charsets[SCREEN_ROWS+1][SCREEN_COLUMNS+1]; uint8_t colors[SCREEN_ROWS+1][SCREEN_COLUMNS+1]; +uint8_t bgs[SCREEN_ROWS+1][SCREEN_COLUMNS+1]; uint8_t fonts[SCREEN_ROWS+1][SCREEN_COLUMNS+1]; /* * Bitmask of used rows; if a bit is not set, the @@ -230,6 +243,7 @@ typedef struct CCaptionSubContext { uint8_t cursor_row; uint8_t cursor_column; uint8_t cursor_color; +uint8_t bg_color; uint8_t cursor_font; uint8_t cursor_charset; AVBPrint buffer[2]; @@ -253,6 +267,7 @@ static av_cold int init_decoder(AVCodecContext *avctx) av_bprint_init(&ctx->buffer[1], 0, AV_BPRINT_SIZE_UNLIMITED); /* taking by default roll up to 2 */ ctx->mode = CCMODE_ROLLUP; +ctx->bg_color = CCCOL_BLACK; ctx->rollup = 2; ctx->cursor_row = 10; ret = ff_ass_subtitle_header(avctx, "Monospace", @@ -292,6 +307,7 @@ static void flush_decoder(AVCodecContext *avctx) ctx->cursor_column = 0; ctx->cursor_font = 0; ctx->cursor_color = 0; +ctx->bg_color = CCCOL_BLACK; ctx->cursor_charset = 0; ctx->active_screen = 0; ctx->last_real_time = 0; @@ -312,12 +328,14 @@ static void write_char(CCaptionSubContext *ctx, struct Screen *screen, char ch) char *row = screen->characters[ctx->cursor_row]; char *font = screen->fonts[ctx->cursor_row]; char *color = screen->colors[ctx->cursor_row]; +char *bg = screen->bgs[ctx->cursor_row]; char *charset = screen->charsets[ctx->cursor_row]; if (col < SCREEN_COLUMNS) { row[col] = ch; font[col] = ctx->cursor_font; color[col] = ctx->cursor_color; +bg[col] = ctx->bg_color; charset[col] = ctx->cursor_charset; ctx->cursor_charset = CCSET_BASIC_AMERICAN; if (ch) ctx->cursor_column++; @@ -415,6 +433,7 @@ static void roll_up(CCaptionSubContext *ctx) memcpy(screen->characters[i_row], screen->characters[i_row+1], SCREEN_COLUMNS); memcpy(screen->colors[i_row], screen->colors[i_row+1], SCREEN_COLUMNS); +memcpy(screen->bgs[i_row], screen->bgs[i_row+1], SCREEN_COLUMNS); memcpy(screen->fonts[i_row], screen->fonts[i_row+1], SCREEN_COLUMNS); memcpy(screen->charsets[i_row], screen->charsets[i_row+1], SCREEN_COLUMNS); if (CHECK_FLAG(screen->row_used, i_row + 1)) @@ -430,6 +449,7 @@ static int capture_screen(CCaptionSubContext *ctx) struct Screen *screen = ctx->screen + ctx->active_screen; enum cc_font prev_font = CCFONT_REGULAR; enum cc_color_code prev_color = CCCOL_WHITE; +enum cc_color_code prev_bg_color = CCCOL_BLACK; const int bidx = ctx->buffer_index; av_bprint_clear(&ctx->buffer[bidx]); @@ -452,6 +472,7 @@ static int capture_screen(CCaptionSubContext *ctx) if (CHECK_FLAG(screen->row_used, i)) { const char *row = screen->characters[i]; const char *font = screen->fonts[i]; +const char *bg = screen->bgs[i]; const char *color = screen->colors[i]; const char *charset = screen->charsets[i]; const char *override; @@ -467,7 +488,7 @@ static int capture_screen(CCaptionSubContext *ctx) av_bprintf(&ctx->buffer[bidx], "{\\an7}{\\pos(%d,%d)}", x, y); for (; j < SCREEN_COLUMNS; j++) { -const char *e_tag = "", *s_tag = "", *c_tag = ""; +const char *e_tag = "", *s_tag = "", *c_tag = "", *b_tag = ""; if (row[j] == 0) break; @@ -521,17 +542,46 @@ static int capture_screen(CCaptionSubContext *ctx) break; } } +if (prev_bg_color != bg[j]) { +switch (bg[j]) { +case CCCOL_WHITE: +b_tag = "{\\3c&HFF&}"; +
[FFmpeg-cvslog] avfilter/vf_v360: do not ignore return value of allocate_plane()
ffmpeg | branch: master | Paul B Mahol | Tue Jun 23 21:53:39 2020 +0200| [ce297b44d3b107150c07017993c267a4b9bb41b0] | committer: Paul B Mahol avfilter/vf_v360: do not ignore return value of allocate_plane() > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ce297b44d3b107150c07017993c267a4b9bb41b0 --- libavfilter/vf_v360.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_v360.c b/libavfilter/vf_v360.c index a056b76cb6..c021724fa3 100644 --- a/libavfilter/vf_v360.c +++ b/libavfilter/vf_v360.c @@ -4493,8 +4493,11 @@ static int config_output(AVFilterLink *outlink) s->map[1] = s->map[2] = 1; } -for (int i = 0; i < s->nb_allocated; i++) -allocate_plane(s, sizeof_uv, sizeof_ker, sizeof_mask * have_alpha * s->alpha, i); +for (int i = 0; i < s->nb_allocated; i++) { +err = allocate_plane(s, sizeof_uv, sizeof_ker, sizeof_mask * have_alpha * s->alpha, i); +if (err < 0) +return err; +} calculate_rotation_matrix(s->yaw, s->pitch, s->roll, s->rot_mat, s->rotation_order); set_mirror_modifier(s->h_flip, s->v_flip, s->d_flip, s->output_mirror_modifier); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".