Re: [FFmpeg-devel] [PATCH]Support for Frame Doubling/ Tripling in FFMPEG's HEVC Decoder by parsing the picture_struct SEI value (Support for http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.h

2019-08-02 Thread Michael Niedermayer
On Thu, Aug 01, 2019 at 12:46:21PM +, Praveen Kumar wrote:
> Hi,
> 
> This patch has the implementation for frame duplication (doubling/ tripling) 
> in FFmpeg's HEVC decoder based on the picture_structre SEI value (7 for 
> doubling and 8 for tripling) set while encoding.
> This addresses the requirement mentioned in the thread 
> http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.html
> 
> Thanks & Regards,
> Praveen

>  hevc_parser.c |   29 +
>  hevc_sei.c|6 ++
>  hevc_sei.h|   15 +++
>  hevcdec.c |8 
>  4 files changed, 58 insertions(+)
> 1acaad49a85cde86f32440d05b764ca2304887cd  
> Support-for-Frame-Doubling-Tripling-in-FFMPEG-HEVC-Decoder.patch
> From 6b602399c68ce7062d8c2aefee9b3814be3f3b0e Mon Sep 17 00:00:00 2001
> From: Praveen Karadugattu 
> Date: Thu, 1 Aug 2019 17:47:36 +0530
> Subject: [PATCH] Support for Frame Doubling/ Tripling in FFMPEG's HEVC Decoder
>  by parsing the picture_struct SEI value (Support for
>  http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.html)

Breaks hevc fate tests

TESThevc-conformance-WP_MAIN10_B_Toshiba_3
--- ./tests/ref/fate/hevc-conformance-WP_MAIN10_B_Toshiba_3 2019-07-31 
21:32:01.464064534 +0200
+++ tests/data/fate/hevc-conformance-WP_MAIN10_B_Toshiba_3  2019-08-02 
10:55:39.707488117 +0200
@@ -4,258 +4,131 @@
 #dimensions 0: 416x240
 #sar 0: 0/1
 0,  0,  0,1,   299520, 0x6ecba46b
-0,  1,  1,1,   299520, 0x54e6ef0a
-0,  2,  2,1,   299520, 0x7a4d46c5
-0,  3,  3,1,   299520, 0xccd57f4e
-0,  4,  4,1,   299520, 0xbe0cb48d
-0,  5,  5,1,   299520, 0x10e7b49f
-0,  6,  6,1,   299520, 0x81aa72e2
-0,  7,  7,1,   299520, 0x5bf7b51f
-0,  8,  8,1,   299520, 0xfcedee4a
-0,  9,  9,1,   299520, 0x586c99b6
-0, 10, 10,1,   299520, 0x414ca13c
-0, 11, 11,1,   299520, 0x3f0162f2
-0, 12, 12,1,   299520, 0x4d450c05
-0, 13, 13,1,   299520, 0x0a58bd84
-0, 14, 14,1,   299520, 0x26e8394d
-0, 15, 15,1,   299520, 0xfd78121b
-0, 16, 16,1,   299520, 0x6afeaf44
-0, 17, 17,1,   299520, 0x3e9a9270
-0, 18, 18,1,   299520, 0x58b889ca
-0, 19, 19,1,   299520, 0x0245ba62
-0, 20, 20,1,   299520, 0xddecc5ab
-0, 21, 21,1,   299520, 0x32cf3cd9
-0, 22, 22,1,   299520, 0x5c0a0440
-0, 23, 23,1,   299520, 0x9d3e2fee
-0, 24, 24,1,   299520, 0x2894c708
-0, 25, 25,1,   299520, 0x25be67d5
-0, 26, 26,1,   299520, 0xe3ece9d6
-0, 27, 27,1,   299520, 0xcc98e38b
-0, 28, 28,1,   299520, 0xc448c794
-0, 29, 29,1,   299520, 0xb4f75575
-0, 30, 30,1,   299520, 0xac74a437
-0, 31, 31,1,   299520, 0x09c7f2e2
-0, 32, 32,1,   299520, 0xbfaed8ab
-0, 33, 33,1,   299520, 0xb077d700
-0, 34, 34,1,   299520, 0x6efa0545
-0, 35, 35,1,   299520, 0xb8c1802d
-0, 36, 36,1,   299520, 0x794774f8
-0, 37, 37,1,   299520, 0x1098f4ff
-0, 38, 38,1,   299520, 0x80ab8bfc
-0, 39, 39,1,   299520, 0xc324c3bc
-0, 40, 40,1,   299520, 0x1eee77cd
-0, 41, 41,1,   299520, 0x7147e72e
-0, 42, 42,1,   299520, 0x1a34883c
-0, 43, 43,1,   299520, 0x74e93e31
-0, 44, 44,1,   299520, 0x89410382
-0, 45, 45,1,   299520, 0xfcce0ce1
-0, 46, 46,1,   299520, 0x07bb33c6
-0, 47, 47,1,   299520, 0xc1ee7318
-0, 48, 48,1,   299520, 0xd1c4bd2d
-0, 49, 49,1,   299520, 0xa670cfae
-0, 50, 50,1,   299520, 0x718de79b
-0, 51, 51,1,   299520, 0x85e40b78
-0, 52, 52,1,   299520, 0x15362e72
-0, 53, 53,1,   299520, 0xc6e523fa
-0, 54, 54,1,   299520, 0x3e536edd
-0, 55, 55,1,   299520, 0x9312996e
-0, 56, 56,1,   299520, 0x9456d53c
-0, 57, 57,1,   299520, 0x7bc01398
-0, 58, 58,1,   299520, 0x5a40bcb4
-0, 59, 59,1,   299520, 0xcfe126ce
-0, 60, 60,1,   

Re: [FFmpeg-devel] [PATCH]Support for Frame Doubling/ Tripling in FFMPEG's HEVC Decoder by parsing the picture_struct SEI value (Support for http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.h

2019-08-01 Thread Devin Heitmueller
> On Aug 1, 2019, at 8:46 AM, Praveen Kumar  wrote:
> 
> Hi,
> 
> This patch has the implementation for frame duplication (doubling/ tripling) 
> in FFmpeg's HEVC decoder based on the picture_structre SEI value (7 for 
> doubling and 8 for tripling) set while encoding.
> This addresses the requirement mentioned in the thread 
> http://ffmpeg.org/pipermail/ffmpeg-devel/2019-June/245521.html
> 
> Thanks & Regards,
> Praveen
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Hi Praveen,

Thanks for your contribution.   If somebody wants to get pic_timing modes 1/2 
working as well in ffmpeg's HEVC decoder, I can probably get that work 
sponsored.  I wrote a libavfilter module to recombine the fields and work 
around the issue, but it would obviously be much better if the decoder did it 
properly to begin with (and there’s no way my filter approach would be accepted 
upstream).

If we could get this done, it would result in ffmpeg properly decoding 
interlaced streams generated by x265, as well as fixing the issue with VLC 
playing the streams at half vertical resolution and twice the frame rate (since 
VLC relies on libavcodec for HEVC decoding).

There is at least one other commercial HEVC encoder I’ve seen which puts out 
modes 11/12 and hence that would be useful as well.  I suspect supporting that 
would be a relatively small incremental step from making modes 1/2 work.

Reach out to me privately if anybody is interested in doing such a project.

Devin

---
Devin Heitmueller - LTN Global Communications
dheitmuel...@ltnglobal.com
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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