Bleibt auch wieder stehen, weil der Archivpatch
ffmpeg-dvbsubs.diff aus Seifes git fehlschlägt:
hier die rejects
Code: Alles auswählen
***************
*** 20,31 ****
*/
#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "colorspace.h"
- //#define DEBUG
//#define DEBUG_PACKET_CONTENTS
//#define DEBUG_SAVE_IMAGES
#define DVBSUB_PAGE_SEGMENT 0x10
#define DVBSUB_REGION_SEGMENT 0x11
--- 20,33 ----
*/
#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "colorspace.h"
+ #include <unistd.h>
+ #define DEBUG
+ //#define DEBUG_CLUT
//#define DEBUG_PACKET_CONTENTS
//#define DEBUG_SAVE_IMAGES
#define DVBSUB_PAGE_SEGMENT 0x10
#define DVBSUB_REGION_SEGMENT 0x11
*************** static int dvbsub_display_end_segment(AV
*** 1282,1291 ****
AVSubtitleRect *rect;
DVBSubCLUT *clut;
uint32_t *clut_table;
int i;
sub->rects = NULL;
sub->start_display_time = 0;
sub->end_display_time = ctx->time_out * 1000;
sub->format = 0;
--- 1292,1304 ----
AVSubtitleRect *rect;
DVBSubCLUT *clut;
uint32_t *clut_table;
int i;
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "************** dvbsub_display_end_segment ******************\n");
+ #endif
sub->rects = NULL;
sub->start_display_time = 0;
sub->end_display_time = ctx->time_out * 1000;
sub->format = 0;
*************** static int dvbsub_decode(AVCodecContext
*** 1438,1462 ****
page_id = AV_RB16(p);
p += 2;
segment_length = AV_RB16(p);
p += 2;
- if (page_id == ctx->composition_id || page_id == ctx->ancillary_id) {
switch (segment_type) {
case DVBSUB_PAGE_SEGMENT:
dvbsub_parse_page_segment(avctx, p, segment_length);
break;
case DVBSUB_REGION_SEGMENT:
dvbsub_parse_region_segment(avctx, p, segment_length);
break;
case DVBSUB_CLUT_SEGMENT:
dvbsub_parse_clut_segment(avctx, p, segment_length);
break;
case DVBSUB_OBJECT_SEGMENT:
dvbsub_parse_object_segment(avctx, p, segment_length);
break;
case DVBSUB_DISPLAY_SEGMENT:
*data_size = dvbsub_display_end_segment(avctx, p, segment_length, sub);
break;
default:
dprintf(avctx, "Subtitling segment type 0x%x, page id %d, length %d\n",
segment_type, page_id, segment_length);
--- 1458,1503 ----
page_id = AV_RB16(p);
p += 2;
segment_length = AV_RB16(p);
p += 2;
+ //if (page_id == ctx->composition_id || page_id == ctx->ancillary_id)
+ {
switch (segment_type) {
case DVBSUB_PAGE_SEGMENT:
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "DVBSUB_PAGE_SEGMENT: page id %d, length %d (composition_id %d ancillary_id %d)\n",
+ page_id, segment_length, ctx->composition_id, ctx->ancillary_id);
+ #endif
dvbsub_parse_page_segment(avctx, p, segment_length);
break;
case DVBSUB_REGION_SEGMENT:
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "DVBSUB_REGION_SEGMENT: page id %d, length %d (composition_id %d ancillary_id %d)\n",
+ page_id, segment_length, ctx->composition_id, ctx->ancillary_id);
+ #endif
dvbsub_parse_region_segment(avctx, p, segment_length);
break;
case DVBSUB_CLUT_SEGMENT:
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "DVBSUB_CLUT_SEGMENT: page id %d, length %d (composition_id %d ancillary_id %d)\n",
+ page_id, segment_length, ctx->composition_id, ctx->ancillary_id);
+ #endif
dvbsub_parse_clut_segment(avctx, p, segment_length);
break;
case DVBSUB_OBJECT_SEGMENT:
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "DVBSUB_OBJECT_SEGMENT: page id %d, length %d (composition_id %d ancillary_id %d)\n",
+ page_id, segment_length, ctx->composition_id, ctx->ancillary_id);
+ #endif
dvbsub_parse_object_segment(avctx, p, segment_length);
break;
case DVBSUB_DISPLAY_SEGMENT:
+ #ifdef DEBUG
+ av_log(avctx, AV_LOG_INFO, "DVBSUB_DISPLAY_SEGMENT: page id %d, length %d (composition_id %d ancillary_id %d)\n",
+ page_id, segment_length, ctx->composition_id, ctx->ancillary_id);
+ #endif
*data_size = dvbsub_display_end_segment(avctx, p, segment_length, sub);
break;
default:
dprintf(avctx, "Subtitling segment type 0x%x, page id %d, length %d\n",
segment_type, page_id, segment_length);
mit dem geänderten Diff gings dann weiter:
ffmpeg-dvbsubs.diff
Immerhin wird schon mal versucht Neutrino zu bauen, aber da steht der Kram wieder:
Code: Alles auswählen
make[4]: Entering directory `/home/dbt/coolstream/cs-neutrino/build_tmp/neutrino-hd/lib/libdvbsub'
arm-cx2450x-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I/home/dbt/coolstream/cs-neutrino/source/neutrino-hd/lib/libdvbsub -I../.. -I/home/dbt/coolstream/cs-neutrino/source/neutrino-hd/src/zapit/include -I/home/dbt/coolstream/cs-neutrino/source/neutrino-hd/src -I/home/dbt/coolstream/cs-neutrino/source/neutrino-hd/lib/libcoolstream -fno-rtti -fno-exceptions -Wall -W -Wshadow -g -O2 -D__KERNEL_STRICT_NAMES -DUSE_NEVIS_GXA -DUSE_SPACE_EFFICIENTLY -I/home/dbt/coolstream/cs-neutrino/root/include -I/home/dbt/coolstream/cs-neutrino/root/include/freetype2 -MT dvbsub.o -MD -MP -MF .deps/dvbsub.Tpo -c -o dvbsub.o /home/dbt/coolstream/cs-neutrino/source/neutrino-hd/lib/libdvbsub/dvbsub.cpp
In file included from /home/dbt/coolstream/cs-neutrino/root/include/libavutil/avutil.h:81,
from /home/dbt/coolstream/cs-neutrino/root/include/libavcodec/avcodec.h:30,
from /home/dbt/coolstream/cs-neutrino/root/include/libavformat/avformat.h:56,
from /home/dbt/coolstream/cs-neutrino/source/neutrino-hd/lib/libdvbsub/dvbsubtitle.h:20,
from /home/dbt/coolstream/cs-neutrino/source/neutrino-hd/lib/libdvbsub/dvbsub.cpp:17:
/home/dbt/coolstream/cs-neutrino/root/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)':
/home/dbt/coolstream/cs-neutrino/root/include/libavutil/common.h:161: error: 'UINT64_C' was not declared in this scope
make[4]: *** [dvbsub.o] Fehler 1
make[4]: Leaving directory `/home/dbt/coolstream/cs-neutrino/build_tmp/neutrino-hd/lib/libdvbsub'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/dbt/coolstream/cs-neutrino/build_tmp/neutrino-hd/lib'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/dbt/coolstream/cs-neutrino/build_tmp/neutrino-hd'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/dbt/coolstream/cs-neutrino/build_tmp/neutrino-hd'
make: *** [/home/dbt/coolstream/cs-neutrino/deps/neutrino] Fehler 2
dbt@linux-11-1:~/coolstream/cs-neutrino>